// DlgSelfDiagnosis_Wsi.cpp: 구현 파일
|
//
|
|
#include "stdafx.h"
|
#include "ReviewSystem.h"
|
#include "DlgSelfDiagnosis_Wsi.h"
|
#include "DlgSelfDiagnosis.h"
|
#include "afxdialogex.h"
|
|
|
// CDlgSelfDiagnosis_Wsi 대화 상자
|
|
IMPLEMENT_DYNAMIC(CDlgSelfDiagnosis_Wsi, CDialogEx)
|
|
CDlgSelfDiagnosis_Wsi::CDlgSelfDiagnosis_Wsi(CDiagnosisManager* pDiagnosisManager, CWnd* pParent /*=nullptr*/)
|
: CDialogEx(IDD_DLG_SELF_DIAGNOSIS_WSI, pParent)
|
{
|
m_pDiagnosisManager = pDiagnosisManager;
|
}
|
|
CDlgSelfDiagnosis_Wsi::~CDlgSelfDiagnosis_Wsi()
|
{
|
}
|
|
void CDlgSelfDiagnosis_Wsi::DoDataExchange(CDataExchange* pDX)
|
{
|
CDialogEx::DoDataExchange(pDX);
|
DDX_Control(pDX, IDC_EDIT_WSI_ACC_00, m_ctrlWsiAcc00);
|
DDX_Control(pDX, IDC_EDIT_WSI_ACC_01, m_ctrlWsiAcc01);
|
DDX_Control(pDX, IDC_EDIT_WSI_RTB_00, m_ctrlWsiRtb00);
|
DDX_Control(pDX, IDC_EDIT_WSI_RTB_01, m_ctrlWsiRtb01);
|
DDX_Control(pDX, IDC_BUTTON_SIMULATION, m_btSimulation);
|
}
|
|
|
BEGIN_MESSAGE_MAP(CDlgSelfDiagnosis_Wsi, CDialogEx)
|
ON_BN_CLICKED(IDC_BUTTON_SIMULATION, &CDlgSelfDiagnosis_Wsi::OnBnClickedButtonSimulation)
|
ON_EN_CHANGE(IDC_EDIT_WSI_ACC_01, &CDlgSelfDiagnosis_Wsi::OnEnChangeEditWsiAcc01)
|
ON_EN_CHANGE(IDC_EDIT_WSI_RTB_00, &CDlgSelfDiagnosis_Wsi::OnEnChangeEditWsiRtb00)
|
END_MESSAGE_MAP()
|
|
|
// CDlgSelfDiagnosis_Wsi 메시지 처리기
|
|
|
void CDlgSelfDiagnosis_Wsi::OnBnClickedButtonSimulation()
|
{
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
if (m_pDiagnosisManager == NULL) return;
|
|
//GetDialogControls();
|
|
//m_ctrlWsiAcc00.SetWindowText(_T(""));
|
|
m_pDiagnosisManager->RecvSignalToSignalControl(DiagnosisSignal_Manual, DiagnosisMode_Wsi, TRUE);
|
}
|
|
|
void CDlgSelfDiagnosis_Wsi::OnEnChangeEditWsiAcc01()
|
{
|
// TODO: RICHEDIT 컨트롤인 경우, 이 컨트롤은
|
// CDialogEx::OnInitDialog() 함수를 재지정
|
//하고 마스크에 OR 연산하여 설정된 ENM_CHANGE 플래그를 지정하여 CRichEditCtrl().SetEventMask()를 호출하지 않으면
|
// 이 알림 메시지를 보내지 않습니다.
|
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
}
|
|
void CDlgSelfDiagnosis_Wsi::UpdateWSIResult()
|
{
|
const CDiagnosisInfo* pSettingInfo = m_pDiagnosisManager->GetDiagnosisInfo();
|
if (pSettingInfo == NULL) return;
|
|
double nACC00 = m_pDiagnosisManager->GetDiagnosisResult_Wsi(0)->getWSI_ACC();
|
double nACC01 = m_pDiagnosisManager->GetDiagnosisResult_Wsi(1)->getWSI_ACC();
|
double nRTB00 = m_pDiagnosisManager->GetDiagnosisResult_Wsi(0)->getWSI_RTB();
|
double nRTB01 = m_pDiagnosisManager->GetDiagnosisResult_Wsi(1)->getWSI_RTB();
|
|
CString strACC00, strACC01;
|
CString strRTB00, strRTB01;
|
strACC00.Format(_T("%d"), nACC00);
|
m_ctrlWsiAcc00.SetWindowTextA(strACC00);
|
m_ctrlWsiAcc01.SetWindowTextA(strACC01);
|
m_ctrlWsiRtb00.SetWindowTextA(strRTB00);
|
m_ctrlWsiRtb01.SetWindowTextA(strRTB01);
|
|
}
|
|
|
void CDlgSelfDiagnosis_Wsi::DisableBtSIMULATION(BOOL bUse)
|
{
|
if (bUse)
|
{
|
m_btSimulation.EnableWindow(FALSE);
|
|
}
|
else
|
{
|
m_btSimulation.EnableWindow(TRUE);
|
}
|
|
|
}
|
|
void CDlgSelfDiagnosis_Wsi::UpdateWSIResult(int nModuleIndex,double dAcc00, double dAcc01, double dRbt00, double dRbt01)
|
{
|
const CDiagnosisInfo* pSettingInfo = m_pDiagnosisManager->GetDiagnosisInfo();
|
if (pSettingInfo == NULL) return;
|
|
double nACC00 = dAcc00;
|
double nACC01 = dAcc01;
|
|
double nRTB00 = dRbt00;
|
double nRTB01 = dRbt01;
|
|
CString strACC00, strACC01;
|
CString strRTB00, strRTB01;
|
strACC00.Format(_T("%f"),nACC00);
|
strRTB00.Format(_T("%f"), nRTB00);
|
strACC01.Format(_T("%f"), nACC01);
|
strRTB01.Format(_T("%f"), nRTB01);
|
if (nModuleIndex==0)
|
{
|
m_ctrlWsiAcc00.SetWindowTextA(strACC00);
|
m_ctrlWsiRtb00.SetWindowTextA(strRTB00);
|
}
|
else {
|
m_ctrlWsiAcc01.SetWindowTextA(strACC01);
|
m_ctrlWsiRtb01.SetWindowTextA(strRTB01);
|
}
|
|
|
}
|
|
void CDlgSelfDiagnosis_Wsi::ChangeResultData()
|
{
|
// CDiagnosisResult * pProcessResult = m_pDiagnosisManager->GetDiagnosisResultCount_Squareness();
|
// if (pProcessResult == NULL) return FALSE;
|
//
|
// SPositionData* pPositionData = pProcessResult->GetPositionData_Squareness(0);
|
// if (pPositionData == NULL) return FALSE;
|
//
|
// SetGridResultData(pPositionData);
|
//
|
// CDlgSelfDiagnosis_Squareness* pDlg = (CDlgSelfDiagnosis_Squareness*)AfxGetApp()->m_pMainWnd;
|
// pDlg->PostMessage(CUSTOM_UPDATEDATA, 0, 0);
|
|
// return TRUE; //taek 210105
|
}
|
|
void CDlgSelfDiagnosis_Wsi::OnEnChangeEditWsiRtb00()
|
{
|
// TODO: RICHEDIT 컨트롤인 경우, 이 컨트롤은
|
// CDialogEx::OnInitDialog() 함수를 재지정
|
//하고 마스크에 OR 연산하여 설정된 ENM_CHANGE 플래그를 지정하여 CRichEditCtrl().SetEventMask()를 호출하지 않으면
|
// 이 알림 메시지를 보내지 않습니다.
|
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
}
|