Exemple #1
0
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);
}
Exemple #3
0
//______________________________________________________________________________
void ArgusWindow::OnClick(TGListTreeItem* item, Int_t /* btn */)
{
   Int_t selectedTabIndex = GetSelectedItemIndex(item);
   if (selectedTabIndex < 0 || selectedTabIndex == fCurrentTabIndex) {
      return;
   }
   ChangeTab(selectedTabIndex);
}
Exemple #4
0
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;
}
Exemple #6
0
// 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;
}
Exemple #7
0
void CuDlgIpmTabCtrl::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	*pResult = 0;
	if (!ChangeTab())
		*pResult = 1;
}
Exemple #8
0
void CuDlgIpmTabCtrl::SelectPage (int nPage)
{
	int nSel = m_cTab1.SetCurSel(nPage);
	if (nSel != -1)
		ChangeTab();
}
Exemple #9
0
//______________________________________________________________________________
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;
}
Exemple #10
0
//______________________________________________________________________________
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;
}
Exemple #11
0
// 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;
		}