// DlgAlign.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù. // #include "stdafx.h" #include "ReviewSystemSetting.h" #include "DlgAlign.h" #include "ReviewSystemSettingDlg.h" #include "CHReviewSetting/Sys_AlignManager.h" #include "CHReviewSetting/SystemInfo.h" // CDlgAlign ´ëÈ­ »óÀÚÀÔ´Ï´Ù. IMPLEMENT_DYNAMIC(CDlgAlign, CDialog) CDlgAlign::CDlgAlign(CWnd* pParent /*=NULL*/) : CDialog(CDlgAlign::IDD, pParent) { } CDlgAlign::~CDlgAlign() { } void CDlgAlign::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_GRID_ALIGN_CAMERA_INFO, m_ctrlGridAlignCameraInfo); DDX_Control(pDX, IDC_AlignCamera_Frame_Apply, m_ctrlCheckAlignCameraFrameRateApply); } BEGIN_MESSAGE_MAP(CDlgAlign, CDialog) ON_BN_CLICKED(IDC_BUTTON_SYS_ALIGN_RESET, &CDlgAlign::OnBnClickedButtonSysAlignReset) ON_BN_CLICKED(IDC_BUTTON_SYS_ALIGN_APPLY, &CDlgAlign::OnBnClickedButtonSysAlignApply) END_MESSAGE_MAP() // CDlgAlign ¸Þ½ÃÁö 󸮱âÀÔ´Ï´Ù. BOOL CDlgAlign::OnInitDialog() { CDialog::OnInitDialog(); // TODO: ¿©±â¿¡ Ãß°¡ ÃʱâÈ­ ÀÛ¾÷À» Ãß°¡ÇÕ´Ï´Ù. InitAlignCameraInfoGridControl(); FillAlignCameraInfo(); return TRUE; // return TRUE unless you set the focus to a control // ¿¹¿Ü: OCX ¼Ó¼º ÆäÀÌÁö´Â FALSE¸¦ ¹ÝÈ¯ÇØ¾ß ÇÕ´Ï´Ù. } BOOL CDlgAlign::PreTranslateMessage(MSG* pMsg) { // TODO: ¿©±â¿¡ Ư¼öÈ­µÈ Äڵ带 Ãß°¡ ¹×/¶Ç´Â ±âº» Ŭ·¡½º¸¦ È£ÃâÇÕ´Ï´Ù. if( pMsg->message == WM_KEYDOWN ) { if(pMsg->wParam == VK_RETURN || pMsg->wParam == VK_ESCAPE ) { ::TranslateMessage(pMsg); ::DispatchMessage(pMsg); return TRUE; } } return CDialog::PreTranslateMessage(pMsg); } void CDlgAlign::OnBnClickedButtonSysAlignReset() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. ResetAlignCameraInfoGrid(); } void CDlgAlign::OnBnClickedButtonSysAlignApply() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. UpdateData(TRUE); int i, j, nArrayCount = 0; CString strTemp = _T(""); CReviewSystemSettingDlg* pDlg = (CReviewSystemSettingDlg*)AfxGetMainWnd(); if (pDlg==NULL) return; CSys_AlignManager *pSysAlignManager = pDlg->GetAlignManager(); if (pSysAlignManager==NULL) return; //CAlignCameraInfo cameraInfo; CStringArray strArrayOption; int nColIdx = 1; pSysAlignManager->SetAlignCameraInfoCount(ALIGN_CAMERA_COUNT); for (i=0; iGetAlignCameraInfo(i); if (pAlignCameraInfo==NULL) continue; if(m_ctrlCheckAlignCameraFrameRateApply.GetCheck()){ pAlignCameraInfo->SetAlignCameraFrameRateApply(TRUE); } else{ pAlignCameraInfo->SetAlignCameraFrameRateApply(FALSE); } CCameraControlInfo_Plus* pCameraControlInfo = pAlignCameraInfo->GetCameraControlInfo(); if(pCameraControlInfo == NULL) continue; ////////////////////////////////////////////////////////////////////////// // Ä«¸Þ¶ó À妽º CString strItemText = m_ctrlGridAlignCameraInfo.GetItemText(nRowIdx, nColIdx); pCameraControlInfo->SetIndex(_ttoi(strItemText)); // ±âÁØ Ä«¸Þ¶ó nRowIdx++; CGridCellCheck *pCellCheck = (CGridCellCheck*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); if(pCellCheck) { pCameraControlInfo->SetStandardCamera(pCellCheck->GetCheck()); } // Ä«¸Þ¶ó ¶óÀ̺귯¸® ŸÀÔ nRowIdx++; CGridCellCombo* pCellCombo = (CGridCellCombo*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); if(pCellCombo) { strArrayOption.RemoveAll(); LPCTSTR strItemText = pCellCombo->GetText(); pCellCombo->GetOptions(strArrayOption); nArrayCount = (int)strArrayOption.GetCount(); for(j = 0; j < nArrayCount; j++) { strTemp = strArrayOption.GetAt(j); if(strTemp.Compare(strItemText) == 0) { //cameraInfo.m_nCameraLibraryType = j; pCameraControlInfo->SetLibraryType(j); break; } } } // Ä«¸Þ¶ó Çø³ ŸÀÔ nRowIdx++; pCellCombo = (CGridCellCombo*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); if(pCellCombo) { strArrayOption.RemoveAll(); LPCTSTR strItemText = pCellCombo->GetText(); pCellCombo->GetOptions(strArrayOption); nArrayCount = (int)strArrayOption.GetCount(); for(j = 0; j < nArrayCount; j++) { strTemp = strArrayOption.GetAt(j); if(strTemp.Compare(strItemText) == 0) { pCameraControlInfo->SetFlipType(j); break; } } } // Ä«¸Þ¶ó À̸§ nRowIdx++; strItemText = m_ctrlGridAlignCameraInfo.GetItemText(nRowIdx, nColIdx); pCameraControlInfo->SetName(strItemText); // Ä«¸Þ¶ó ¿¬°á Á¤º¸ nRowIdx++; strItemText = m_ctrlGridAlignCameraInfo.GetItemText(nRowIdx, nColIdx); pCameraControlInfo->SetConnectionPort(strItemText); // Ä«¸Þ¶ó ÇÁ·¹ÀÓ °³¼ö nRowIdx++; strItemText = m_ctrlGridAlignCameraInfo.GetItemText(nRowIdx, nColIdx); pCameraControlInfo->SetFrameCount(_ttoi(strItemText)); // Ä«¸Þ¶ó ÇÁ·¹ÀÓ ³ÐÀÌ nRowIdx++; strItemText = m_ctrlGridAlignCameraInfo.GetItemText(nRowIdx, nColIdx); pCameraControlInfo->SetFrameWidth(_ttoi(strItemText)); // Ä«¸Þ¶ó ÇÁ·¹ÀÓ ³ôÀÌ nRowIdx++; strItemText = m_ctrlGridAlignCameraInfo.GetItemText(nRowIdx, nColIdx); pCameraControlInfo->SetFrameHeight(_ttoi(strItemText)); // À̹ÌÁö ¹öÆÛ °³¼ö nRowIdx++; strItemText = m_ctrlGridAlignCameraInfo.GetItemText(nRowIdx, nColIdx); pCameraControlInfo->SetImageBufferCount(_ttoi(strItemText)); // Ä«¸Þ¶ó ÇØ»óµµ (CCD) nRowIdx++; strItemText = m_ctrlGridAlignCameraInfo.GetItemText(nRowIdx, nColIdx); pCameraControlInfo->SetPixelResolution(_tcstod(strItemText, NULL)); // Ä«¸Þ¶ó Ä÷¯ ä³Î (Depth : Gray 1) nRowIdx++; strItemText = m_ctrlGridAlignCameraInfo.GetItemText(nRowIdx, nColIdx); pCameraControlInfo->SetFrameChannels(_ttoi(strItemText)); // Ä«¸Þ¶ó XÃà ¹æÇâ nRowIdx++; pCellCombo = (CGridCellCombo*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); if(pCellCombo) { strArrayOption.RemoveAll(); strItemText = pCellCombo->GetText(); pCellCombo->GetOptions(strArrayOption); nArrayCount = (int)strArrayOption.GetCount(); for(j = 0; j < nArrayCount; j++) { strTemp = strArrayOption.GetAt(j); if(strTemp.Compare(strItemText) == 0) { pCameraControlInfo->SetAxisDirectionX(j); break; } } } // Ä«¸Þ¶ó YÃà ¹æÇâ nRowIdx++; pCellCombo = (CGridCellCombo*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); if(pCellCombo) { strArrayOption.RemoveAll(); strItemText = pCellCombo->GetText(); pCellCombo->GetOptions(strArrayOption); nArrayCount = (int)strArrayOption.GetCount(); for(j = 0; j < nArrayCount; j++) { strTemp = strArrayOption.GetAt(j); if(strTemp.Compare(strItemText) == 0) { pCameraControlInfo->SetAxisDirectionY(j); break; } } } ////////////////////////////////////////////////////////////////////////// CLightControlInfo* pLightControlInfo = pAlignCameraInfo->GetLightContorlInfo(); if(pLightControlInfo == NULL) continue; // Á¶¸í ŸÀÔ nRowIdx++; pCellCombo = (CGridCellCombo*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); if(pCellCombo) { strArrayOption.RemoveAll(); strItemText = pCellCombo->GetText(); pCellCombo->GetOptions(strArrayOption); nArrayCount = (int)strArrayOption.GetCount(); for(j = 0; j < nArrayCount; j++) { strTemp = strArrayOption.GetAt(j); if(strTemp.Compare(strItemText) == 0) { pLightControlInfo->SetControllerType(j); break; } } } // Á¶¸í Æ÷Æ® nRowIdx++; strItemText = m_ctrlGridAlignCameraInfo.GetItemText(nRowIdx, nColIdx); pLightControlInfo->SetConnectionPort(strItemText); // ¸¶½ºÅÍ(Open/Close) ±ÇÇÑ nRowIdx++; strItemText = m_ctrlGridAlignCameraInfo.GetItemText(nRowIdx, nColIdx); pLightControlInfo->SetMaster(_ttoi(strItemText)); // Á¶¸í ä³Î nRowIdx++; strItemText = m_ctrlGridAlignCameraInfo.GetItemText(nRowIdx, nColIdx); pLightControlInfo->SetChannel(_ttoi(strItemText)); // Á¶¸í ±âº»°ª nRowIdx++; strItemText = m_ctrlGridAlignCameraInfo.GetItemText(nRowIdx, nColIdx); pLightControlInfo->SetDefaultValue(_ttoi(strItemText)); nColIdx++; } } void CDlgAlign::InitAlignCameraInfoGridControl() { int i, j, nRowIdx, nColIdx, nRows, nCols, nFixRows, nFixCols; int nWidth, nMargin, nDataColumnWidth; CString strTemp; CRect rect; nRows = ALIGN_CAMERA_INFO_GRID_ROW_COUNT; nCols = ALIGN_CAMERA_INFO_GRID_COL_COUNT; nFixRows = 1; nFixCols = 1; nRowIdx = 0; nColIdx = 0; m_ctrlGridAlignCameraInfo.GetWindowRect(&rect); m_ctrlGridAlignCameraInfo.GetDefaultCell(FALSE, FALSE)->SetBackClr(RGB(0xFF, 0xFF, 0xE0)); m_ctrlGridAlignCameraInfo.SetRowCount(nRows); m_ctrlGridAlignCameraInfo.SetColumnCount(nCols); m_ctrlGridAlignCameraInfo.SetFixedRowCount(nFixRows); m_ctrlGridAlignCameraInfo.SetFixedColumnCount(nFixCols); GV_ITEM Item; CStringArray strArrayOption; CGridCellCombo* pCellCombo = NULL; ////////////////////////////////////////////////////////////////////////// Item.mask = GVIF_TEXT; Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Camera Index")); //_T("Ä«¸Þ¶ó À妽º")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Standard Camera")); //_T("±âÁØ Ä«¸Þ¶ó")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Library Type")); //_T("Ä«¸Þ¶ó ¶óÀ̺귯¸®")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Flip Type")); //_T("Ä«¸Þ¶ó Çø³ ŸÀÔ")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Camera Name")); //_T("Ä«¸Þ¶ó À̸§")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Connection Information")); //_T("Ä«¸Þ¶ó ¿¬°á Á¤º¸")); (½Ã¸®¾ó ³Ñ¹ö) Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Frame Count (f/s)")); //_T("Ä«¸Þ¶ó ÇÁ·¹ÀÓ °³¼ö")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Frame Width (pxl)")); //_T("Ä«¸Þ¶ó ÇÁ·¹ÀÓ ³ÐÀÌ")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Frame Height (pxl)")); //_T("Ä«¸Þ¶ó ÇÁ·¹ÀÓ ³ôÀÌ")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Image Buffer Cnt (ea)")); //_T("À̹ÌÁö ¹öÆÛ °³¼ö")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Resolution (um/pxl)")); //_T("Ä«¸Þ¶ó ÇØ»óµµ")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Frame Channel (Color)")); //_T("Ä«¸Þ¶ó Ä÷¯ ä³Î")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("X Axis Direction")); //_T("Ä«¸Þ¶ó XÃà ¹æÇâ")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Y Axis Direction")); //_T("Ä«¸Þ¶ó YÃà ¹æÇâ")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); ////////////////////////////////////////////////////////////////////////// Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Light Type")); //_T("Á¶¸í ŸÀÔ")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Light Connection Port")); //_T("Á¶¸í Æ÷Æ®")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Light Master")); //_T("¸¶½ºÅÍ ±ÇÇÑ")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Light Channel")); //_T("Á¶¸í ä³Î")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); Item.row = nRowIdx++; Item.col = nColIdx; strTemp.Format(_T("Light Default Level")); //_T("Á¶¸í ±âº»°ª")); Item.strText = strTemp; m_ctrlGridAlignCameraInfo.SetItem(&Item); m_ctrlGridAlignCameraInfo.AutoSize(); ////////////////////////////////////////////////////////////////////////// nColIdx = 1; nMargin = 5; nWidth = m_ctrlGridAlignCameraInfo.GetColumnWidth(0); nDataColumnWidth = rect.Width() - nWidth - nMargin; nDataColumnWidth = nDataColumnWidth / ALIGN_CAMERA_COUNT; for(i = 0; i < ALIGN_CAMERA_COUNT; i++) { m_ctrlGridAlignCameraInfo.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_ctrlGridAlignCameraInfo.SetItem(&Item); // ±âÁØ Ä«¸Þ¶ó nRowIdx++; Item.strText = _T(""); m_ctrlGridAlignCameraInfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCheck)); m_ctrlGridAlignCameraInfo.SetItemState(nRowIdx, nColIdx, m_ctrlGridAlignCameraInfo.GetItemState(nRowIdx, nColIdx) | GVIS_READONLY); // Ä«¸Þ¶ó ¶óÀ̺귯¸® nRowIdx++; strArrayOption.RemoveAll(); for(j = 0; j < CameraLibrary_Count; j++) { switch(j) { case CameraLibrary_Simulation: strTemp.Format(_T("Simulation")); break; case CameraLibrary_Sapera: strTemp.Format(_T("Sapera")); break; case CameraLibrary_FlyCapture: strTemp.Format(_T("FlyCapture")); break; case CAMERA_LIBRARY_PYLON: strTemp.Format(_T("Pylon")); break; case CameraLibrary_JAI: strTemp.Format(_T("JAI")); break; default: strTemp.Format(_T("")); break; } strArrayOption.Add(strTemp); } m_ctrlGridAlignCameraInfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCombo)); pCellCombo = (CGridCellCombo*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); pCellCombo->SetOptions(strArrayOption); pCellCombo->SetStyle(CBS_DROPDOWN); // Ä«¸Þ¶ó Çø³ ŸÀÔ nRowIdx++; strArrayOption.RemoveAll(); for(j = 0; j < CAMERA_FLIP_TYPE_COUNT; j++) { switch(j) { case CAMERA_FLIP_NONE: strTemp.Format(_T("None")); break; case CAMERA_FLIP_VERT: strTemp.Format(_T("Vertical")); break; case CAMERA_FLIP_HORIZ: strTemp.Format(_T("Horizontal")); break; case CAMERA_FLIP_VERT+CAMERA_FLIP_HORIZ: strTemp.Format(_T("Both")); break; default: strTemp.Format(_T("")); break; } strArrayOption.Add(strTemp); } m_ctrlGridAlignCameraInfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCombo)); pCellCombo = (CGridCellCombo*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); pCellCombo->SetOptions(strArrayOption); pCellCombo->SetStyle(CBS_DROPDOWN); // Ä«¸Þ¶ó À̸§ nRowIdx++; // Ä«¸Þ¶ó ¿¬°á Á¤º¸ nRowIdx++; // Ä«¸Þ¶ó ÇÁ·¹ÀÓ °³¼ö nRowIdx++; // Ä«¸Þ¶ó ÇÁ·¹ÀÓ ³ÐÀÌ nRowIdx++; // Ä«¸Þ¶ó ÇÁ·¹ÀÓ ³ôÀÌ nRowIdx++; // À̹ÌÁö ¹öÆÛ °³¼ö nRowIdx++; // Ä«¸Þ¶ó ÇØ»óµµ nRowIdx++; // Ä«¸Þ¶ó Ä÷¯ ä³Î nRowIdx++; //Ä«¸Þ¶ó XÃà ¹æÇâ nRowIdx++; strArrayOption.RemoveAll(); for(j = 0; j < CAMERA_DIRECTION_COUNT; j++) { switch(j) { case CAMERA_DIRECTION_FORWARD: strTemp.Format(_T("Nomal Direction"));//_T("Á¤¹æÇâ")); break; case CAMERA_DIRECTION_BACKWARD: strTemp.Format(_T("Reverse Direction"));//_T("¿ª¹æÇâ")); break; default: strTemp.Format(_T("")); break; } strArrayOption.Add(strTemp); } m_ctrlGridAlignCameraInfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCombo)); pCellCombo = (CGridCellCombo*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); pCellCombo->SetOptions(strArrayOption); pCellCombo->SetStyle(CBS_DROPDOWN); //Ä«¸Þ¶ó YÃà ¹æÇâ nRowIdx++; strArrayOption.RemoveAll(); for(j = 0; j < CAMERA_DIRECTION_COUNT; j++) { switch(j) { case CAMERA_DIRECTION_FORWARD: strTemp.Format(_T("Nomal Direction"));//_T("Á¤¹æÇâ")); break; case CAMERA_DIRECTION_BACKWARD: strTemp.Format(_T("Reverse Direction"));//_T("¿ª¹æÇâ")); break; default: strTemp.Format(_T("")); break; } strArrayOption.Add(strTemp); } m_ctrlGridAlignCameraInfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCombo)); pCellCombo = (CGridCellCombo*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); pCellCombo->SetOptions(strArrayOption); pCellCombo->SetStyle(CBS_DROPDOWN); ////////////////////////////////////////////////////////////////////////// //Á¶¸í ŸÀÔ nRowIdx++; strArrayOption.RemoveAll(); for(j = 0; j < LightController_Count; j++) { switch(j) { case LightController_Simulation: strTemp.Format(_T("Simulation")); break; case LightController_ShinHan: strTemp.Format(_T("ShinHan LED")); break; case LightController_KSVision: strTemp.Format(_T("KSVision LED")); break; case LightController_PlusTek: strTemp.Format(_T("PlusTek LED")); break; case LightController_Byon_ERI2: strTemp.Format(_T("Byon LED")); break; case LightController_ALT_2RSD: strTemp.Format(_T("ALT_2RSD LED")); break; case LightController_ALT_8RSDF: strTemp.Format(_T("ALT_8RSDF LED")); break; case LightControl_LFusion_PDSeries: strTemp.Format(_T("LFusion_PDSeries LED")); break; case LightController_ShinHan_TCP: strTemp.Format(_T("ShinHan TCP LED")); break; default: strTemp.Format(_T("")); break; } strArrayOption.Add(strTemp); } m_ctrlGridAlignCameraInfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCombo)); pCellCombo = (CGridCellCombo*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); pCellCombo->SetOptions(strArrayOption); pCellCombo->SetStyle(CBS_DROPDOWN); nColIdx++; } } void CDlgAlign::FillAlignCameraInfo() { int i, nCameraCount, nRowIdx, nColIdx; CString strItemText; CReviewSystemSettingDlg* pDlg = (CReviewSystemSettingDlg*)AfxGetMainWnd(); if(pDlg == NULL) return; CSys_AlignManager* pAlignManager = pDlg->GetAlignManager(); if(pAlignManager == NULL) return; UpdateData(FALSE); nCameraCount = pAlignManager->GetAlignCameraInfoCount(); if(nCameraCount > 0) { CAlignCameraInfo* pCameraInfo = NULL; CGridCellCheck* pCellCheck = NULL; CGridCellCombo* pCellCombo = NULL; CStringArray strArrayOption; nColIdx = 1; for(i = 0; i < nCameraCount; i++) { nRowIdx = 1; //if(pCameraInfo) pCameraInfo->Reset(); pCameraInfo = pAlignManager->GetAlignCameraInfo(i); if(pCameraInfo == NULL) continue; if(pCameraInfo->GetAlignCameraFrameRateApply()==TRUE) { m_ctrlCheckAlignCameraFrameRateApply.SetCheck(1); } else{ m_ctrlCheckAlignCameraFrameRateApply.SetCheck(0); } CCameraControlInfo_Plus* pCameraControlInfo = pCameraInfo->GetCameraControlInfo(); if(pCameraControlInfo == NULL) continue; // ±âÁØ Ä«¸Þ¶ó pCellCheck = (CGridCellCheck*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); if(pCellCheck) { pCellCheck->SetCheck(pCameraControlInfo->GetStandardCamera()); } // Ä«¸Þ¶ó ¶óÀ̺귯¸® nRowIdx++; pCellCombo = (CGridCellCombo*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); if(pCellCombo) { strArrayOption.RemoveAll(); pCellCombo->GetOptions(strArrayOption); if(strArrayOption.GetSize() > 0 && pCameraControlInfo->GetLibraryType() > -1) { strItemText = strArrayOption.GetAt(pCameraControlInfo->GetLibraryType()); m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, strItemText); } } // Ä«¸Þ¶ó Çø³ ŸÀÔ nRowIdx++; pCellCombo = (CGridCellCombo*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); if(pCellCombo) { strArrayOption.RemoveAll(); pCellCombo->GetOptions(strArrayOption); if(strArrayOption.GetSize() > 0 && pCameraControlInfo->GetFlipType() > -1) { strItemText = strArrayOption.GetAt(pCameraControlInfo->GetFlipType()); m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, strItemText); } } // Ä«¸Þ¶ó À̸§ nRowIdx++; m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, pCameraControlInfo->GetName()); // Ä«¸Þ¶ó ¿¬°á Á¤º¸ nRowIdx++; strItemText.Format(_T("%s"), pCameraControlInfo->GetConnectionPort()); m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, strItemText); // Ä«¸Þ¶ó ÇÁ·¹ÀÓ °³¼ö nRowIdx++; strItemText.Format(_T("%d"), pCameraControlInfo->GetFrameCount()); m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, strItemText); // Ä«¸Þ¶ó ÇÁ·¹ÀÓ ³ÐÀÌ nRowIdx++; strItemText.Format(_T("%d"), pCameraControlInfo->GetFrameWidth()); m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, strItemText); // Ä«¸Þ¶ó ÇÁ·¹ÀÓ ³ôÀÌ nRowIdx++; strItemText.Format(_T("%d"), pCameraControlInfo->GetFrameHeight()); m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, strItemText); // À̹ÌÁö ¹öÆÛ °³¼ö nRowIdx++; strItemText.Format(_T("%d"), pCameraControlInfo->GetImageBufferCount()); m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, strItemText); // Ä«¸Þ¶ó ÇØ»óµµ nRowIdx++; strItemText.Format(_T("%.08lf"), pCameraControlInfo->GetPixelResolution()); m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, strItemText); // Ä«¸Þ¶ó Ä÷¯ ä³Î nRowIdx++; strItemText.Format(_T("%d"), pCameraControlInfo->GetFrameChannels()); m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, strItemText); // Ä«¸Þ¶ó XÃà ¹æÇâ nRowIdx++; pCellCombo = (CGridCellCombo*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); if(pCellCombo) { strArrayOption.RemoveAll(); pCellCombo->GetOptions(strArrayOption); if(strArrayOption.GetSize() > 0 && pCameraControlInfo->GetAxisDirectionX() > -1) { strItemText = strArrayOption.GetAt(pCameraControlInfo->GetAxisDirectionX()); m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, strItemText); } } // Ä«¸Þ¶ó YÃà ¹æÇâ nRowIdx++; pCellCombo = (CGridCellCombo*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); if(pCellCombo) { strArrayOption.RemoveAll(); pCellCombo->GetOptions(strArrayOption); if(strArrayOption.GetSize() > 0 && pCameraControlInfo->GetAxisDirectionY() > -1) { strItemText = strArrayOption.GetAt(pCameraControlInfo->GetAxisDirectionY()); m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, strItemText); } } CLightControlInfo* pLightControlInfo = pCameraInfo->GetLightContorlInfo(); if(pLightControlInfo == NULL) continue; // Á¶¸í ŸÀÔ nRowIdx++; pCellCombo = (CGridCellCombo*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx, nColIdx); if(pCellCombo) { strArrayOption.RemoveAll(); pCellCombo->GetOptions(strArrayOption); if(strArrayOption.GetSize() > 0 && pLightControlInfo->GetControllerType() > -1) { strItemText = strArrayOption.GetAt(pLightControlInfo->GetControllerType()); m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, strItemText); } } // Á¶¸í Æ÷Æ® nRowIdx++; m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, pLightControlInfo->GetConnectionPort()); // ¸¶½ºÅÍ ±ÇÇÑ nRowIdx++; strItemText.Format(_T("%d"), pLightControlInfo->GetMaster()); m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, strItemText); // Á¶¸í ä³Î nRowIdx++; strItemText.Format(_T("%d"), pLightControlInfo->GetChannel()); m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, strItemText); // Á¶¸í ±âº»°ª nRowIdx++; strItemText.Format(_T("%d"), pLightControlInfo->GetDefaultValue()); m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx, nColIdx, strItemText); nColIdx++; } } } void CDlgAlign::ResetAlignCameraInfoGrid() { int i, j, nRowIdx, nColIdx; CString strItemText; CGridCellCheck* pCellCheck = NULL; nRowIdx = 0; nColIdx = 0; strItemText = _T(""); for(i = 0; i < ALIGN_CAMERA_COUNT; i++) { nRowIdx = 1; nColIdx++; for(j = 0; j < ALIGN_CAMERA_INFO_GRID_ROW_COUNT - 1; j++) { switch (j) { case 0: pCellCheck = (CGridCellCheck*)m_ctrlGridAlignCameraInfo.GetCell(nRowIdx++, nColIdx); if(pCellCheck) { pCellCheck->SetCheck(FALSE); } break; default: m_ctrlGridAlignCameraInfo.SetItemText(nRowIdx++, nColIdx, strItemText); break; } } } m_ctrlGridAlignCameraInfo.Invalidate(TRUE); }