| | |
| | | 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) { |
| | | int exCode; |
| | | if (pAny->getIntValue("exCode", exCode)) { |
| | |
| | | BOOL CServoDlg::OnInitDialog() |
| | | { |
| | | CDialogEx::OnInitDialog(); |
| | | const ULONGLONG boot_ui_begin = GetTickCount64(); |
| | | CWaitCursor wait; // 整个初始化期显示等待光标,避免用户误以为卡死 |
| | | |
| | | // 将“关于...”菜单项添加到系统菜单中。 |
| | | |
| | |
| | | |
| | | |
| | | // model init |
| | | const ULONGLONG boot_model_begin = GetTickCount64(); |
| | | theApp.m_model.init(); |
| | | LOGI("[BOOT][UI] m_model.init finished, cost=%llu ms (since OnInit start %llu ms)", |
| | | (unsigned long long)(GetTickCount64() - boot_model_begin), |
| | | (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | SetTimer(TIMER_ID_LOGIN, 1500, nullptr); |
| | | LOGI("[BOOT][UI] after model.init, elapsed=%llu ms", (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | |
| | | // 菜单 |
| | | CMenu menu; |
| | | menu.LoadMenu(IDR_MENU_APP); |
| | | SetMenu(&menu); |
| | | LOGI("[BOOT][UI] menu loaded, elapsed=%llu ms", (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | |
| | | |
| | | // toolbar |
| | |
| | | ASSERT(hMenu); |
| | | ::EnableMenuItem(hMenu, ID_OPEATOR_SWITCH, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); |
| | | m_pTopToolbar->GetBtn(IDC_BUTTON_JOBS)->EnableWindow(TRUE); |
| | | LOGI("[BOOT][UI] toolbar created, elapsed=%llu ms", (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | |
| | | |
| | | // Tab |
| | | const ULONGLONG boot_pages_begin = GetTickCount64(); |
| | | m_pPageGraph1 = new CPageGraph1(); |
| | | m_pPageGraph1->Create(IDD_PAGE_GRAPH1, this); |
| | | LOGI("[BOOT][UI] page Graph1 created, cost=%llu ms (elapsed=%llu ms)", |
| | | (unsigned long long)(GetTickCount64() - boot_pages_begin), |
| | | (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | m_pPageGraph2 = new CPageGraph2(); |
| | | m_pPageGraph2->Create(IDD_PAGE_GRAPH2, this); |
| | | LOGI("[BOOT][UI] page Graph2 created, cost=%llu ms (elapsed=%llu ms)", |
| | | (unsigned long long)(GetTickCount64() - boot_pages_begin), |
| | | (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | m_pPageGlassList = new CPageGlassList(); |
| | | m_pPageGlassList->Create(IDD_PAGE_GLASS_LIST, this); |
| | | LOGI("[BOOT][UI] page GlassList created, cost=%llu ms (elapsed=%llu ms)", |
| | | (unsigned long long)(GetTickCount64() - boot_pages_begin), |
| | | (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | m_pPageRecipe = new CPageRecipe(); |
| | | m_pPageRecipe->Create(IDD_PAGE_RECIPE, this); |
| | | LOGI("[BOOT][UI] page Recipe created, cost=%llu ms (elapsed=%llu ms)", |
| | | (unsigned long long)(GetTickCount64() - boot_pages_begin), |
| | | (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | m_pPageAlarm = new CPageAlarm(); |
| | | m_pPageAlarm->Create(IDD_DIALOG_ALARM, this); |
| | | LOGI("[BOOT][UI] page Alarm created, cost=%llu ms (elapsed=%llu ms)", |
| | | (unsigned long long)(GetTickCount64() - boot_pages_begin), |
| | | (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | m_pPageLog = new CPageLog(); |
| | | m_pPageLog->Create(IDD_DIALOG_LOG, this); |
| | | LOGI("[BOOT][UI] page Log created, cost=%llu ms (elapsed=%llu ms)", |
| | | (unsigned long long)(GetTickCount64() - boot_pages_begin), |
| | | (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | m_pPageTransferLog = new CPageTransferLog(); |
| | | m_pPageTransferLog->Create(IDD_PAGE_TRANSFER_LOG, this); |
| | | LOGI("[BOOT][UI] page TransferLog created, cost=%llu ms (elapsed=%llu ms)", |
| | | (unsigned long long)(GetTickCount64() - boot_pages_begin), |
| | | (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | |
| | | CHmTab* m_pTab = CHmTab::Hook(GetDlgItem(IDC_TAB1)->m_hWnd); |
| | | m_pTab->SetPaddingLeft(20); |
| | |
| | | m_pTab->SetCurSel(0); |
| | | m_pTab->SetBkgndColor(RGB(222, 222, 222)); |
| | | ShowChildPage(0); |
| | | LOGI("[BOOT][UI] pages/tabs created, elapsed=%llu ms", (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | |
| | | // 读取面板宽 |
| | | CString strIniFile; |
| | |
| | | m_pPanelAttributes = new CPanelAttributes(); |
| | | m_pPanelAttributes->Create(IDD_PANEL_ATTRIBUTES, this); |
| | | |
| | | LOGI("[BOOT][UI] panels created, elapsed=%llu ms", (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | |
| | | // statusbar |
| | | m_pMyStatusbar = new CMyStatusbar(); |
| | | m_pMyStatusbar->Create(IDD_STATUSBAR, this); |
| | | m_pMyStatusbar->ShowWindow(SW_SHOW); |
| | | LOGI("[BOOT][UI] statusbar created, elapsed=%llu ms", (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | |
| | | |
| | | |
| | |
| | | InitRxWindows(); |
| | | Resize(); |
| | | |
| | | // 加载历史缓存提示 |
| | | { |
| | | CWaitCursor wait; |
| | | if (m_pMyStatusbar != nullptr) { |
| | | m_pMyStatusbar->setRunTimeText(_T("正在加载历史缓存...")); |
| | | m_pMyStatusbar->UpdateWindow(); |
| | | } |
| | | LOGI("[BOOT][UI] before master.init, elapsed=%llu ms", (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | |
| | | // 相当于延时调用master的初始化 |
| | | const ULONGLONG boot_master_begin = GetTickCount64(); |
| | | theApp.m_model.m_master.init(); |
| | | LOGI("[BOOT][UI] m_master.init finished, cost=%llu ms (since OnInit start %llu ms)", |
| | | (unsigned long long)(GetTickCount64() - boot_master_begin), |
| | | (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | theApp.m_model.loadPortParams(); |
| | | } |
| | | |
| | | |
| | | // 初始化master以后需要控件绑定数据 |
| | |
| | | //SystemLogManager::getInstance. |
| | | |
| | | |
| | | LOGI("[BOOT][UI] OnInitDialog finished, total cost=%llu ms", |
| | | (unsigned long long)(GetTickCount64() - boot_ui_begin)); |
| | | |
| | | return TRUE; // 除非将焦点设置到控件,否则返回 TRUE |
| | | } |
| | | |