// DlgSelfDiagnosis.cpp: 구현 파일
|
//
|
|
#include "stdafx.h"
|
#include "ReviewSystem.h"
|
#include "DlgSelfDiagnosis.h"
|
#include "afxdialogex.h"
|
|
|
// CDlgSelfDiagnosis 대화 상자
|
|
IMPLEMENT_DYNAMIC(CDlgSelfDiagnosis, CDialogEx)
|
|
CDlgSelfDiagnosis::CDlgSelfDiagnosis(CDiagnosisManager* pDiagnosisManager, CWnd* pParent /*=nullptr*/)
|
: CDialogEx(IDD_DLG_SELF_DIAGNOSIS, pParent)
|
{
|
m_pDiagnosisManager = pDiagnosisManager;
|
m_nTapSelIndex = -1;
|
}
|
|
CDlgSelfDiagnosis::~CDlgSelfDiagnosis()
|
{
|
}
|
|
void CDlgSelfDiagnosis::DoDataExchange(CDataExchange* pDX)
|
{
|
CDialogEx::DoDataExchange(pDX);
|
DDX_Control(pDX, IDC_SELF_DIAGNOSIS_TAB_MAIN, m_ctrlTabCtrl);
|
}
|
|
|
BEGIN_MESSAGE_MAP(CDlgSelfDiagnosis, CDialogEx)
|
ON_NOTIFY(TCN_SELCHANGE, IDC_SELF_DIAGNOSIS_TAB_MAIN, &CDlgSelfDiagnosis::OnTcnSelchangeSelfDiagnosisTabMain)
|
END_MESSAGE_MAP()
|
|
|
// CDlgSelfDiagnosis 메시지 처리기
|
|
|
void CDlgSelfDiagnosis::UpdateDialog(int nIndex)
|
{
|
if (nIndex < 0) // all
|
{
|
m_pDlgSquareness->UpdateDialogControls();
|
}
|
else
|
{
|
switch (nIndex)
|
{
|
case 0:
|
m_pDlgSquareness->UpdateDialogControls();
|
//m_pDlgSquareness->InitListControl(); //taek 210105
|
break;
|
case 1:
|
m_pDlgWsi->UpdateWSIResult();
|
break;
|
case 2:
|
m_pDlgFlatness->InitListCtrl();
|
break;
|
case 3:
|
m_pDlgSquareness->DisableBtSIMULATION(TRUE);
|
break;
|
case 4:
|
m_pDlgSquareness->DisableBtSIMULATION(FALSE);
|
break;
|
case 5:
|
m_pDlgWsi->DisableBtSIMULATION(TRUE);
|
break;
|
case 6:
|
m_pDlgWsi->DisableBtSIMULATION(FALSE);
|
break;
|
case 7:
|
m_pDlgWsi->UpdateWSIResult(0, 0, 0, 0, 0);
|
m_pDlgWsi->UpdateWSIResult(1, 0, 0, 0, 0);
|
|
default:
|
break;
|
}
|
}
|
}
|
|
void CDlgSelfDiagnosis::SetDlgFlatness(int nIndex)
|
{
|
if (m_pDlgFlatness)
|
{
|
m_pDlgFlatness->ChangeRadioButton(nIndex);
|
m_pDlgFlatness->ChangeGridResultData();
|
}
|
}
|
|
void CDlgSelfDiagnosis::SetDlgSquareness(int nIndex)
|
{
|
if (m_pDlgSquareness)
|
{
|
m_pDlgSquareness->ChangeResultData(); //taek 210105
|
}
|
}
|
|
void CDlgSelfDiagnosis::SetDlgWSI(int nIndex)
|
{
|
if (m_pDlgWsi)
|
{
|
m_pDlgWsi->ChangeResultData(); //taek 210105
|
}
|
}
|
|
BOOL CDlgSelfDiagnosis::OnInitDialog()
|
{
|
CDialogEx::OnInitDialog();
|
|
// TODO: 여기에 추가 초기화 작업을 추가합니다.
|
|
if (m_pDiagnosisManager == NULL) return FALSE;
|
|
// load config fild
|
CString strFilePath = _T("");
|
strFilePath.Format(_T("%s\\%s"), REVIEW_AUTO_DIAGNOSIS_SETTING_FILE_PATH, REVIEW_AUTO_DIAGNOSIS_SETTING_FILE_NAME);
|
m_pDiagnosisManager->LoadSettingConfigFile(strFilePath);
|
|
// load standard result file
|
CString strStandardFile = _T("");
|
strStandardFile.Format(_T("%s\\%s"), REVIEW_AUTO_DIAGNOSIS_SETTING_FILE_PATH, REVIEW_AUTO_DIAGNOSIS_STANDARD_FILE_NAME);
|
|
CFileFind fileFind;
|
if (fileFind.FindFile(strStandardFile) == FALSE)
|
AfxMessageBox(_T("Setting Standard Data!!"));
|
else
|
{
|
if (m_pDiagnosisManager->LoadDiagnosisFile(strStandardFile))
|
m_pDiagnosisManager->SetExistStandardData();
|
}
|
|
m_ctrlTabCtrl.InsertItem(0, _T("직각도"));
|
m_ctrlTabCtrl.InsertItem(1, _T("평탄도"));
|
m_ctrlTabCtrl.InsertItem(2, _T("WSI"));
|
m_ctrlTabCtrl.InsertItem(3, _T("SETTING"));
|
|
m_ctrlTabCtrl.SetCurSel(0);
|
m_nTapSelIndex = m_ctrlTabCtrl.GetCurSel();
|
|
CRect rect;
|
m_ctrlTabCtrl.GetWindowRect(&rect);
|
|
m_pDlgSquareness = new CDlgSelfDiagnosis_Squareness(m_pDiagnosisManager);
|
m_pDlgSquareness->Create(IDD_DLG_SELF_DIAGNOSIS_SQUARENESS, &m_ctrlTabCtrl);
|
m_pDlgSquareness->MoveWindow(5, 25, rect.Width() - 10, rect.Height() - 30);
|
m_pDlgSquareness->ShowWindow(SW_SHOW);
|
|
m_pDlgFlatness = new CDlgSelfDiagnosis_Flatness(m_pDiagnosisManager);
|
m_pDlgFlatness->Create(IDD_DLG_SELF_DIAGNOSIS_FLATNESS, &m_ctrlTabCtrl);
|
m_pDlgFlatness->MoveWindow(5, 25, rect.Width() - 10, rect.Height() - 30);
|
m_pDlgFlatness->ShowWindow(SW_HIDE);
|
|
m_pDlgWsi = new CDlgSelfDiagnosis_Wsi(m_pDiagnosisManager);
|
m_pDlgWsi->Create(IDD_DLG_SELF_DIAGNOSIS_WSI, &m_ctrlTabCtrl);
|
m_pDlgWsi->MoveWindow(5, 25, rect.Width() - 10, rect.Height() - 30);
|
m_pDlgWsi->ShowWindow(SW_HIDE);
|
|
m_pDlgSetting = new CDlgSelfDiagnosis_Setting(m_pDiagnosisManager);
|
m_pDlgSetting->Create(IDD_DLG_SELF_DIAGNOSIS_SETTING, &m_ctrlTabCtrl);
|
m_pDlgSetting->MoveWindow(5, 25, rect.Width() - 10, rect.Height() - 30);
|
m_pDlgSetting->ShowWindow(SW_HIDE);
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
// 예외: OCX 속성 페이지는 FALSE를 반환해야 합니다.
|
}
|
|
|
void CDlgSelfDiagnosis::OnTcnSelchangeSelfDiagnosisTabMain(NMHDR *pNMHDR, LRESULT *pResult)
|
{
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
|
//int nSelIndex = m_ctrlTabCtrl.GetCurSel();
|
m_nTapSelIndex = m_ctrlTabCtrl.GetCurSel();
|
switch (m_nTapSelIndex)
|
{
|
case 0:
|
m_pDlgSquareness->InitListControl(); //taek 210105
|
m_pDlgSquareness->ShowWindow(SW_SHOW);
|
m_pDlgFlatness->ShowWindow(SW_HIDE);
|
m_pDlgWsi->ShowWindow(SW_HIDE);
|
m_pDlgSetting->ShowWindow(SW_HIDE);
|
break;
|
case 1:
|
m_pDlgFlatness->InitListCtrl();
|
m_pDlgSquareness->ShowWindow(SW_HIDE);
|
m_pDlgFlatness->ShowWindow(SW_SHOW);
|
m_pDlgWsi->ShowWindow(SW_HIDE);
|
m_pDlgSetting->ShowWindow(SW_HIDE);
|
break;
|
case 2:
|
m_pDlgSquareness->ShowWindow(SW_HIDE);
|
m_pDlgFlatness->ShowWindow(SW_HIDE);
|
m_pDlgWsi->ShowWindow(SW_SHOW);
|
m_pDlgSetting->ShowWindow(SW_HIDE);
|
break;
|
case 3:
|
m_pDlgSquareness->ShowWindow(SW_HIDE);
|
m_pDlgFlatness->ShowWindow(SW_HIDE);
|
m_pDlgWsi->ShowWindow(SW_HIDE);
|
m_pDlgSetting->ShowWindow(SW_SHOW);
|
break;
|
|
}
|
|
*pResult = 0;
|
}
|