// DlgAlignPositionInfo.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù.
|
//
|
|
#include "stdafx.h"
|
#include "ReviewSystemSetting.h"
|
#include "DlgAlignPositionInfo.h"
|
#include "afxdialogex.h"
|
|
|
#include "ReviewSystemSettingDlg.h"
|
#include "CHReviewSetting/Sys_MotorManager.h"
|
#include "CHReviewSetting/Sys_GlassTypeManager.h"
|
#include "CHReviewSetting/Sys_SystemManager.h"
|
#include "CHReviewSetting/Sys_AlignManager.h"
|
#include "CHCommonControls/GridCellCheck.h"
|
#include "CHCommonControls/GridCellCombo.h"
|
#include "DlgAlignPositionInfo.h"
|
|
// CDlgAlignPositionInfo ´ëÈ »óÀÚÀÔ´Ï´Ù.
|
|
IMPLEMENT_DYNAMIC(CDlgAlignPositionInfo, CDialog)
|
|
CDlgAlignPositionInfo::CDlgAlignPositionInfo(CWnd* pParent /*=NULL*/)
|
: CDialog(CDlgAlignPositionInfo::IDD, pParent)
|
{
|
m_nGlassTypeIdx = -1;
|
}
|
|
CDlgAlignPositionInfo::~CDlgAlignPositionInfo()
|
{
|
}
|
|
void CDlgAlignPositionInfo::DoDataExchange(CDataExchange* pDX)
|
{
|
CDialog::DoDataExchange(pDX);
|
DDX_Control(pDX, IDC_GRID_ALIGN_POSITION_INFO, m_ctrlAlignPositionInfo);
|
}
|
|
|
BEGIN_MESSAGE_MAP(CDlgAlignPositionInfo, CDialog)
|
ON_BN_CLICKED(IDOK, &CDlgAlignPositionInfo::OnBnClickedOk)
|
END_MESSAGE_MAP()
|
|
|
// CDlgAlignPositionInfo ¸Þ½ÃÁö 󸮱âÀÔ´Ï´Ù.
|
|
|
BOOL CDlgAlignPositionInfo::OnInitDialog()
|
{
|
CDialog::OnInitDialog();
|
|
// TODO: ¿©±â¿¡ Ãß°¡ ÃʱâÈ ÀÛ¾÷À» Ãß°¡ÇÕ´Ï´Ù.
|
|
InitGridAlignPositionInfo();
|
|
this->SetWindowText(_T("Align Position Setting"));
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
// ¿¹¿Ü: OCX ¼Ó¼º ÆäÀÌÁö´Â FALSE¸¦ ¹ÝÈ¯ÇØ¾ß ÇÕ´Ï´Ù.
|
}
|
|
|
void CDlgAlignPositionInfo::InitGridAlignPositionInfo()
|
{
|
CReviewSystemSettingDlg* pDlg = (CReviewSystemSettingDlg*)AfxGetMainWnd();
|
if(pDlg == NULL) return;
|
CSys_GlassTypeManager* pGlassTypeManager = pDlg->GetGlassTypeManager();
|
if(pGlassTypeManager == NULL) return;
|
CGlassTypeInfo* pGlassTypeInfo = pGlassTypeManager->GetGlassTypeInfo(m_nGlassTypeIdx);
|
if(pGlassTypeInfo == NULL) return;
|
|
int nRowIdx, nColIdx, nRows, nCols, nFixRows, nFixCols;
|
CString strTemp;
|
CRect rt;
|
|
//nRows = pGlassTypeInfo->GetAlignPositionInfoCount() + 1;
|
nRows = 6;
|
nCols = ALIGN_CAMERA_COUNT + 1;//m_nVecCameraNumber.size() * 3 + 1;//m_nTotalCameraNumb*3+1;//MOTOR_GRID_COL_COUNT;
|
nFixRows = 1;
|
nFixCols = 1;
|
nRowIdx = 0;
|
nColIdx = 0;
|
|
|
CFont font;
|
VERIFY(font.CreateFont(
|
16, // nHeight
|
5, // nWidth
|
0, // nEscapement
|
0, // nOrientation
|
FW_NORMAL, // nWeight
|
FALSE, // bItalic
|
FALSE, // bUnderline
|
0, // cStrikeOut
|
ANSI_CHARSET, // nCharSet
|
OUT_DEFAULT_PRECIS, // nOutPrecision
|
CLIP_DEFAULT_PRECIS, // nClipPrecision
|
DEFAULT_QUALITY, // nQuality
|
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
|
_T("MS Shell Dlg"))); // lpszFacename
|
|
m_ctrlAlignPositionInfo.SetFont(&font);
|
m_ctrlAlignPositionInfo.GetClientRect(&rt);
|
m_ctrlAlignPositionInfo.GetDefaultCell(TRUE, FALSE)->SetBackClr(RGB(180, 210, 247));
|
m_ctrlAlignPositionInfo.GetDefaultCell(FALSE, TRUE)->SetBackClr(RGB(180, 210, 247));;
|
m_ctrlAlignPositionInfo.GetDefaultCell(FALSE, FALSE)->SetBackClr(RGB(255, 255, 255));
|
|
|
m_ctrlAlignPositionInfo.SetRowCount(nRows);
|
m_ctrlAlignPositionInfo.SetColumnCount(nCols);
|
m_ctrlAlignPositionInfo.SetFixedRowCount(nFixRows);
|
m_ctrlAlignPositionInfo.SetFixedColumnCount(nFixCols);
|
|
|
GV_ITEM Item;
|
|
//col
|
Item.mask = GVIF_TEXT;
|
Item.row = nRowIdx++;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Camear Index"));
|
Item.strText = strTemp;
|
m_ctrlAlignPositionInfo.SetItem(&Item);
|
|
Item.row = nRowIdx++;
|
strTemp.Format(_T("Gantry Index"));
|
Item.strText = strTemp;
|
m_ctrlAlignPositionInfo.SetItem(&Item);
|
|
Item.row = nRowIdx++;
|
strTemp.Format(_T("Header Index"));
|
Item.strText = strTemp;
|
m_ctrlAlignPositionInfo.SetItem(&Item);
|
|
Item.row = nRowIdx++;
|
strTemp.Format(_T("Move Type"));
|
Item.strText = strTemp;
|
m_ctrlAlignPositionInfo.SetItem(&Item);
|
|
Item.row = nRowIdx++;
|
strTemp.Format(_T("Align X"));
|
Item.strText = strTemp;
|
m_ctrlAlignPositionInfo.SetItem(&Item);
|
|
Item.row = nRowIdx++;
|
strTemp.Format(_T("Align Y"));
|
Item.strText = strTemp;
|
m_ctrlAlignPositionInfo.SetItem(&Item);
|
|
nRowIdx = 0;
|
nColIdx = 1;
|
CStringArray strArryOptions;
|
strArryOptions.Add(_T("None"));
|
strArryOptions.Add(_T("X Axis"));
|
strArryOptions.Add(_T("Y Axis"));
|
strArryOptions.Add(_T("X,Y Axis"));
|
for(int i = 0; i < ALIGN_CAMERA_COUNT; i++)
|
{
|
Item.row = nRowIdx;
|
Item.col = nColIdx++;
|
strTemp.Format(_T("%02d"),i);
|
Item.strText = strTemp;
|
m_ctrlAlignPositionInfo.SetItem(&Item);
|
m_ctrlAlignPositionInfo.SetCellType(3, i+1, RUNTIME_CLASS(CGridCellCombo));
|
CGridCellCombo* pCellCombo = (CGridCellCombo*)m_ctrlAlignPositionInfo.GetCell(3, i+1);
|
if(pCellCombo)
|
{
|
pCellCombo->SetOptions(strArryOptions);
|
}
|
}
|
|
nColIdx = nRowIdx = 0;
|
strTemp;
|
|
Item.mask = GVIF_TEXT;
|
|
for(int i = 0; i < ALIGN_CAMERA_COUNT; i++)
|
{
|
CAlignPositionInfo* pAlignPositionInfo = pGlassTypeInfo->GetAlignPositionInfo(i);
|
if(pAlignPositionInfo == NULL) continue;
|
|
//col
|
Item.mask = GVIF_TEXT;
|
Item.row = 1;
|
Item.col = i+1;
|
strTemp.Format(_T("%02d"), pAlignPositionInfo->m_nGantryIndex);
|
Item.strText = strTemp;
|
m_ctrlAlignPositionInfo.SetItem(&Item);
|
|
Item.row = 2;
|
strTemp.Format(_T("%02d"), pAlignPositionInfo->m_nHeaderIndex);
|
Item.strText = strTemp;
|
m_ctrlAlignPositionInfo.SetItem(&Item);
|
|
CStringArray strArryOptions;
|
CGridCellCombo* pCellCombo = (CGridCellCombo*)m_ctrlAlignPositionInfo.GetCell(3, i+1);
|
if(pCellCombo)
|
{
|
pCellCombo->GetOptions(strArryOptions);
|
if(pAlignPositionInfo->m_nMoveType < 0)
|
pCellCombo->SetText(strArryOptions.GetAt(0));
|
else
|
pCellCombo->SetText(strArryOptions.GetAt(pAlignPositionInfo->m_nMoveType));
|
}
|
|
Item.row = 4;
|
strTemp.Format(_T("%lf"), pAlignPositionInfo->m_dAlignPosX);
|
Item.strText = strTemp;
|
m_ctrlAlignPositionInfo.SetItem(&Item);
|
|
Item.row = 5;
|
strTemp.Format(_T("%lf"), pAlignPositionInfo->m_dAlignPosY);
|
Item.strText = strTemp;
|
m_ctrlAlignPositionInfo.SetItem(&Item);
|
|
}
|
}
|
|
void CDlgAlignPositionInfo::OnBnClickedOk()
|
{
|
// TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù.
|
CDialog::OnOK();
|
|
CReviewSystemSettingDlg* pDlg = (CReviewSystemSettingDlg*)AfxGetMainWnd();
|
if(pDlg == NULL) return;
|
CSys_GlassTypeManager* pGlassTypeManager = pDlg->GetGlassTypeManager();
|
if(pGlassTypeManager == NULL) return;
|
CGlassTypeInfo* pGlassTypeInfo = pGlassTypeManager->GetGlassTypeInfo(m_nGlassTypeIdx);
|
if(pGlassTypeInfo == NULL) return;
|
|
int nRowIdx, nColIdx;
|
nColIdx = nRowIdx = 0;
|
CString strTemp;
|
GV_ITEM Item;
|
Item.mask = GVIF_TEXT;
|
|
for(int i = 0; i < ALIGN_CAMERA_COUNT; i++)
|
{
|
CAlignPositionInfo* pAlignPositionInfo = pGlassTypeInfo->GetAlignPositionInfo(i);
|
//pAlignPositionInfo = new CAlignPositionInfo();
|
if(pAlignPositionInfo == NULL) continue;
|
strTemp = m_ctrlAlignPositionInfo.GetItemText(1,i+1);
|
pAlignPositionInfo->m_nGantryIndex = (int)_tcstod(strTemp, NULL);
|
|
strTemp = m_ctrlAlignPositionInfo.GetItemText(2,i+1);
|
pAlignPositionInfo->m_nHeaderIndex = (int)_tcstod(strTemp, NULL);
|
|
/*strTemp = m_ctrlAlignPositionInfo.GetItemText(1,i+1);
|
pAlignPositionInfo->m_dAlignPosX = _tcstod(strTemp, NULL);*/
|
CStringArray strArryOptions;
|
CGridCellCombo* pCellCombo = (CGridCellCombo*)m_ctrlAlignPositionInfo.GetCell(3, i+1);
|
if(pCellCombo)
|
{
|
CString strText = pCellCombo->GetText();
|
pCellCombo->GetOptions(strArryOptions);
|
for(int j = 0; j < (int)strArryOptions.GetCount(); j++)
|
{
|
if(strArryOptions.GetAt(j).Compare(strText) == 0)
|
pAlignPositionInfo->m_nMoveType = j;
|
}
|
}
|
|
strTemp = m_ctrlAlignPositionInfo.GetItemText(4,i+1);
|
pAlignPositionInfo->m_dAlignPosX = _tcstod(strTemp, NULL);
|
|
strTemp = m_ctrlAlignPositionInfo.GetItemText(5,i+1);
|
pAlignPositionInfo->m_dAlignPosY = _tcstod(strTemp, NULL);
|
}
|
}
|