// DlgRcpGlassInfo.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù.
|
//
|
|
#include "stdafx.h"
|
#include "ReviewRecipeEditor.h"
|
#include "DlgRcpGlassInfo.h"
|
#include "ReviewRecipeEditorDlg.h"
|
#include "afxdialogex.h"
|
#include "CHReviewRecipe/Rcp_RsAlignManager.h"
|
|
|
IMPLEMENT_DYNAMIC(CDlgRcpGlassInfo, CDialog)
|
|
CDlgRcpGlassInfo::CDlgRcpGlassInfo(CWnd* pParent /*=NULL*/)
|
: CDialog(CDlgRcpGlassInfo::IDD, pParent)
|
, m_nRadioCorrnerDir(0)
|
, m_nRadioOriginDir(0)
|
, m_nRcpGlassTypeCount(0)
|
{
|
for(int i=0; i<4; i++)
|
{
|
DeleteObject(m_BitmapCorner[i]);
|
DeleteObject(m_BitmapSelectCorner[i]);
|
}
|
|
m_nCurrentIndex = -1;
|
}
|
|
CDlgRcpGlassInfo::~CDlgRcpGlassInfo()
|
{
|
}
|
|
void CDlgRcpGlassInfo::DoDataExchange(CDataExchange* pDX)
|
{
|
CDialog::DoDataExchange(pDX);
|
DDX_Radio(pDX, IDC_RADIO_CORRNER_LT, m_nRadioCorrnerDir);
|
DDX_Radio(pDX, IDC_RADIO_ORIGIN_LT, m_nRadioOriginDir);
|
DDX_Control(pDX, IDC_GRID_RCP_GLASS_SETTING_INFO, m_ctrlGridGlassSettingInfo);
|
DDX_Text(pDX, IDC_EDIT_RCP_GLASSTYPEINFO_TYPE_COUNT, m_nRcpGlassTypeCount);
|
}
|
|
|
BEGIN_MESSAGE_MAP(CDlgRcpGlassInfo, CDialog)
|
ON_BN_CLICKED(IDC_BUTTON_RCP_GLASSINFO_RESET, &CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassInfoReset)
|
ON_BN_CLICKED(IDC_BUTTON_RCP_GLASSINFO_APPLY, &CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassInfoApply)
|
ON_CONTROL_RANGE(BN_CLICKED, IDC_RADIO_CORRNER_LT, IDC_RADIO_ORIGIN_RB, OnBnClickedRadio)
|
ON_EN_CHANGE(IDC_EDIT_RCP_GLASSTYPEINFO_TYPE_COUNT, &CDlgRcpGlassInfo::OnEnChangeEditRcpGlasstypeinfoTypeCount)
|
ON_NOTIFY(NM_DBLCLK, IDC_GRID_RCP_GLASS_SETTING_INFO, &CDlgRcpGlassInfo::OnGridDblClick)
|
ON_BN_CLICKED(IDC_BUTTON_RCP_GLASSINFO_FINDALIGN, &CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassinfoFindalign)
|
ON_BN_CLICKED(IDC_BUTTON_RCP_GLASSINFO_MOVE_FIRSTALIGN, &CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassinfoMoveFirstalign)
|
ON_BN_CLICKED(IDC_BUTTON_RCP_GLASSINFO_MOVE_SECONDALIGN, &CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassinfoMoveSecondalign)
|
ON_BN_CLICKED(IDC_BUTTON_RCP_GLASSINFO_CACULATE_ORIGIN, &CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassinfoCaculateOrigin)
|
END_MESSAGE_MAP()
|
|
BOOL CDlgRcpGlassInfo::OnInitDialog()
|
{
|
CDialog::OnInitDialog();
|
|
//Glass Direction
|
InitRcpGlassDirectionInfoControl();
|
|
//Glass Origin Setting
|
InitRcpGlassSettingInfoControl();
|
FillRcpGlassSettingInfo();
|
return TRUE;
|
}
|
|
void CDlgRcpGlassInfo::UpdateDialogData()
|
{
|
FillRcpGlassSettingInfo();
|
}
|
|
void CDlgRcpGlassInfo::InitRcpGlassDirectionInfoControl()
|
{
|
m_BitmapCorner[0] = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_LT));
|
m_BitmapCorner[1] = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_RT));
|
m_BitmapCorner[2] = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_LB));
|
m_BitmapCorner[3] = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_RB));
|
|
m_BitmapSelectCorner[0] = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_LTC));
|
m_BitmapSelectCorner[1] = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_RTC));
|
m_BitmapSelectCorner[2] = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_LBC));
|
m_BitmapSelectCorner[3] = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_RBC));
|
|
UpdateData(FALSE);
|
}
|
|
void CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassInfoReset()
|
{
|
ResetRcpGlassOriginSettingInfo();
|
}
|
|
void CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassInfoApply()
|
{
|
ApplyRcpGlassOriginSettingInfo();
|
}
|
|
void CDlgRcpGlassInfo::OnBnClickedRadio( UINT nID )
|
{
|
// UpdateData(TRUE);
|
//
|
// DrawConnerCutBmpImage();
|
// DrawOriginBmpImage();
|
}
|
|
void CDlgRcpGlassInfo::DrawConnerCutBmpImage()
|
{
|
switch(m_nRadioCorrnerDir)
|
{
|
case 0:
|
((CButton*)GetDlgItem(IDC_RADIO_CORRNER_LT))->SetBitmap(m_BitmapSelectCorner[0]);
|
((CButton*)GetDlgItem(IDC_RADIO_CORRNER_RT))->SetBitmap(m_BitmapCorner[1]);
|
((CButton*)GetDlgItem(IDC_RADIO_CORRNER_LB))->SetBitmap(m_BitmapCorner[2]);
|
((CButton*)GetDlgItem(IDC_RADIO_CORRNER_RB))->SetBitmap(m_BitmapCorner[3]);
|
break;
|
case 1:
|
((CButton*)GetDlgItem(IDC_RADIO_CORRNER_LT))->SetBitmap(m_BitmapCorner[0]);
|
((CButton*)GetDlgItem(IDC_RADIO_CORRNER_RT))->SetBitmap(m_BitmapSelectCorner[1]);
|
((CButton*)GetDlgItem(IDC_RADIO_CORRNER_LB))->SetBitmap(m_BitmapCorner[2]);
|
((CButton*)GetDlgItem(IDC_RADIO_CORRNER_RB))->SetBitmap(m_BitmapCorner[3]);
|
break;
|
case 2:
|
((CButton*)GetDlgItem(IDC_RADIO_CORRNER_LT))->SetBitmap(m_BitmapCorner[0]);
|
((CButton*)GetDlgItem(IDC_RADIO_CORRNER_RT))->SetBitmap(m_BitmapCorner[1]);
|
((CButton*)GetDlgItem(IDC_RADIO_CORRNER_LB))->SetBitmap(m_BitmapSelectCorner[2]);
|
((CButton*)GetDlgItem(IDC_RADIO_CORRNER_RB))->SetBitmap(m_BitmapCorner[3]);
|
break;
|
case 3:
|
((CButton*)GetDlgItem(IDC_RADIO_CORRNER_LT))->SetBitmap(m_BitmapCorner[0]);
|
((CButton*)GetDlgItem(IDC_RADIO_CORRNER_RT))->SetBitmap(m_BitmapCorner[1]);
|
((CButton*)GetDlgItem(IDC_RADIO_CORRNER_LB))->SetBitmap(m_BitmapCorner[2]);
|
((CButton*)GetDlgItem(IDC_RADIO_CORRNER_RB))->SetBitmap(m_BitmapSelectCorner[3]);
|
break;
|
}
|
}
|
|
void CDlgRcpGlassInfo::DrawOriginBmpImage()
|
{
|
switch(m_nRadioOriginDir)
|
{
|
case 0:
|
((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_LT))->SetBitmap(m_BitmapSelectCorner[0]);
|
((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_RT))->SetBitmap(m_BitmapCorner[1]);
|
((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_LB))->SetBitmap(m_BitmapCorner[2]);
|
((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_RB))->SetBitmap(m_BitmapCorner[3]);
|
break;
|
case 1:
|
((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_LT))->SetBitmap(m_BitmapCorner[0]);
|
((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_RT))->SetBitmap(m_BitmapSelectCorner[1]);
|
((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_LB))->SetBitmap(m_BitmapCorner[2]);
|
((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_RB))->SetBitmap(m_BitmapCorner[3]);
|
break;
|
case 2:
|
((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_LT))->SetBitmap(m_BitmapCorner[0]);
|
((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_RT))->SetBitmap(m_BitmapCorner[1]);
|
((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_LB))->SetBitmap(m_BitmapSelectCorner[2]);
|
((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_RB))->SetBitmap(m_BitmapCorner[3]);
|
break;
|
case 3:
|
((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_LT))->SetBitmap(m_BitmapCorner[0]);
|
((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_RT))->SetBitmap(m_BitmapCorner[1]);
|
((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_LB))->SetBitmap(m_BitmapCorner[2]);
|
((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_RB))->SetBitmap(m_BitmapSelectCorner[3]);
|
break;
|
}
|
}
|
|
void CDlgRcpGlassInfo::ApplyRcpGlassOriginSettingInfo()
|
{
|
CReviewRecipeEditorDlg* pDlg = (CReviewRecipeEditorDlg*)AfxGetMainWnd();
|
if(pDlg == NULL) return;
|
|
CRcp_RsGlassTypeInfoManager* pRcpRsGlassTypeInfoManger = pDlg->GetRsGlassTypeInfoManager();
|
if(pRcpRsGlassTypeInfoManger == NULL) return;
|
|
int nRowIdx, nColIdx, nArrayCount;
|
CString strItemText, strTemp;
|
CGridCellCombo* pCellCombo = NULL;
|
CStringArray strArrayOption;
|
|
pRcpRsGlassTypeInfoManger->SetRcpGlassTypeInfoCount(m_nRcpGlassTypeCount);
|
|
nColIdx = 1;
|
|
for(int nIdx=0; nIdx < m_nRcpGlassTypeCount; nIdx++)
|
{
|
CRsRcpGlassTypeInfo* pRcpGlassTypeInfo = pRcpRsGlassTypeInfoManger->GetRcpGlassTypeInfo(nIdx);
|
if(pRcpGlassTypeInfo == NULL) continue;
|
|
nRowIdx = 1;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_strGlassTypeName = strItemText;
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dGlassSizeWidth = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dGlassSizeHeight = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
pCellCombo = (CGridCellCombo*)m_ctrlGridGlassSettingInfo.GetCell(nRowIdx, nColIdx);
|
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
strItemText = pCellCombo->GetText();
|
pCellCombo->GetOptions(strArrayOption);
|
nArrayCount = (int)strArrayOption.GetCount();
|
|
for(int j = 0; j < nArrayCount; j++)
|
{
|
strTemp = strArrayOption.GetAt(j);
|
if(strTemp.Compare(strItemText) == 0)
|
{
|
pRcpGlassTypeInfo->m_nOriginDirection = j;
|
break;
|
}
|
}
|
}
|
|
nRowIdx++;
|
pCellCombo = (CGridCellCombo*)m_ctrlGridGlassSettingInfo.GetCell(nRowIdx, nColIdx);
|
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
strItemText = pCellCombo->GetText();
|
pCellCombo->GetOptions(strArrayOption);
|
nArrayCount = (int)strArrayOption.GetCount();
|
|
for(int j = 0; j < nArrayCount; j++)
|
{
|
strTemp = strArrayOption.GetAt(j);
|
if(strTemp.Compare(strItemText) == 0)
|
{
|
pRcpGlassTypeInfo->m_nCornnerDirection = j;
|
break;
|
}
|
}
|
}
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dFirstAlignPositionGlassX = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dFirstAlignPositionGlassY = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dSecondAlignPositionGlassX = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dSecondAlignPositionGlassY = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dFirstAlignPositionMotorX = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dFirstAlignPositionMotorY = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dSecondAlignPositionMotorX = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dSecondAlignPositionMotorY = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dFirstAlignPositionPixelX = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dFirstAlignPositionPixelY = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dSecondAlignPositionPixelX = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dSecondAlignPositionPixelY = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dOriginPositionX = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dOriginPositionY = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dCameraOffSetX = _tcstod(strItemText, NULL);
|
|
nRowIdx++;
|
strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx);
|
pRcpGlassTypeInfo->m_dCameraOffSetY = _tcstod(strItemText, NULL);
|
|
nColIdx++;
|
}
|
}
|
|
void CDlgRcpGlassInfo::ResetRcpGlassOriginSettingInfo()
|
{
|
m_nRadioOriginDir = 0;
|
m_nRadioCorrnerDir = 0;
|
|
DrawConnerCutBmpImage();
|
DrawOriginBmpImage();
|
|
m_nRcpGlassTypeCount = 0;
|
UpdateData(FALSE);
|
OnEnChangeEditRcpGlasstypeinfoTypeCount();
|
}
|
|
|
void CDlgRcpGlassInfo::OnEnChangeEditRcpGlasstypeinfoTypeCount()
|
{
|
UpdateData(TRUE);
|
|
int i,nRowIdx, nColIdx;
|
int nWidth, nMargin, nDataColumnWidth;
|
CString strTemp, strItemText;
|
CRect rect;
|
m_ctrlGridGlassSettingInfo.GetWindowRect(&rect);
|
m_ctrlGridGlassSettingInfo.SetColumnCount(m_nRcpGlassTypeCount + 1);
|
nWidth = m_ctrlGridGlassSettingInfo.GetColumnWidth(0);
|
|
nMargin = 20;
|
nDataColumnWidth = rect.Width() - nWidth - nMargin;
|
|
if(m_nRcpGlassTypeCount > 0)
|
{
|
GV_ITEM Item;
|
CStringArray strArrayOption;
|
CGridCellCombo* pCellCombo = NULL;
|
nColIdx = 1;
|
nDataColumnWidth = nDataColumnWidth / m_nRcpGlassTypeCount;
|
|
for(i = 0; i < m_nRcpGlassTypeCount; i++)
|
{
|
m_ctrlGridGlassSettingInfo.SetColumnWidth(i + 1, nDataColumnWidth);
|
|
//±Û¶ó½º ŸÀÔ À妽º
|
nRowIdx = 0;
|
Item.mask = GVIF_TEXT;
|
Item.row = nRowIdx;
|
Item.col = nColIdx;
|
strTemp.Format(_T("%02d"), i);
|
Item.strText = strTemp;
|
m_ctrlGridGlassSettingInfo.SetItem(&Item);
|
|
nRowIdx = 4;
|
strArrayOption.RemoveAll();
|
for(int j = 0; j < GLASS_CORNERCUT_DIRECTION_COUNT; j++)
|
{
|
switch(j)
|
{
|
case GLASS_CORNERCUT_LEFT_TOP:
|
strItemText.Format(_T("Left Top"));//_T("Á»ó"));
|
break;
|
case GLASS_CORNERCUT_RIGHT_TOP:
|
strItemText.Format(_T("Right Top"));//_T("¿ì»ó"));
|
break;
|
case GLASS_CORNERCUT_LEFT_BOTTOM:
|
strItemText.Format(_T("Left Bottom"));//_T("ÁÂÇÏ"));
|
break;
|
case GLASS_CORNERCUT_RIGHT_BOTTOM:
|
strItemText.Format(_T("Right Bottom"));//_T("¿ìÇÏ"));
|
break;
|
default:
|
strItemText.Format(_T(""));
|
break;
|
}
|
|
strArrayOption.Add(strItemText);
|
}
|
m_ctrlGridGlassSettingInfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCombo));
|
pCellCombo = (CGridCellCombo*)m_ctrlGridGlassSettingInfo.GetCell(nRowIdx, nColIdx);
|
pCellCombo->SetOptions(strArrayOption);
|
pCellCombo->SetStyle(CBS_DROPDOWN);
|
|
nRowIdx++;
|
strArrayOption.RemoveAll();
|
for(int j = 0; j < GlassOriginDir_Count; j++)
|
{
|
switch(j)
|
{
|
case GlassOriginDir_LeftTop:
|
strItemText.Format(_T("Left Top"));//_T("Á»ó"));
|
break;
|
case GlassOriginDir_RightTop:
|
strItemText.Format(_T("Right Top"));//_T("¿ì»ó"));
|
break;
|
case GlassOriginDir_LeftBottom:
|
strItemText.Format(_T("Left Bottom"));//_T("ÁÂÇÏ"));
|
break;
|
case GlassOriginDir_RightBottom:
|
strItemText.Format(_T("Right Bottom"));//_T("¿ìÇÏ"));
|
break;
|
default:
|
strItemText.Format(_T(""));
|
break;
|
}
|
|
strArrayOption.Add(strItemText);
|
}
|
m_ctrlGridGlassSettingInfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCombo));
|
pCellCombo = (CGridCellCombo*)m_ctrlGridGlassSettingInfo.GetCell(nRowIdx, nColIdx);
|
pCellCombo->SetOptions(strArrayOption);
|
pCellCombo->SetStyle(CBS_DROPDOWN);
|
|
nColIdx++;
|
}
|
}
|
}
|
|
void CDlgRcpGlassInfo::InitRcpGlassSettingInfoControl()
|
{
|
int nRowIdx, nColIdx, nRows, nCols, nFixRows, nFixCols;
|
CString strTemp;
|
|
nRows = 22;
|
nCols = m_nRcpGlassTypeCount + 1;
|
nFixRows = 1;
|
nFixCols = 1;
|
nRowIdx = 0;
|
nColIdx = 0;
|
|
m_ctrlGridGlassSettingInfo.GetDefaultCell(FALSE, FALSE)->SetBackClr(RGB(0xFF, 0xFF, 0xE0));
|
m_ctrlGridGlassSettingInfo.SetRowCount(nRows);
|
m_ctrlGridGlassSettingInfo.SetColumnCount(nCols);
|
m_ctrlGridGlassSettingInfo.SetFixedRowCount(nFixRows);
|
m_ctrlGridGlassSettingInfo.SetFixedColumnCount(nFixCols);
|
|
CRect rect;
|
m_ctrlGridGlassSettingInfo.GetWindowRect(&rect);
|
m_ctrlGridGlassSettingInfo.SetColumnCount(m_nRcpGlassTypeCount + 1);
|
int nWidth = m_ctrlGridGlassSettingInfo.GetColumnWidth(0);
|
int nMargin = 5;
|
int nDataColumnWidth = rect.Width() - nWidth - nMargin;
|
|
if(m_nRcpGlassTypeCount > 0)
|
{
|
nColIdx = 1;
|
nDataColumnWidth = nDataColumnWidth / m_nRcpGlassTypeCount;
|
for(int i = 0; i < m_nRcpGlassTypeCount; i++)
|
{
|
m_ctrlGridGlassSettingInfo.SetColumnWidth(i + 1, nDataColumnWidth);
|
}
|
}
|
|
GV_ITEM Item;
|
Item.mask = GVIF_TEXT;
|
Item.col = nColIdx;
|
|
for (int nRowIdx=0; nRowIdx<nRows; nRowIdx++)
|
{
|
Item.row = nRowIdx;
|
|
switch(nRowIdx)
|
{
|
case 0:
|
strTemp.Format(_T("Index"));//_T("À妽º"));
|
break;
|
case 1:
|
strTemp.Format(_T("Glass Type Name"));
|
break;
|
case 2:
|
strTemp.Format(_T("Glass With (mm)"));
|
break;
|
case 3:
|
strTemp.Format(_T("Glass Height (mm)"));
|
break;
|
case 4:
|
strTemp.Format(_T("Origin Direction"));
|
break;
|
case 5:
|
strTemp.Format(_T("CornnerCut Direction"));
|
break;
|
case 6:
|
strTemp.Format(_T("1st Align Glass Pos_X (mm)"));
|
break;
|
case 7:
|
strTemp.Format(_T("1st Align Glass Pos_Y (mm)"));
|
break;
|
case 8:
|
strTemp.Format(_T("2st Align Glass Pos_X (mm)"));
|
break;
|
case 9:
|
strTemp.Format(_T("2st Align Glass Pos_Y (mm)"));
|
break;
|
case 10:
|
strTemp.Format(_T("1st Align Motor Pos_X (mm)"));
|
break;
|
case 11:
|
strTemp.Format(_T("1st Align Motor Pos_Y (mm)"));
|
break;
|
case 12:
|
strTemp.Format(_T("2st Align Motor Pos_X (mm)"));
|
break;
|
case 13:
|
strTemp.Format(_T("2st Align Motor Pos_Y (mm)"));
|
break;
|
case 14:
|
strTemp.Format(_T("1st Align Pixel Pos_X (Pxl)"));
|
break;
|
case 15:
|
strTemp.Format(_T("1st Align Pixel Pos_Y (Pxl)"));
|
break;
|
case 16:
|
strTemp.Format(_T("2st Align Pixel Pos_X (Pxl)"));
|
break;
|
case 17:
|
strTemp.Format(_T("2st Align Pixel Pos_Y (Pxl)"));
|
break;
|
case 18:
|
strTemp.Format(_T("Origin Pos_X (mm)"));
|
break;
|
case 19:
|
strTemp.Format(_T("Origin Pos_Y (mm)"));
|
break;
|
case 20:
|
strTemp.Format(_T("Camera OffSet_X (mm)"));
|
break;
|
case 21:
|
strTemp.Format(_T("Camera OffSet_Y (mm)"));
|
break;
|
}
|
|
Item.strText = strTemp;
|
m_ctrlGridGlassSettingInfo.SetItem(&Item);
|
}
|
|
m_ctrlGridGlassSettingInfo.AutoSize();
|
}
|
|
void CDlgRcpGlassInfo::FillRcpGlassSettingInfo()
|
{
|
int nRowIdx, nColIdx;
|
CString strItemText;
|
|
CReviewRecipeEditorDlg* pDlg = (CReviewRecipeEditorDlg*)AfxGetMainWnd();
|
if(pDlg == NULL) return;
|
|
CRcp_RsGlassTypeInfoManager* pRcpRsGlassTypeInfoManger = pDlg->GetRsGlassTypeInfoManager();
|
if(pRcpRsGlassTypeInfoManger == NULL) return;
|
|
m_nRcpGlassTypeCount = pRcpRsGlassTypeInfoManger->GetRcpGlassTypeInfoCount();
|
UpdateData(FALSE);
|
OnEnChangeEditRcpGlasstypeinfoTypeCount();
|
|
CStringArray strArrayOption;
|
CGridCellCombo* pCellCombo = NULL;
|
nColIdx = 1;
|
|
for(int nIdx=0; nIdx < pRcpRsGlassTypeInfoManger->GetRcpGlassTypeInfoCount(); nIdx++)
|
{
|
CRsRcpGlassTypeInfo* pRcpGlassTypeInfo = pRcpRsGlassTypeInfoManger->GetRcpGlassTypeInfo(nIdx);
|
if(pRcpGlassTypeInfo == NULL) continue;
|
|
nRowIdx = 1;
|
strItemText.Format(_T("%s"), pRcpGlassTypeInfo->m_strGlassTypeName);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dGlassSizeWidth);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dGlassSizeHeight);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
pCellCombo = (CGridCellCombo*)m_ctrlGridGlassSettingInfo.GetCell(nRowIdx, nColIdx);
|
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
pCellCombo->GetOptions(strArrayOption);
|
|
if(strArrayOption.GetSize() > 0 && pRcpGlassTypeInfo->m_nOriginDirection > -1)
|
{
|
strItemText = strArrayOption.GetAt(pRcpGlassTypeInfo->m_nOriginDirection);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
if(nIdx ==0) m_nRadioOriginDir = pRcpGlassTypeInfo->m_nOriginDirection;
|
}
|
}
|
|
nRowIdx++;
|
pCellCombo = (CGridCellCombo*)m_ctrlGridGlassSettingInfo.GetCell(nRowIdx, nColIdx);
|
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
pCellCombo->GetOptions(strArrayOption);
|
|
if(strArrayOption.GetSize() > 0 && pRcpGlassTypeInfo->m_nCornnerDirection > -1)
|
{
|
strItemText = strArrayOption.GetAt(pRcpGlassTypeInfo->m_nCornnerDirection);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
if(nIdx ==0) m_nRadioCorrnerDir = pRcpGlassTypeInfo->m_nCornnerDirection;
|
}
|
}
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dFirstAlignPositionGlassX);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dFirstAlignPositionGlassY);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dSecondAlignPositionGlassX);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dSecondAlignPositionGlassY);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dFirstAlignPositionMotorX);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dFirstAlignPositionMotorY);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dSecondAlignPositionMotorX);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dSecondAlignPositionMotorY);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dFirstAlignPositionPixelX);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dFirstAlignPositionPixelY);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dSecondAlignPositionPixelX);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dSecondAlignPositionPixelY);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dOriginPositionX);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dOriginPositionY);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dCameraOffSetX);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nRowIdx++;
|
strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dCameraOffSetY);
|
m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nColIdx++;
|
}
|
|
|
|
DrawConnerCutBmpImage();
|
DrawOriginBmpImage();
|
}
|
|
void CDlgRcpGlassInfo::OnGridDblClick( NMHDR *pNotifyStruct, LRESULT* pResult )
|
{
|
CReviewRecipeEditorDlg* pDlg = (CReviewRecipeEditorDlg*)AfxGetMainWnd();
|
if(pDlg == NULL) return;
|
|
CRcp_RsGlassTypeInfoManager* pRcpRsGlassTypeInfoManger = pDlg->GetRsGlassTypeInfoManager();
|
if(pRcpRsGlassTypeInfoManger == NULL) return;
|
|
NM_GRIDVIEW* pItem = (NM_GRIDVIEW*) pNotifyStruct;
|
|
m_nCurrentIndex = pItem->iColumn-1;
|
|
if(m_nCurrentIndex < 0) return;
|
|
CRsRcpGlassTypeInfo* pRcpGlassTypeInfo = pRcpRsGlassTypeInfoManger->GetRcpGlassTypeInfo(m_nCurrentIndex);
|
if(pRcpGlassTypeInfo == NULL) return;
|
|
m_nRadioCorrnerDir = pRcpGlassTypeInfo->m_nCornnerDirection;
|
m_nRadioOriginDir = pRcpGlassTypeInfo->m_nOriginDirection;
|
|
DrawConnerCutBmpImage();
|
DrawOriginBmpImage();
|
}
|
|
|
void CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassinfoFindalign()
|
{
|
int nRowIdx, nColIdx, nSize;
|
char* strTemp = NULL;
|
CReviewRecipeEditorDlg* pDlg = (CReviewRecipeEditorDlg*)AfxGetMainWnd();
|
if(pDlg == NULL) return;
|
|
CRcp_RsAlignManager* pRsAlignManager = pDlg->GetRsAlignManager();
|
if(pRsAlignManager == NULL) return;
|
|
CRsRcpAlignInfo* pRcpAlignInfo = pRsAlignManager->GetRsRcpAlignInfo();
|
if(pRcpAlignInfo == NULL) return;
|
|
if(m_nCurrentIndex < 0)
|
{
|
AfxMessageBox(_T("±Û¶ó½º ŸÀÔÀ» ¼±ÅÃÇϽÿÀ"));
|
return;
|
}
|
|
CString strFirstImageName, strSecondImageName;
|
strFirstImageName = pRcpAlignInfo->m_strFirstImageFile;
|
strSecondImageName = pRcpAlignInfo->m_strSecondImageFile;
|
|
if(strFirstImageName == _T("") || strSecondImageName == _T(""))
|
{
|
AfxMessageBox(_T("¾ó¶óÀÎ ÅÛÇø´ À̹ÌÁö¸¦ µî·ÏÇϽÿÀ"));
|
return;
|
}
|
}
|
|
|
void CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassinfoMoveFirstalign()
|
{
|
|
}
|
|
|
void CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassinfoMoveSecondalign()
|
{
|
|
}
|
|
|
void CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassinfoCaculateOrigin()
|
{
|
|
}
|