| | |
| | | m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); |
| | | m_crBkgnd = APPDLG_BACKGROUND_COLOR; |
| | | m_hbrBkgnd = nullptr; |
| | | m_nLeftPanelType = 2; |
| | | m_pTerminalDisplayDlg = nullptr; |
| | | m_pObserver = nullptr; |
| | | m_pPanelMaster = nullptr; |
| | |
| | | ON_UPDATE_COMMAND_UI(ID_MENU_TEST_MESSAGE_CLEAR, &CServoDlg::OnUpdateMenuTestMessageClear) |
| | | ON_COMMAND(ID_MENU_TOOLS_CLIENT_LIST, &CServoDlg::OnMenuToolsClientList) |
| | | ON_UPDATE_COMMAND_UI(ID_MENU_TOOLS_CLIENT_LIST, &CServoDlg::OnUpdateMenuToolsClientList) |
| | | ON_COMMAND(ID_MENU_WND_TEST_PANEL, &CServoDlg::OnMenuWndTestPanel) |
| | | ON_UPDATE_COMMAND_UI(ID_MENU_WND_TEST_PANEL, &CServoDlg::OnUpdateMenuWndTestPanel) |
| | | ON_COMMAND(ID_MENU_WND_PRO_PANEL, &CServoDlg::OnMenuWndProPanel) |
| | | ON_UPDATE_COMMAND_UI(ID_MENU_WND_PRO_PANEL, &CServoDlg::OnUpdateMenuWndProPanel) |
| | | ON_COMMAND(ID_MENU_HELP_ABOUT, &CServoDlg::OnMenuHelpAbout) |
| | | ON_WM_INITMENUPOPUP() |
| | | ON_WM_TIMER() |
| | |
| | | m_pMyStatusbar->setBackgroundColor(STATUSBAR_BK_RUNNING); |
| | | m_pMyStatusbar->setForegroundColor(RGB(255, 255, 255)); |
| | | SetTimer(TIMER_ID_UPDATE_RUMTIME, 500, nullptr); |
| | | } |
| | | } |
| | | else if (RX_CODE_CONTROLJOB_CHANGED == code) { |
| | | auto* cj = theApp.m_model.getMaster().getControlJob(); |
| | | CString text; |
| | | if (cj != nullptr) { |
| | | std::string st = cj->getStateText(); |
| | | text.Format(_T("ControlJob: %S (%S)"), cj->id().c_str(), st.c_str()); |
| | | if (cj->state() == SERVO::CJState::Paused) { |
| | | text += _T(" [Paused]"); |
| | | } |
| | | } |
| | | else { |
| | | text = _T("ControlJob: None"); |
| | | } |
| | | if (m_pMyStatusbar != nullptr) { |
| | | m_pMyStatusbar->setRunTimeText((LPTSTR)(LPCTSTR)text); |
| | | if (cj != nullptr && cj->state() == SERVO::CJState::Paused) { |
| | | m_pMyStatusbar->setBackgroundColor(STATUSBAR_BK_ALARM); |
| | | m_pMyStatusbar->setForegroundColor(RGB(0, 0, 0)); |
| | | } |
| | | } |
| | | } |
| | | else if (RX_CODE_EQ_ROBOT_TASK == code) { |
| | |
| | | m_pPanelProduction = new CPanelProduction(); |
| | | m_pPanelProduction->setPanelWidth(nPanelWidth); |
| | | m_pPanelProduction->Create(IDD_PANEL_PRODUCTION, this); |
| | | m_pPanelProduction->ShowWindow(SW_SHOW); |
| | | SetLeftPanelType(m_nLeftPanelType, false); |
| | | m_pPanelEquipment = new CPanelEquipment(); |
| | | m_pPanelEquipment->Create(IDD_PANEL_EQUIPMENT, this); |
| | | m_pPanelAttributes = new CPanelAttributes(); |
| | |
| | | pPage3->Create(IDD_PAGE_VARIABLE); |
| | | dlg.addPage(pPage3, "Variable"); |
| | | |
| | | CPageDataVarialbles* pPage4 = new CPageDataVarialbles(); |
| | | pPage4->Create(IDD_PAGE_VARIABLE); |
| | | dlg.addPage(pPage4, "DataVariable"); |
| | | |
| | | dlg.DoModal(); |
| | | } |
| | | |
| | |
| | | void CServoDlg::OnUpdateMenuToolsClientList(CCmdUI* pCmdUI) |
| | | { |
| | | pCmdUI->Enable(TRUE); |
| | | } |
| | | |
| | | void CServoDlg::OnMenuWndTestPanel() |
| | | { |
| | | SetLeftPanelType(1); |
| | | } |
| | | |
| | | void CServoDlg::OnUpdateMenuWndTestPanel(CCmdUI* pCmdUI) |
| | | { |
| | | pCmdUI->Enable(TRUE); |
| | | pCmdUI->SetCheck(m_nLeftPanelType == 1); |
| | | } |
| | | |
| | | void CServoDlg::OnMenuWndProPanel() |
| | | { |
| | | SetLeftPanelType(2); |
| | | } |
| | | |
| | | void CServoDlg::OnUpdateMenuWndProPanel(CCmdUI* pCmdUI) |
| | | { |
| | | pCmdUI->Enable(TRUE); |
| | | pCmdUI->SetCheck(m_nLeftPanelType == 2); |
| | | } |
| | | |
| | | void CServoDlg::OnMenuHelpAbout() |
| | |
| | | m_pMyStatusbar->MoveWindow(0, y2, rcClient.Width(), STATUSBAR_HEIGHT); |
| | | } |
| | | |
| | | void CServoDlg::SetLeftPanelType(int type, bool resize) |
| | | { |
| | | if (type != 1 && type != 2) { |
| | | type = 1; |
| | | } |
| | | |
| | | m_nLeftPanelType = type; |
| | | if (m_pPanelMaster != nullptr) { |
| | | m_pPanelMaster->ShowWindow(SW_HIDE); |
| | | } |
| | | if (m_pPanelProduction != nullptr) { |
| | | m_pPanelProduction->ShowWindow(SW_HIDE); |
| | | } |
| | | if (type == 1 && m_pPanelMaster != nullptr) { |
| | | m_pPanelMaster->ShowWindow(SW_SHOW); |
| | | } |
| | | else if (type == 2 && m_pPanelProduction != nullptr) { |
| | | m_pPanelProduction->ShowWindow(SW_SHOW); |
| | | } |
| | | |
| | | if (resize && ::IsWindow(m_hWnd)) { |
| | | Resize(); |
| | | DrawMenuBar(); |
| | | } |
| | | } |
| | | |
| | | void CServoDlg::OnClose() |
| | | { |
| | | // TODO: 在此添加消息处理程序代码和/或调用默认值 |