| | |
| | | #include "Common.h" |
| | | #include "Log.h" |
| | | #include "SecsTestDlg.h" |
| | | #include "AlarmDlg.h" |
| | | #include <chrono> |
| | | #include <thread> |
| | | #include <cmath> |
| | |
| | | m_bShowAlarmWnd = FALSE; |
| | | m_bIsRobotMoving = FALSE; |
| | | m_pLogDlg = nullptr; |
| | | m_pAlarmDlg = nullptr; |
| | | m_pTerminalDisplayDlg = nullptr; |
| | | m_pObserver = nullptr; |
| | | } |
| | |
| | | ON_WM_SIZE() |
| | | ON_WM_CLOSE() |
| | | ON_MESSAGE(ID_MSG_LOGDLG_HIDE, &CServoDlg::OnLogDlgHide) |
| | | ON_MESSAGE(ID_MSG_ALARMDLG_HIDE, &CServoDlg::OnAlarmDlgHide) |
| | | ON_WM_MOVING() |
| | | ON_WM_MOVE() |
| | | ON_COMMAND(ID_MENU_FILE_EXIT, &CServoDlg::OnMenuFileExit) |
| | |
| | | delete m_pLogDlg; |
| | | m_pLogDlg = nullptr; |
| | | } |
| | | |
| | | if (m_pAlarmDlg != nullptr) { |
| | | m_pAlarmDlg->DestroyWindow(); |
| | | delete m_pAlarmDlg; |
| | | m_pAlarmDlg = nullptr; |
| | | } |
| | | |
| | | if (m_pTerminalDisplayDlg != nullptr) { |
| | | m_pTerminalDisplayDlg->DestroyWindow(); |
| | | delete m_pTerminalDisplayDlg; |
| | |
| | | void CServoDlg::OnBnClickedButtonLog() |
| | | { |
| | | m_bShowLogWnd = !m_bShowLogWnd; |
| | | |
| | | // 如果要显示日志窗口,则隐藏报警窗口 |
| | | if (m_bShowLogWnd) { |
| | | m_bShowAlarmWnd = false; |
| | | if (m_pAlarmDlg != nullptr) { |
| | | m_pAlarmDlg->ShowWindow(SW_HIDE); |
| | | UpdateAlarmBtn(); |
| | | } |
| | | } |
| | | |
| | | if (m_pLogDlg == nullptr) { |
| | | m_pLogDlg = new CLogDlg(); |
| | | m_pLogDlg->Create(IDD_DIALOG_LOG, this); |
| | |
| | | return 0; |
| | | } |
| | | |
| | | LRESULT CServoDlg::OnAlarmDlgHide(WPARAM wParam, LPARAM lParam) |
| | | { |
| | | m_bShowAlarmWnd = FALSE; |
| | | UpdateAlarmBtn(); |
| | | LOGE("OnAlarmDlgHide"); |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | void CServoDlg::OnMoving(UINT fwSide, LPRECT pRect) |
| | | { |
| | | CDialogEx::OnMoving(fwSide, pRect); |
| | |
| | | CRect rcWnd; |
| | | GetWindowRect(&rcWnd); |
| | | m_pLogDlg->MoveWindow(rcWnd.left, rcWnd.bottom - 8, rcWnd.Width(), 200); |
| | | } |
| | | |
| | | if (m_pAlarmDlg != nullptr && !m_pAlarmDlg->IsZoomed()) { |
| | | CRect rcWnd; |
| | | GetWindowRect(&rcWnd); |
| | | m_pAlarmDlg->MoveWindow(rcWnd.left, rcWnd.bottom - 8, rcWnd.Width(), 200); |
| | | } |
| | | |
| | | CDialogEx::OnMove(x, y); |
| | |
| | | void CServoDlg::OnBnClickedButtonAlarm() |
| | | { |
| | | // TODO: 在此添加控件通知处理程序代码 |
| | | CAlarmDlg dlg; |
| | | dlg.DoModal(); |
| | | m_bShowAlarmWnd = !m_bShowAlarmWnd; |
| | | |
| | | // 如果要显示报警窗口,则隐藏日志窗口 |
| | | if (m_bShowAlarmWnd) { |
| | | m_bShowLogWnd = false; |
| | | if (m_pLogDlg != nullptr) { |
| | | m_pLogDlg->ShowWindow(SW_HIDE); |
| | | UpdateLogBtn(); |
| | | } |
| | | } |
| | | |
| | | if (m_pAlarmDlg == nullptr) { |
| | | m_pAlarmDlg = new CAlarmDlg(); |
| | | m_pAlarmDlg->Create(IDD_DIALOG_ALARM, this); |
| | | |
| | | CRect rcWnd; |
| | | GetWindowRect(&rcWnd); |
| | | m_pAlarmDlg->MoveWindow(rcWnd.left, rcWnd.bottom - 8, rcWnd.Width(), 200); |
| | | } |
| | | ASSERT(m_pAlarmDlg); |
| | | m_pAlarmDlg->ShowWindow(m_bShowAlarmWnd ? SW_SHOW : SW_HIDE); |
| | | |
| | | UpdateAlarmBtn(); |
| | | } |