bool TrigEditorWindow::CreateThis(HWND hParent) { if ( getHandle() == NULL && ClassDialog::CreateModelessDialog(MAKEINTRESOURCE(IDD_TRIGEDIT), hParent) ) { ShowNormal(); ChangeTab(currTab); return true; } else { ChangeTab(currTab); return false; } RefreshWindow(); }
void _XWindow_NPCResource_New::ShowWindow(BOOL show) { if(show) { ChangeTab(_TAB_LIST); // 새로 열릴때는 리스트부터. if(g_pInventory_Window) { g_pInventory_Window->SetNPCResource_New_WindowPtr(this); if(!g_pInventory_Window->m_bLockInventory) g_pInventory_Window->m_bLockInventory = TRUE; } if(g_pDefaultTooltip_Window) g_pDefaultTooltip_Window->SetNewNPCResourceWindowPtr(this); } else { if(g_pInventory_Window && g_pInventory_Window->m_bLockInventory) g_pInventory_Window->m_bLockInventory = FALSE; } _XWindow::ShowWindow(show); }
//______________________________________________________________________________ void ArgusWindow::OnClick(TGListTreeItem* item, Int_t /* btn */) { Int_t selectedTabIndex = GetSelectedItemIndex(item); if (selectedTabIndex < 0 || selectedTabIndex == fCurrentTabIndex) { return; } ChangeTab(selectedTabIndex); }
bool TrigModifyWindow::CreateThis(HWND hParent, u32 trigIndex) { if ( getHandle() == NULL && ClassDialog::CreateModelessDialog(MAKEINTRESOURCE(IDD_TRIGMODIFY), hParent) ) { ShowNormal(); ChangeTab(currTab); RefreshWindow(trigIndex); return true; } else if ( getHandle() != NULL ) { Show(); ChangeTab(currTab); RefreshWindow(trigIndex); } return false; }
// Process mouse event, return false if we didn't process it bool wxTabView::OnEvent(wxMouseEvent& event) { if (!event.LeftDown()) return false; wxCoord x, y; event.GetPosition(&x, &y); wxTabControl *hitControl = NULL; wxTabLayerList::compatibility_iterator node = m_layers.GetFirst(); while (node) { wxTabLayer *layer = (wxTabLayer *)node->GetData(); wxList::compatibility_iterator node2 = layer->GetFirst(); while (node2) { wxTabControl *control = (wxTabControl *)node2->GetData(); if (control->HitTest((int)x, (int)y)) { hitControl = control; node = wxTabLayerList::compatibility_iterator(); node2 = wxList::compatibility_iterator(); } else node2 = node2->GetNext(); } if (node) node = node->GetNext(); } if (!hitControl) return false; wxTabControl *currentTab = FindTabControlForId(m_tabSelection); if (hitControl == currentTab) return false; ChangeTab(hitControl); return true; }
// Process mouse event, return false if we didn't process it bool wxTabView::OnEvent(wxMouseEvent& event) { if (!event.LeftDown()) return false; wxCoord x, y; event.GetPosition(&x, &y); wxTabControl *hitControl = NULL; wxTabLayerList::compatibility_iterator node = m_layers.GetFirst(); #if defined(__INTEL_COMPILER) && 1 /* VDM auto patch */ # pragma ivdep # pragma swp # pragma unroll # pragma prefetch # if 0 # pragma simd noassert # endif #endif /* VDM auto patch */ while (node) { wxTabLayer *layer = (wxTabLayer *)node->GetData(); wxList::compatibility_iterator node2 = layer->GetFirst(); #if defined(__INTEL_COMPILER) && 1 /* VDM auto patch */ # pragma ivdep # pragma swp # pragma unroll # pragma prefetch # if 0 # pragma simd noassert # endif #endif /* VDM auto patch */ while (node2) { wxTabControl *control = (wxTabControl *)node2->GetData(); if (control->HitTest((int)x, (int)y)) { hitControl = control; node = wxTabLayerList::compatibility_iterator(); node2 = wxList::compatibility_iterator(); } else node2 = node2->GetNext(); } if (node) node = node->GetNext(); } if (!hitControl) return false; wxTabControl *currentTab = FindTabControlForId(m_tabSelection); if (hitControl == currentTab) return false; ChangeTab(hitControl); return true; }
void CuDlgIpmTabCtrl::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) { *pResult = 0; if (!ChangeTab()) *pResult = 1; }
void CuDlgIpmTabCtrl::SelectPage (int nPage) { int nSel = m_cTab1.SetCurSel(nPage); if (nSel != -1) ChangeTab(); }
//______________________________________________________________________________ Bool_t ArgusWindow::ProcessMessage(Long_t msg, Long_t param1, Long_t /*param2*/) { ArgusTab *tab = 0; // cout << "ArgusWindow::ProcessMessage " << GET_MSG(msg) << " " << GET_SUBMSG(msg) << " " << param1 << endl; // Process messages coming from widgets associated with the dialog. switch (GET_MSG(msg)) { case kC_COMMAND: switch (GET_SUBMSG(msg)) { case kCM_MENU: tab = GetTabObjectAt(fCurrentTabIndex); tab->BaseMenuClicked(0, param1); switch (param1) { case M_FILE_NEW_WINDOW: if (!OpenNewWindow(fCurrentTabIndex)) { return kFALSE; } break; case M_FILE_EXIT: CloseWindow(); break; case M_FILE_CONTROLLER: if (fController->IsHidden()) { fController->ShowContainer(); } break; default: ProcessMessageNetFolder(param1); break; } break; case kCM_BUTTON: break; case kCM_LISTBOX: break; case kCM_TAB: if (param1 != fCurrentTabID) { ChangeTab(GetTabObjectIndex(param1)); break; } } break; case kC_DOCK: switch (GET_SUBMSG(msg)) { // hide/show run# and event# case kDOCK_DOCK: ((TGCompositeFrame*)(fRunNumber->GetParent()->GetParent()))->HideFrame((TGFrame*)(fRunNumber->GetParent())); ((TGCompositeFrame*)(fEventNumber->GetParent()->GetParent()))->HideFrame((TGFrame*)(fEventNumber->GetParent())); break; case kDOCK_UNDOCK: ((TGCompositeFrame*)(fRunNumber->GetParent()->GetParent()))->ShowFrame((TGFrame*)(fRunNumber->GetParent())); ((TGCompositeFrame*)(fEventNumber->GetParent()->GetParent()))->ShowFrame((TGFrame*)(fEventNumber->GetParent())); break; case kDOCK_SHOW: ((TGCompositeFrame*)(fRunNumber->GetParent()->GetParent()))->HideFrame((TGFrame*)(fRunNumber->GetParent())); ((TGCompositeFrame*)(fEventNumber->GetParent()->GetParent()))->HideFrame((TGFrame*)(fEventNumber->GetParent())); break; case kDOCK_HIDE: ((TGCompositeFrame*)(fRunNumber->GetParent()->GetParent()))->ShowFrame((TGFrame*)(fRunNumber->GetParent())); ((TGCompositeFrame*)(fEventNumber->GetParent()->GetParent()))->ShowFrame((TGFrame*)(fEventNumber->GetParent())); break; } break; } return kTRUE; }
//______________________________________________________________________________ Bool_t ArgusWindow::OpenNewWindow(Int_t tabIndex) { ArgusTab *newTab = 0; ArgusWindow *subWindow = 0; Int_t iParent = 0; ROMEString newTitle = ""; Int_t iSub; Int_t nSub; ArgusTab *tab = GetTabObjectAt(tabIndex); if (!tab) { return kFALSE; } tab->SetRegisteringActive(kFALSE); // Reuse the unmapped sub window with the selected tab, if any. nSub = fSubWindows->GetEntriesFast(); for (iSub = 0; iSub < nSub; iSub++) { if (!IsSubWindowRunningAt(iSub)) { subWindow = static_cast<ArgusWindow*>(fSubWindows->At(iSub)); if (subWindow->fCurrentTabIndex == fCurrentTabIndex) { subWindow->MapWindow(); SetSubWindowRunningAt(iSub, kTRUE); return kTRUE; } } } Int_t tabIndexOrg = fCurrentTabIndex; ChangeTab(tabIndex); newTitle = "ARGUS - "; newTitle += tab->GetTitle(); subWindow = CreateSubWindow(); subWindow->SetStatusBarSwitch(fStatusBarSwitch); subWindow->SetListTreeView(kTRUE); // sub-windows are always in list-tree mode, which uses fMainFrame rather than fTab. subWindow->SetWindowScale(fWindowScale); subWindow->SetWindowName(newTitle.Data()); subWindow->SetWindowId(fSubWindows->GetEntriesFast()); subWindow->ClearEventHandlingRequest(); subWindow->ClearEventHandlingForced(); newTab = subWindow->GetTabObjectAt(fCurrentTabIndex); newTab->SetTabActive(kTRUE); newTab->SetSwitch(kTRUE); newTab->SetScreenShotName(tab->GetScreenShotName()); ArgusHistoDisplay *newHistoDisplay; ArgusHistoDisplay *histoDisplay; if ((newHistoDisplay = dynamic_cast<ArgusHistoDisplay*>(newTab)) && (histoDisplay = dynamic_cast<ArgusHistoDisplay*>(tab))) { newHistoDisplay->SetNumberOfPadsX(histoDisplay->GetNumberOfPadsX()); newHistoDisplay->SetNumberOfPadsY(histoDisplay->GetNumberOfPadsY()); } // switch on all the ancestor tabs Int_t iTab = tabIndex; while ((iParent=fParentIndex[iTab]) != -1) { subWindow->GetTabObjectAt(iParent)->SetSwitch(kTRUE); iTab = iParent; } SetSubWindowRunningAt(fSubWindows->GetEntriesFast(),kTRUE); fSubWindows->Add(subWindow); subWindow->Start(); // force event handler for new window ForceEventHandling(); subWindow->TriggerEventHandler(); ClearEventHandlingForced(); ChangeTab(tabIndexOrg); return kTRUE; }
// Process a touch event void ProcessTouch(DisplayField *df) { if (df->IsButton()) { Button *f = static_cast<Button*>(df); currentButton = f; mgr.Press(f, true); Event ev = (Event)(f->GetEvent()); switch(ev) { case evTabControl: case evTabPrint: // case evTabFiles: case evTabMsg: case evTabInfo: ChangeTab(f); break; case evAdjustActiveTemp: case evAdjustStandbyTemp: if (static_cast<IntegerButton*>(f)->GetValue() < 0) { static_cast<IntegerButton*>(f)->SetValue(0); } Adjusting(f); mgr.SetPopup(setTempPopup, tempPopupX, popupY); break; case evAdjustSpeed: case evExtrusionFactor: Adjusting(f); mgr.SetPopup(setTempPopup, tempPopupX, popupY); break; case evSetInt: if (fieldBeingAdjusted != NULL) { int val = static_cast<const IntegerButton*>(fieldBeingAdjusted)->GetValue(); switch(fieldBeingAdjusted->GetEvent()) { case evAdjustActiveTemp: { int heater = fieldBeingAdjusted->GetIParam(); if (heater == 0) { SerialIo::SendString("M140 S"); SerialIo::SendInt(val); SerialIo::SendChar('\n'); } else { SerialIo::SendString("G10 P"); SerialIo::SendInt(heater - 1); SerialIo::SendString(" S"); SerialIo::SendInt(val); SerialIo::SendChar('\n'); } } break; case evAdjustStandbyTemp: { int heater = fieldBeingAdjusted->GetIParam(); if (heater > 0) { SerialIo::SendString("G10 P"); SerialIo::SendInt(heater - 1); SerialIo::SendString(" R"); SerialIo::SendInt(val); SerialIo::SendChar('\n'); } } break; case evExtrusionFactor: { int heater = fieldBeingAdjusted->GetIParam(); SerialIo::SendString("M221 P"); SerialIo::SendInt(heater); SerialIo::SendString(" S"); SerialIo::SendInt(val); SerialIo::SendChar('\n'); } break; default: { const char* null cmd = fieldBeingAdjusted->GetSParam(); if (cmd != NULL) { SerialIo::SendString(cmd); SerialIo::SendInt(val); SerialIo::SendChar('\n'); } } break; } mgr.SetPopup(NULL); StopAdjusting(); } break; case evAdjustInt: if (fieldBeingAdjusted != NULL) { static_cast<IntegerButton*>(fieldBeingAdjusted)->Increment(f->GetIParam()); ShortenTouchDelay(); } break; case evMove: mgr.SetPopup(movePopup, movePopupX, movePopupY); break; case evMoveX: case evMoveY: case evMoveZ: SerialIo::SendString("G91\nG1 "); SerialIo::SendChar((ev == evMoveX) ? 'X' : (ev == evMoveY) ? 'Y' : 'Z'); SerialIo::SendString(f->GetSParam()); SerialIo::SendString(" F6000\nG90\n"); break; case evListFiles: FileManager::DisplayFilesList(); break; case evListMacros: FileManager::DisplayMacrosList(); break; case evCalTouch: CalibrateTouch(); CheckSettingsAreSaved(); break; case evFactoryReset: PopupAreYouSure(ev, "Confirm factory reset"); break; case evRestart: PopupAreYouSure(ev, "Confirm restart"); break; case evSaveSettings: SaveSettings(); if (restartNeeded) { PopupRestart(); } break; case evSelectHead: { int head = f->GetIParam(); if (head == 0) { // There is no command to switch the bed to standby temperature, so we always set it to the active temperature SerialIo::SendString("M140 S"); SerialIo::SendInt(activeTemps[0]->GetValue()); SerialIo::SendChar('\n'); } else if (head < (int)maxHeaters) { if (heaterStatus[head] == 2) // if head is active { SerialIo::SendString("T-1\n"); } else { SerialIo::SendChar('T'); SerialIo::SendInt(head - 1); SerialIo::SendChar('\n'); } } } break; case evFile: { const char *fileName = f->GetSParam(); if (fileName != nullptr) { currentFile = fileName; SerialIo::SendString("M36 /gcodes/"); // ask for the file info SerialIo::SendString(currentFile); SerialIo::SendChar('\n'); fpNameField->SetValue(currentFile); // Clear out the old field values, they relate to the previous file we looked at until we process the response fpSizeField->SetValue(0); // would be better to make it blank fpHeightField->SetValue(0.0); // would be better to make it blank fpLayerHeightField->SetValue(0.0); // would be better to make it blank fpFilamentField->SetValue(0); // would be better to make it blank generatedByText.clear(); fpGeneratedByField->SetChanged(); mgr.SetPopup(filePopup, (DisplayX - filePopupWidth)/2, (DisplayY - filePopupHeight)/2); } else { ErrorBeep(); } } break; case evMacro: { const char *fileName = f->GetSParam(); if (fileName != nullptr) { if (fileName[0] == '*') // if it's a directory { } else { SerialIo::SendString("M98 P/macros/"); SerialIo::SendString(fileName); SerialIo::SendChar('\n'); } } else { ErrorBeep(); } } break; case evPrint: mgr.SetPopup(NULL); if (currentFile != NULL) { SerialIo::SendString("M32 "); SerialIo::SendString(currentFile); SerialIo::SendChar('\n'); printingFile.copyFrom(currentFile); currentFile = NULL; // allow the file list to be updated CurrentButtonReleased(); ChangeTab(tabPrint); } break; case evCancelPrint: CurrentButtonReleased(); mgr.SetPopup(NULL); currentFile = NULL; // allow the file list to be updated break; case evDeleteFile: CurrentButtonReleased();; PopupAreYouSure(ev, "Confirm file delete"); break; case evSendCommand: case evPausePrint: case evResumePrint: case evReset: SerialIo::SendString(f->GetSParam()); SerialIo::SendChar('\n'); break; case evScrollFiles: FileManager::Scroll(f->GetIParam()); ShortenTouchDelay(); break; case evKeyboard: mgr.SetPopup(keyboardPopup, keyboardPopupX, keyboardPopupY); break; case evInvertDisplay: nvData.lcdOrientation = static_cast<DisplayOrientation>(nvData.lcdOrientation ^ (ReverseX | ReverseY | InvertText | InvertBitmap)); lcd.InitLCD(nvData.lcdOrientation); CalibrateTouch(); CheckSettingsAreSaved(); break; case evSetBaudRate: Adjusting(f); mgr.SetPopup(baudPopup, fullWidthPopupX, popupY); break; case evAdjustBaudRate: nvData.baudRate = f->GetIParam(); SerialIo::Init(nvData.baudRate); baudRateButton->SetValue(nvData.baudRate); CheckSettingsAreSaved(); CurrentButtonReleased(); mgr.SetPopup(NULL); StopAdjusting(); break; case evSetVolume: Adjusting(f); mgr.SetPopup(volumePopup, fullWidthPopupX, popupY); break; case evAdjustVolume: nvData.touchVolume = f->GetIParam(); volumeButton->SetValue(nvData.touchVolume); TouchBeep(); // give audible feedback of the touch at the new volume level CheckSettingsAreSaved(); break; case evSetLanguage: Adjusting(f); mgr.SetPopup(languagePopup, fullWidthPopupX, popupY); break; case evAdjustLanguage: nvData.language = f->GetIParam(); languageButton->SetText(longLanguageNames[nvData.language]); CheckSettingsAreSaved(); // not sure we need this because we are going to reset anyway break; case evYes: CurrentButtonReleased(); mgr.SetPopup(nullptr); switch (eventToConfirm) { case evFactoryReset: FactoryReset(); break; case evDeleteFile: if (currentFile != nullptr) { SerialIo::SendString("M30 "); SerialIo::SendString(currentFile); SerialIo::SendChar('\n'); filesListTimer.SetPending(); currentFile = nullptr; } break; case evRestart: if (nvData != savedNvData) { SaveSettings(); } Restart(); break; default: break; } eventToConfirm = evNull; currentFile = NULL; break; case evCancel: eventToConfirm = evNull; currentFile = NULL; CurrentButtonReleased(); mgr.SetPopup(NULL); break; case evKey: if (!userCommandBuffer.full()) { userCommandBuffer.add((char)f->GetIParam()); userCommandField->SetChanged(); } break; case evBackspace: if (!userCommandBuffer.isEmpty()) { userCommandBuffer.erase(userCommandBuffer.size() - 1); userCommandField->SetChanged(); ShortenTouchDelay(); } break; case evSendKeyboardCommand: if (userCommandBuffer.size() != 0) { SerialIo::SendString(userCommandBuffer.c_str()); SerialIo::SendChar('\n'); } break; default: break; }