// DlgSystemRevolver.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù.
|
//
|
|
#include "stdafx.h"
|
#include "ReviewSystemSetting.h"
|
#include "DlgSystemRevolver.h"
|
#include "ReviewSystemSettingDlg.h"
|
#include "CHReviewSetting/Sys_SystemManager.h"
|
#include "CHCommonControls/GridCellCombo.h"
|
#include "CHCommonControls/GridCellCheck.h"
|
|
|
// CDlgSystemRevolver ´ëÈ »óÀÚÀÔ´Ï´Ù.
|
|
IMPLEMENT_DYNAMIC(CDlgSystemRevolver, CDialog)
|
|
CDlgSystemRevolver::CDlgSystemRevolver(CWnd* pParent /*=NULL*/)
|
: CDialog(CDlgSystemRevolver::IDD, pParent)
|
, m_nGantryIdx(0)
|
, m_nHeaderIdx(0)
|
{
|
m_nRevolverCount = 0;
|
}
|
|
CDlgSystemRevolver::~CDlgSystemRevolver()
|
{
|
}
|
|
void CDlgSystemRevolver::DoDataExchange(CDataExchange* pDX)
|
{
|
DDX_Control(pDX, IDC_GRID_SYSTEM_REVOLVER_INFO, m_ctrlGridRevolverInfo);
|
DDX_Text(pDX, IDC_EDIT_SYS_SL_GANTRY_IDX, m_nGantryIdx);
|
DDX_Text(pDX, IDC_EDIT_SYS_SL_HEADER_IDX, m_nHeaderIdx);
|
|
CDialog::DoDataExchange(pDX);
|
}
|
|
|
BEGIN_MESSAGE_MAP(CDlgSystemRevolver, CDialog)
|
ON_BN_CLICKED(IDCANCEL, &CDlgSystemRevolver::OnBnClickedCancel)
|
ON_BN_CLICKED(IDOK, &CDlgSystemRevolver::OnBnClickedOk)
|
ON_BN_CLICKED(IDC_BUTTON_SYS_SYSTEM_REVOLVER_RESET, &CDlgSystemRevolver::OnBnClickedButtonSysSystemRevolverReset)
|
ON_BN_CLICKED(IDC_BUTTON_SYS_SYSTEM_REVOLVER_APPLY, &CDlgSystemRevolver::OnBnClickedButtonSysSystemRevolverApply)
|
ON_EN_CHANGE(IDC_EDIT_SYS_SL_REVOLVER_IDX, &CDlgSystemRevolver::OnEnChangeEditSysRevolverIdxCount)
|
END_MESSAGE_MAP()
|
|
|
// CDlgSystemRevolver ¸Þ½ÃÁö 󸮱âÀÔ´Ï´Ù.
|
|
void CDlgSystemRevolver::UpdateDialogData(int nGantryIdx, int nHeaderIdx, int nRevolverCount)
|
{
|
m_nGantryIdx = nGantryIdx;
|
m_nHeaderIdx = nHeaderIdx;
|
m_nRevolverCount = nRevolverCount;
|
|
UpdateData(FALSE);
|
FillRevolverInfo();
|
|
m_ctrlGridRevolverInfo.Invalidate(FALSE);
|
}
|
|
void CDlgSystemRevolver::OnBnClickedCancel()
|
{
|
// TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù.
|
// OnCancel();
|
}
|
|
void CDlgSystemRevolver::OnBnClickedOk()
|
{
|
// TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù.
|
// OnOK();
|
}
|
|
BOOL CDlgSystemRevolver::OnInitDialog()
|
{
|
CDialog::OnInitDialog();
|
|
// TODO: ¿©±â¿¡ Ãß°¡ ÃʱâÈ ÀÛ¾÷À» Ãß°¡ÇÕ´Ï´Ù.
|
InitRevolverInfoGridControl();
|
FillRevolverInfo();
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
// ¿¹¿Ü: OCX ¼Ó¼º ÆäÀÌÁö´Â FALSE¸¦ ¹ÝÈ¯ÇØ¾ß ÇÕ´Ï´Ù.
|
}
|
|
void CDlgSystemRevolver::InitRevolverInfoGridControl()
|
{
|
int nRowIdx, nColIdx, nRows, nCols, nFixRows, nFixCols;
|
CString strTemp;
|
|
nRows = REVOLVER_INFO_GRID_ROW_COUNT;
|
nCols = m_nRevolverCount + 1;
|
nFixRows = 1;
|
nFixCols = 1;
|
nRowIdx = 0;
|
nColIdx = 0;
|
|
m_ctrlGridRevolverInfo.GetDefaultCell(FALSE, FALSE)->SetBackClr(RGB(0xFF, 0xFF, 0xE0));
|
m_ctrlGridRevolverInfo.SetRowCount(nRows);
|
m_ctrlGridRevolverInfo.SetColumnCount(nCols);
|
m_ctrlGridRevolverInfo.SetFixedRowCount(nFixRows);
|
m_ctrlGridRevolverInfo.SetFixedColumnCount(nFixCols);
|
|
GV_ITEM Item;
|
|
Item.mask = GVIF_TEXT;
|
Item.row = nRowIdx++;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Index")); //_T("À妽º"));
|
Item.strText = strTemp;
|
m_ctrlGridRevolverInfo.SetItem(&Item);
|
|
Item.row = nRowIdx++;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Total Index")); //_T("ÅäÅ» À妽º")
|
Item.strText = strTemp;
|
m_ctrlGridRevolverInfo.SetItem(&Item);
|
|
Item.row = nRowIdx++;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Name")); //_T("¸®º¼¹ö À̸§")
|
Item.strText = strTemp;
|
m_ctrlGridRevolverInfo.SetItem(&Item);
|
|
Item.row = nRowIdx++;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Controller Type")); //_T("ÄÁÆ®·Ñ·¯ ŸÀÔ"));
|
Item.strText = strTemp;
|
m_ctrlGridRevolverInfo.SetItem(&Item);
|
|
Item.row = nRowIdx++;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Connection Infomation")); //_T("¿¬°á Á¤º¸"));
|
Item.strText = strTemp;
|
m_ctrlGridRevolverInfo.SetItem(&Item);
|
|
Item.row = nRowIdx++;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Baud Rate (bps)")); //_T("Åë½Å ¼Óµµ"));
|
Item.strText = strTemp;
|
m_ctrlGridRevolverInfo.SetItem(&Item);
|
|
Item.row = nRowIdx++;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Default Level")); //_T("±âº» ¹èÀ² À妽º"));
|
Item.strText = strTemp;
|
m_ctrlGridRevolverInfo.SetItem(&Item);
|
|
Item.row = nRowIdx++;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Maximum Level")); //_T("ÃÖ´ë ¹èÀ² ÀÎÅØ½º")
|
Item.strText = strTemp;
|
m_ctrlGridRevolverInfo.SetItem(&Item);
|
|
Item.row = nRowIdx++;
|
Item.col = nColIdx;
|
strTemp.Format(_T("Minimum Level")); //_T("ÃÖ¼Ò ¹èÀ² À妽º")
|
Item.strText = strTemp;
|
m_ctrlGridRevolverInfo.SetItem(&Item);
|
|
m_ctrlGridRevolverInfo.AutoSize();
|
}
|
|
void CDlgSystemRevolver::OnBnClickedButtonSysSystemRevolverApply()
|
{
|
UpdateData(TRUE);
|
|
CReviewSystemSettingDlg* pDlg = (CReviewSystemSettingDlg*)AfxGetMainWnd();
|
if (pDlg==NULL) return;
|
|
CSys_SystemManager* pSystemManager = pDlg->GetSystemManager();
|
if(pSystemManager==NULL) return;
|
|
CSystemInfo *pSystemInfo = pSystemManager->GetSystemInfo();
|
if(pSystemInfo==NULL) return;
|
|
CGantryInfo *pGantryInfo = pSystemInfo->GetGantryInfo(m_nGantryIdx);
|
if (pGantryInfo==NULL) return;
|
|
CHeaderInfo *pHeaderInfo = pGantryInfo->GetHeaderInfo(m_nHeaderIdx);
|
if (pHeaderInfo==NULL) return;
|
|
int nColIdx = 1;
|
CString strItemText = _T("");
|
CStringArray strArrayOption;
|
|
for (int nRevolveIdx=0; nRevolveIdx<pHeaderInfo->GetRevolverInfoCount(); nRevolveIdx++)
|
{
|
CLensChangeControlInfo *pRevolverInfo = pHeaderInfo->GetRevolverInfo(nRevolveIdx);
|
if (pRevolverInfo==NULL) continue;
|
|
int nRowIdx = 1;
|
|
// 1. ÅäÅ» ÀÎÅØ½º
|
strItemText = m_ctrlGridRevolverInfo.GetItemText(nRowIdx, nColIdx);
|
pRevolverInfo->SetIndex(_ttoi(strItemText));
|
|
// 2. ¸®º¼¹ö À̸§
|
nRowIdx++;
|
strItemText = m_ctrlGridRevolverInfo.GetItemText(nRowIdx, nColIdx);
|
pRevolverInfo->SetName(strItemText);
|
|
// 3. ÄÁÆ®·Ñ·¯ ŸÀÔ
|
nRowIdx++;
|
CGridCellCombo *pCellCombo = (CGridCellCombo*)m_ctrlGridRevolverInfo.GetCell(nRowIdx, nColIdx);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
strItemText = pCellCombo->GetText();
|
pCellCombo->GetOptions(strArrayOption);
|
int nArrayCount = (int)strArrayOption.GetCount();
|
|
for(int j = 0; j < nArrayCount; j++)
|
{
|
CString strTemp = strArrayOption.GetAt(j);
|
if(strTemp.Compare(strItemText) == 0)
|
{
|
pRevolverInfo->SetControllerType(j);
|
break;
|
}
|
}
|
}
|
|
// 4. ¿¬°á Á¤º¸
|
nRowIdx++;
|
strItemText = m_ctrlGridRevolverInfo.GetItemText(nRowIdx, nColIdx);
|
pRevolverInfo->SetConnectionPort(strItemText);
|
|
// 5. Åë½Å ¼Óµµ
|
nRowIdx++;
|
strItemText = m_ctrlGridRevolverInfo.GetItemText(nRowIdx, nColIdx);
|
pRevolverInfo->SetBaudRate(_ttoi(strItemText));
|
|
// 6. ±âº» ¹èÀ² À妽º
|
nRowIdx++;
|
strItemText = m_ctrlGridRevolverInfo.GetItemText(nRowIdx, nColIdx);
|
pRevolverInfo->SetDefaultLevel(_ttoi(strItemText));
|
|
// 7. ÃÖ´ë ¹èÀ² ÀÎÅØ½º
|
nRowIdx++;
|
strItemText = m_ctrlGridRevolverInfo.GetItemText(nRowIdx, nColIdx);
|
pRevolverInfo->SetMaxLevel(_ttoi(strItemText));
|
|
// 8. ÃÖ¼Ò ¹èÀ² À妽º
|
nRowIdx++;
|
strItemText = m_ctrlGridRevolverInfo.GetItemText(nRowIdx, nColIdx);
|
pRevolverInfo->SetMinLevel(_ttoi(strItemText));
|
}
|
}
|
|
void CDlgSystemRevolver::FillRevolverInfo()
|
{
|
ChangeRevolverCountRevolverInfoGridControl();
|
|
CReviewSystemSettingDlg* pDlg = (CReviewSystemSettingDlg*)AfxGetMainWnd();
|
if (pDlg==NULL) return;
|
|
CSys_SystemManager* pSystemManager = pDlg->GetSystemManager();
|
if(pSystemManager==NULL) return;
|
|
CSystemInfo *pSystemInfo = pSystemManager->GetSystemInfo();
|
if(pSystemInfo==NULL) return;
|
|
CGantryInfo *pGantryInfo = pSystemInfo->GetGantryInfo(m_nGantryIdx);
|
if (pGantryInfo==NULL) return;
|
|
CHeaderInfo *pHeaderInfo = pGantryInfo->GetHeaderInfo(m_nHeaderIdx);
|
if (pHeaderInfo==NULL) return;
|
|
int nColIdx = 1;
|
CString strItemText = _T("");
|
CStringArray strArrayOption;
|
|
for (int nRevolveIdx=0; nRevolveIdx<pHeaderInfo->GetRevolverInfoCount(); nRevolveIdx++)
|
{
|
CLensChangeControlInfo *pRevolverInfo = pHeaderInfo->GetRevolverInfo(nRevolveIdx);
|
if (pRevolverInfo==NULL) continue;
|
|
int nRowIdx = 1;
|
|
// 1. ÅäÅ» ÀÎÅØ½º
|
strItemText.Format(_T("%d"),pRevolverInfo->GetIndex());
|
m_ctrlGridRevolverInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
// 2. ¸®º¼¹ö À̸§
|
nRowIdx++;
|
strItemText.Format(_T("%s"), pRevolverInfo->GetName());
|
m_ctrlGridRevolverInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
// 3. ÄÁÆ®·Ñ·¯ ŸÀÔ
|
nRowIdx++;
|
CGridCellCombo* pCellCombo = (CGridCellCombo*)m_ctrlGridRevolverInfo.GetCell(nRowIdx, nColIdx);
|
if(pCellCombo)
|
{
|
strArrayOption.RemoveAll();
|
pCellCombo->GetOptions(strArrayOption);
|
|
if(strArrayOption.GetSize() > 0 && pRevolverInfo->GetControllerType() > -1)
|
{
|
strItemText = strArrayOption.GetAt(pRevolverInfo->GetControllerType());
|
m_ctrlGridRevolverInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
}
|
}
|
|
// 4. ¿¬°á Á¤º¸
|
nRowIdx++;
|
strItemText.Format(_T("%s"),pRevolverInfo->GetConnectionPort());
|
m_ctrlGridRevolverInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
// 5. Åë½Å ¼Óµµ
|
nRowIdx++;
|
strItemText.Format(_T("%d"),pRevolverInfo->GetBaudRate());
|
m_ctrlGridRevolverInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
// 6. ±âº» ¹èÀ² À妽º
|
nRowIdx++;
|
strItemText.Format(_T("%d"), pRevolverInfo->GetDefaultLevel());
|
m_ctrlGridRevolverInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
// 7. ÃÖ´ë ¹èÀ² ÀÎÅØ½º
|
nRowIdx++;
|
strItemText.Format(_T("%d"), pRevolverInfo->GetMaxLevel());
|
m_ctrlGridRevolverInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
// 8. ÃÖ¼Ò ¹èÀ² À妽º
|
nRowIdx++;
|
strItemText.Format(_T("%d"),pRevolverInfo->GetMinLevel());
|
m_ctrlGridRevolverInfo.SetItemText(nRowIdx, nColIdx, strItemText);
|
|
nColIdx++;
|
}
|
}
|
|
void CDlgSystemRevolver::ChangeRevolverCountRevolverInfoGridControl()
|
{
|
int i, j, nRowIdx, nColIdx;
|
int nWidth, nMargin, nDataColumnWidth;
|
CString strTemp;
|
CRect rect;
|
|
m_ctrlGridRevolverInfo.GetWindowRect(&rect);
|
m_ctrlGridRevolverInfo.SetColumnCount(m_nRevolverCount + 1);
|
nWidth = m_ctrlGridRevolverInfo.GetColumnWidth(0);
|
|
nMargin = 5;
|
nDataColumnWidth = rect.Width() - nWidth - nMargin;
|
|
if(m_nRevolverCount > 0)
|
{
|
GV_ITEM Item;
|
CStringArray strArrayOption;
|
CGridCellCombo* pCellCombo = NULL;
|
|
nColIdx = 1;
|
nDataColumnWidth = nDataColumnWidth / m_nRevolverCount;
|
|
for(i = 0; i < m_nRevolverCount; i++)
|
{
|
m_ctrlGridRevolverInfo.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_ctrlGridRevolverInfo.SetItem(&Item);
|
|
// 1. ÅäÅ» ÀÎÅØ½º
|
nRowIdx++;
|
// 2. ¸®º¼¹ö À̸§
|
nRowIdx++;
|
|
// 3. ÄÁÆ®·Ñ·¯ ŸÀÔ
|
nRowIdx++;
|
strArrayOption.RemoveAll();
|
for(j = 0; j < LensChangeController_Count; j++)
|
{
|
switch(j)
|
{
|
case LensChangeController_Simulation:
|
strTemp.Format(_T("Simulation"));
|
break;
|
case LensChangeController_Linear:
|
strTemp.Format(_T("Linear Turret"));
|
break;
|
case LensChangeController_Nikon:
|
strTemp.Format(_T("Nikon Revolver"));
|
break;
|
case LensChangeController_DualTube:
|
strTemp.Format(_T("Dual Tube"));
|
break;
|
default:
|
strTemp.Format(_T(""));
|
break;
|
}
|
|
strArrayOption.Add(strTemp);
|
}
|
m_ctrlGridRevolverInfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCombo));
|
pCellCombo = (CGridCellCombo*)m_ctrlGridRevolverInfo.GetCell(nRowIdx, nColIdx);
|
pCellCombo->SetOptions(strArrayOption);
|
pCellCombo->SetStyle(CBS_DROPDOWN);
|
|
nColIdx++;
|
}
|
}
|
}
|
|
void CDlgSystemRevolver::OnBnClickedButtonSysSystemRevolverReset()
|
{
|
ResetRevolverInfoGrid();
|
}
|
|
void CDlgSystemRevolver::ResetRevolverInfoGrid()
|
{
|
int i, j, nRowIdx, nColIdx;
|
CString strItemText;
|
CGridCellCheck* pCellCheck = NULL;
|
|
nRowIdx = 0;
|
nColIdx = 0;
|
strItemText = _T("");
|
|
for(i = 0; i < m_nRevolverCount; i++)
|
{
|
nRowIdx = 1;
|
nColIdx++;
|
|
for(j = 0; j < REVOLVER_INFO_GRID_ROW_COUNT - 1; j++)
|
{
|
m_ctrlGridRevolverInfo.SetItemText(nRowIdx++, nColIdx, strItemText);
|
}
|
}
|
}
|
|
void CDlgSystemRevolver::OnEnChangeEditSysRevolverIdxCount()
|
{
|
/* UpdateData(TRUE);
|
|
int i, j, nRowIdx, nColIdx;
|
int nWidth, nMargin, nDataColumnWidth;
|
CString strTemp;
|
CRect rect;
|
m_ctrlGridRevolverInfo.GetWindowRect(&rect);
|
m_ctrlGridRevolverInfo.SetColumnCount(m_nRevolverIdx + 1);
|
nWidth = m_ctrlGridRevolverInfo.GetColumnWidth(0);
|
|
nMargin = 20;
|
nDataColumnWidth = rect.Width() - nWidth - nMargin;
|
|
if(m_nRevolverIdx > 0)
|
{
|
GV_ITEM Item;
|
CStringArray strArrayOption;
|
CGridCellCombo* pCellCombo = NULL;
|
nColIdx = 1;
|
nDataColumnWidth = nDataColumnWidth / m_nRevolverIdx;
|
|
for(i = 0; i < m_nRevolverIdx; i++)
|
{
|
m_ctrlGridRevolverInfo.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_ctrlGridRevolverInfo.SetItem(&Item);
|
|
nColIdx++;
|
}
|
}*/
|
}
|