// DlgHardwareSettingMode.cpp: 구현 파일
|
//
|
|
#include "stdafx.h"
|
#include "ReviewSystem.h"
|
#include "DlgHardwareSettingMode.h"
|
#include "afxdialogex.h"
|
|
|
// DlgHardwareSettingMode 대화 상자
|
|
IMPLEMENT_DYNAMIC(DlgHardwareSettingMode, CDialogEx)
|
|
DlgHardwareSettingMode::DlgHardwareSettingMode(CWnd* pParent /*=nullptr*/)
|
: CDialogEx(IDD_DLG_HARDWARE_SETTING_MODE, pParent)
|
{
|
b_ReviewCamconnectionstatus = TRUE;
|
b_AFCCamconnectionstatus = TRUE;
|
b_AlignCamCamconnectionstatus = TRUE;
|
}
|
|
DlgHardwareSettingMode::~DlgHardwareSettingMode()
|
{
|
}
|
|
void DlgHardwareSettingMode::DoDataExchange(CDataExchange* pDX)
|
{
|
CDialogEx::DoDataExchange(pDX);
|
DDX_Control(pDX, IDC_BUTTON_REVIEW_CAM_CONNECT, m_ctrlReviewCamConnect);
|
DDX_Control(pDX, IDC_BUTTON_REVIEW_CAM_DISCONNECT, m_ctrlReviewCamDisConnect);
|
DDX_Control(pDX, IDC_BUTTON_ALIGN_CAM_CONNECT, m_ctrlAlignCamConnect);
|
DDX_Control(pDX, IDC_BUTTON_ALIGN_CAM_DISCONNECT, m_ctrlAlignCamDisConnect);
|
DDX_Control(pDX, IDC_BUTTON_AFM_CONNECT, m_ctrlAFMConnect);
|
DDX_Control(pDX, IDC_BUTTON_AFM_DISCONNECT, m_ctrlAFMDisConnect);
|
}
|
|
|
BEGIN_MESSAGE_MAP(DlgHardwareSettingMode, CDialogEx)
|
ON_WM_CTLCOLOR()
|
|
ON_BN_CLICKED(IDC_BUTTON_REVIEW_CAM_CONNECT, &DlgHardwareSettingMode::OnBnClickedButtonReviewCamConnect)
|
ON_BN_CLICKED(IDC_BUTTON_REVIEW_CAM_DISCONNECT, &DlgHardwareSettingMode::OnBnClickedButtonReviewCamDisconnect)
|
ON_BN_CLICKED(IDC_BUTTON_ALIGN_CAM_CONNECT, &DlgHardwareSettingMode::OnBnClickedButtonAlignCamConnect)
|
ON_BN_CLICKED(IDC_BUTTON_ALIGN_CAM_DISCONNECT, &DlgHardwareSettingMode::OnBnClickedButtonAlignCamDisconnect)
|
ON_BN_CLICKED(IDC_BUTTON_AFM_CONNECT, &DlgHardwareSettingMode::OnBnClickedButtonAfmConnect)
|
ON_BN_CLICKED(IDC_BUTTON_AFM_DISCONNECT, &DlgHardwareSettingMode::OnBnClickedButtonAfmDisconnect)
|
END_MESSAGE_MAP()
|
|
|
// DlgHardwareSettingMode 메시지 처리기
|
|
|
HBRUSH DlgHardwareSettingMode::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
|
{
|
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
|
|
// TODO: 여기서 DC의 특성을 변경합니다.
|
pDC->SetBkColor(RGB(25, 25, 25));
|
|
// TODO: 기본값이 적당하지 않으면 다른 브러시를 반환합니다.
|
return hbr;
|
}
|
|
|
BOOL DlgHardwareSettingMode::OnInitDialog()
|
{
|
CDialogEx::OnInitDialog();
|
SetBackgroundColor(RGB(255, 255, 210));
|
// TODO: 여기에 추가 초기화 작업을 추가합니다.
|
CString strFont = _T("MS Sans Serif");
|
m_ctrlReviewCamConnect.SetFontStatic(strFont, 9, RGB(240, 240, 240), FS_CENTER | FS_BOLD);
|
m_ctrlReviewCamConnect.SetBackground(RGB(10, 10, 10));
|
m_ctrlReviewCamConnect.SetWindowText(_T("CONNECT"));
|
|
m_ctrlReviewCamDisConnect.SetFontStatic(strFont, 9, RGB(240, 240, 240), FS_CENTER | FS_BOLD);
|
m_ctrlReviewCamDisConnect.SetBackground(RGB(10, 10, 10));
|
m_ctrlReviewCamDisConnect.SetWindowText(_T("DISCONNECT"));
|
|
m_ctrlAlignCamConnect.SetFontStatic(strFont, 9, RGB(240, 240, 240), FS_CENTER | FS_BOLD);
|
m_ctrlAlignCamConnect.SetBackground(RGB(10, 10, 10));
|
m_ctrlAlignCamConnect.SetWindowText(_T("CONNECT"));
|
|
m_ctrlAlignCamDisConnect.SetFontStatic(strFont, 9, RGB(240, 240, 240), FS_CENTER | FS_BOLD);
|
m_ctrlAlignCamDisConnect.SetBackground(RGB(10, 10, 10));
|
m_ctrlAlignCamDisConnect.SetWindowText(_T("DISCONNECT"));
|
|
m_ctrlAFMConnect.SetFontStatic(strFont, 9, RGB(240, 240, 240), FS_CENTER | FS_BOLD);
|
m_ctrlAFMConnect.SetBackground(RGB(10, 10, 10));
|
m_ctrlAFMConnect.SetWindowText(_T("CONNECT"));
|
|
m_ctrlAFMDisConnect.SetFontStatic(strFont, 9, RGB(240, 240, 240), FS_CENTER | FS_BOLD);
|
m_ctrlAFMDisConnect.SetBackground(RGB(10, 10, 10));
|
m_ctrlAFMDisConnect.SetWindowText(_T("DISCONNECT"));
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
// 예외: OCX 속성 페이지는 FALSE를 반환해야 합니다.
|
}
|
|
|
|
void DlgHardwareSettingMode::OnBnClickedButtonReviewCamConnect()
|
{
|
if (m_pDHM2P->IDHM2P_IsManualProcessMode() == FALSE) return;
|
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
if (m_pDHM2P->IDHM2P_InitReviewCamera())
|
{
|
m_pDHM2P->IDHM2P_ConnectReviewCamera();
|
m_ctrlReviewCamDisConnect.SetBackground(RGB(10, 10, 10));
|
m_ctrlReviewCamConnect.SetBackground(RGB(10, 255, 10));
|
g_pLog->DisplayMessage(_T("[HWSettingMode] ReviewCam Connect Success"));
|
b_ReviewCamconnectionstatus = TRUE;
|
}
|
else
|
{
|
g_pLog->DisplayMessage(_T("[HWSettingMode] ReviewCam Connect Fail!"));
|
b_ReviewCamconnectionstatus = FALSE;
|
}
|
}
|
|
|
void DlgHardwareSettingMode::OnBnClickedButtonReviewCamDisconnect()
|
{
|
if (m_pDHM2P->IDHM2P_IsManualProcessMode() == FALSE) return;
|
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
m_pDHM2P->IDHM2P_DisconnectReviewCamera();
|
m_pDHM2P->IDHM2P_DeinitReviewCamera();
|
m_pDHM2P->IDHM2P_ClearCameraControlObserverVector();
|
m_ctrlReviewCamConnect.SetBackground(RGB(10, 10, 10));
|
m_ctrlReviewCamDisConnect.SetBackground(RGB(200, 0, 0));
|
g_pLog->DisplayMessage(_T("[HWSettingMode] ReviewCam DisConnect Success"));
|
b_ReviewCamconnectionstatus = FALSE;
|
}
|
|
|
void DlgHardwareSettingMode::OnBnClickedButtonAlignCamConnect()
|
{
|
if (m_pDHM2P->IDHM2P_IsManualProcessMode() == FALSE) return;
|
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
|
system("netsh interface set interface name = \"Align #1\" admin = disable"
|
"&& netsh interface set interface name = \"Align #1\" admin = enable"
|
"&& netsh interface set interface name = \"Align #2\" admin = disable"
|
"&& netsh interface set interface name = \"Align #2\" admin = enable");
|
Sleep(10000);
|
if (m_pDHM2P->IDHM2P_InitAlignCamera())
|
{
|
m_ctrlAlignCamDisConnect.SetBackground(RGB(10, 10, 10));
|
m_ctrlAlignCamConnect.SetBackground(RGB(10, 255, 10));
|
g_pLog->DisplayMessage(_T("[HWSettingMode] AlignCamera Connect Success"));
|
b_AlignCamCamconnectionstatus = TRUE;
|
}
|
else
|
{
|
g_pLog->DisplayMessage(_T("[HWSettingMode] AlignCamera Connect Fail!"));
|
b_AlignCamCamconnectionstatus = FALSE;
|
}
|
}
|
|
|
void DlgHardwareSettingMode::OnBnClickedButtonAlignCamDisconnect()
|
{
|
if (m_pDHM2P->IDHM2P_IsManualProcessMode() == FALSE) return;
|
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
m_pDHM2P->IDHM2P_DeinitAlignCamera();
|
m_ctrlAlignCamConnect.SetBackground(RGB(10, 10, 10));
|
m_ctrlAlignCamDisConnect.SetBackground(RGB(200, 0, 0));
|
g_pLog->DisplayMessage(_T("[HWSettingMode] AlignCamera DisConnect Success"));
|
b_AlignCamCamconnectionstatus = FALSE;
|
}
|
|
|
void DlgHardwareSettingMode::OnBnClickedButtonAfmConnect()
|
{
|
if (m_pDHM2P->IDHM2P_IsManualProcessMode() == FALSE) return;
|
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
if (m_pDHM2P->IDHM2P_InitAFMControl())
|
{
|
m_ctrlAFMDisConnect.SetBackground(RGB(10, 10, 10));
|
m_ctrlAFMConnect.SetBackground(RGB(10, 255, 10));
|
g_pLog->DisplayMessage(_T("[HWSettingMode] Afm Connect Success"));
|
b_AFCCamconnectionstatus = TRUE;
|
}
|
else
|
{
|
g_pLog->DisplayMessage(_T("[HWSettingMode] Afm Connect Fail!"));
|
b_AFCCamconnectionstatus = FALSE;
|
}
|
}
|
|
|
void DlgHardwareSettingMode::OnBnClickedButtonAfmDisconnect()
|
{
|
if (m_pDHM2P->IDHM2P_IsManualProcessMode() == FALSE) return;
|
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
m_pDHM2P->IDHM2P_DeinitAFMControl();
|
m_ctrlAFMConnect.SetBackground(RGB(10, 10, 10));
|
m_ctrlAFMDisConnect.SetBackground(RGB(200, 0, 0));
|
g_pLog->DisplayMessage(_T("[HWSettingMode] Afm DisConnect Success"));
|
b_AFCCamconnectionstatus = FALSE;
|
}
|
|
|
void DlgHardwareSettingMode::OnCancel()
|
{
|
// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
|
if (b_AFCCamconnectionstatus && b_AlignCamCamconnectionstatus && b_ReviewCamconnectionstatus)
|
{
|
CDialogEx::OnCancel();
|
}
|
|
else IDOK == AfxMessageBox(_T("모든 H/W가 연결 상태가 아니면 창을 닫을 수 없습니다.", MB_OK | MB_ICONQUESTION));
|
return;
|
}
|
|
|
void DlgHardwareSettingMode::OnOK()
|
{
|
// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
|
if (b_AFCCamconnectionstatus && b_AlignCamCamconnectionstatus && b_ReviewCamconnectionstatus)
|
{
|
CDialogEx::OnOK();
|
}
|
|
else IDOK == AfxMessageBox(_T("모든 H/W가 연결 상태가 아니면 창을 닫을 수 없습니다.", MB_OK | MB_ICONQUESTION));
|
return;
|
}
|