LAPTOP-SNT8I5JK\Boounion
2025-07-11 2de4eb139c0cc595db761fedd822549384822fc9
SourceCode/Bond/EAPSimulator/EAPSimulatorDlg.cpp
@@ -9,6 +9,8 @@
#include "afxdialogex.h"
#include "Common.h"
#include <regex>
#include "CTerminalDisplayDlg.h"
#include "CEDEventReportDlg.h"
#ifdef _DEBUG
@@ -73,6 +75,10 @@
   ON_WM_DESTROY()
   ON_BN_CLICKED(IDC_BUTTON_CONNECT, &CEAPSimulatorDlg::OnBnClickedButtonConnect)
   ON_BN_CLICKED(IDC_BUTTON_DISCONNECT, &CEAPSimulatorDlg::OnBnClickedButtonDisconnect)
   ON_BN_CLICKED(IDC_BUTTON_ARE_YOU_THERE, &CEAPSimulatorDlg::OnBnClickedButtonAreYouThere)
   ON_BN_CLICKED(IDC_BUTTON_DATETIME_SYNC, &CEAPSimulatorDlg::OnBnClickedButtonDatetimeSync)
   ON_BN_CLICKED(IDC_BUTTON_TERMINAL_DISPLAY, &CEAPSimulatorDlg::OnBnClickedButtonTerminalDisplay)
   ON_BN_CLICKED(IDC_BUTTON_ED_EVENT_REPORT, &CEAPSimulatorDlg::OnBnClickedButtonEdEventReport)
END_MESSAGE_MAP()
@@ -103,13 +109,11 @@
            int state;
            if (pAny->getIntValue("exCode", state)) {
               if ((ACTIVESTATE)state == ACTIVESTATE::SELECTED) {
                  GetDlgItem(IDC_BUTTON_DISCONNECT)->EnableWindow(TRUE);
                  SetGroup2Enabled(TRUE);
               }
               if ((ACTIVESTATE)state == ACTIVESTATE::NOT_CONNECTED) {
                  GetDlgItem(IDC_BUTTON_DISCONNECT)->EnableWindow(FALSE);
                  GetDlgItem(IDC_EDIT_IP)->EnableWindow(TRUE);
                  GetDlgItem(IDC_EDIT_PORT)->EnableWindow(TRUE);
                  GetDlgItem(IDC_BUTTON_CONNECT)->EnableWindow(TRUE);
                  SetGroup2Enabled(FALSE);
                  SetGroup1Enabled(TRUE);
               }
            }
         }
@@ -125,6 +129,8 @@
      theApp.m_model.getObservable()->observeOn(pRxWindows->mainThread())
         ->subscribe(m_pObserver);
   }
   theApp.m_model.init();
}
BOOL CEAPSimulatorDlg::OnInitDialog()
@@ -158,6 +164,8 @@
   SetDlgItemText(IDC_EDIT_IP, _T("127.0.0.1"));
   SetDlgItemInt(IDC_EDIT_PORT, 7000);
   SetGroup2Enabled(FALSE);
   SetGroup1Enabled(TRUE);
   // log edit
@@ -236,6 +244,22 @@
   m_pObserver = NULL;
}
void CEAPSimulatorDlg::SetGroup1Enabled(bool enabled)
{
   GetDlgItem(IDC_EDIT_IP)->EnableWindow(enabled);
   GetDlgItem(IDC_EDIT_PORT)->EnableWindow(enabled);
   GetDlgItem(IDC_BUTTON_CONNECT)->EnableWindow(enabled);
}
void CEAPSimulatorDlg::SetGroup2Enabled(bool enabled)
{
   GetDlgItem(IDC_BUTTON_DISCONNECT)->EnableWindow(enabled);
   GetDlgItem(IDC_BUTTON_ARE_YOU_THERE)->EnableWindow(enabled);
   GetDlgItem(IDC_BUTTON_DATETIME_SYNC)->EnableWindow(enabled);
   GetDlgItem(IDC_BUTTON_TERMINAL_DISPLAY)->EnableWindow(enabled);
   GetDlgItem(IDC_BUTTON_ED_EVENT_REPORT)->EnableWindow(enabled);
}
void CEAPSimulatorDlg::OnBnClickedButtonConnect()
{
   CString strIp;
@@ -243,12 +267,32 @@
   GetDlgItemText(IDC_EDIT_IP, strIp);
   port = GetDlgItemInt(IDC_EDIT_PORT);
   theApp.m_model.connectEq((LPTSTR)(LPCTSTR)strIp, port);
   GetDlgItem(IDC_EDIT_IP)->EnableWindow(FALSE);
   GetDlgItem(IDC_EDIT_PORT)->EnableWindow(FALSE);
   GetDlgItem(IDC_BUTTON_CONNECT)->EnableWindow(FALSE);
   SetGroup1Enabled(FALSE);
}
void CEAPSimulatorDlg::OnBnClickedButtonDisconnect()
{
   theApp.m_model.disconnect();
}
void CEAPSimulatorDlg::OnBnClickedButtonAreYouThere()
{
   theApp.m_model.m_pHsmsActive->hsmsAreYouThere();
}
void CEAPSimulatorDlg::OnBnClickedButtonDatetimeSync()
{
   theApp.m_model.m_pHsmsActive->hsmsDatetimeSync();
}
void CEAPSimulatorDlg::OnBnClickedButtonTerminalDisplay()
{
   CTerminalDisplayDlg dlg;
   dlg.DoModal();
}
void CEAPSimulatorDlg::OnBnClickedButtonEdEventReport()
{
   CEDEventReportDlg dlg;
   dlg.DoModal();
}