Пример #1
0
bool TTTTab2::ProcessMessage(Long_t msg, Long_t param1, Long_t /*param2*/)
{
   switch (GET_MSG(msg)) {
      case kC_COMMAND:
         switch (GET_SUBMSG(msg)) {
            case kCM_BUTTON:
               switch (param1) {
                  case B_START_2_1:
                     Startfunc_2_1();
                     break;
                  case B_STOP_2_1:
                     Stopfunc_2_1();
                     break;
                  case B_START_2_2:
                     Startfunc_2_2();
                     break;
                  case B_STOP_2_2:
                     Stopfunc_2_2();
                     break;
               }
               break;
         }
         break;
   }
   return true;
}
Пример #2
0
Bool_t PMTMixed::ProcessMessageThread(Long_t msg, Long_t param1, Long_t /*param2*/)
{
   switch (GET_MSG(msg)) {
   case kC_COMMAND:
      switch (GET_SUBMSG(msg)) {
      case kCM_BUTTON:
         switch (param1) {
         case 1:
            withMakingThread();
            break;
         }
         break;
      }
      break;
   }
   return true;
}
Пример #3
0
Bool_t PMTMixed::ProcessMessage(Long_t msg, Long_t param1, Long_t param2)
{
   switch (GET_MSG(msg)) {
   case kC_COMMAND:
      switch (GET_SUBMSG(msg)) {
      case kCM_BUTTON:
         switch (param1) {
         case 0:
            withOutMakingThread();
            break;
         }
         break;
      }
      break;
   }
   return RunProcessMessageThread(msg, param1, param2);
}
Bool_t sis3316_flash::ProcessMessage(Long_t msg, Long_t parm1, Long_t c)
{
	int return_code ;
	static const char *gDefTypes[] = { "binary files", "*.bin",
									   "all files",    "*",
                                        0,             0 };
	switch(GET_MSG(msg))
	{
	case kC_COMMAND:
		switch(GET_SUBMSG(msg))
		{
		case kCM_BUTTON:
			switch(parm1){
				case BTN_VME_BROWSE:
					fiVME.fFileTypes = gDefTypes;
					new TGFileDialog(gClient->GetRoot(), this, kFDOpen, &fiVME);
					if(fiVME.fFilename){
						fVMEImgPath->SetText(fiVME.fFilename);
					}else{
						fVMEImgPath->SetText("");
					}
					break;

				case BTN_VME_PROG:
					if(fiVME.fFilename != ""){
						fBar_prog->SetBarColor(0x99ffff); // light blue
						ptr = this;
	 					return_code = gl_sis3316_adc1->update_firmware(fiVME.fFilename, 0, progressProgCallback);
						if(return_code != 0) {
							fBar_prog->SetBarColor(0xff6666); // light red
							fButReboot->ChangeBackground(this->red);
							reboot_prevent_flag = 1 ;
						}
						else {
							fBar_verify->SetBarColor(0x99ffff); // light blue
							return_code = gl_sis3316_adc1->verify_firmware(fiVME.fFilename, 0, progressVerifyCallback);
							if(return_code != 0) {
								fBar_verify->SetBarColor(0xff6666);
								fButReboot->ChangeBackground(this->red);
								reboot_prevent_flag = 1 ;
							}
							else {
								fBar_verify->SetBarColor(0x00ff00); // green
								fButReboot->ChangeBackground(this->green);
								reboot_prevent_flag = 0 ;
							}
						}

					}
					else {
						fBar_prog->SetBarColor(0xff6666);
						fButReboot->ChangeBackground(this->red);
						reboot_prevent_flag = 1 ;
					}
					break;


				case BTN_ADC1_BROWSE:
					fiADC1.fFileTypes = gDefTypes;
					new TGFileDialog(gClient->GetRoot(), this, kFDOpen, &fiADC1);
					if(fiADC1.fFilename){
						fADC1ImgPath->SetText(fiADC1.fFilename);
					}else{
						fADC1ImgPath->SetText("");
					}
					break;

				case BTN_ADC_PROG:
					if(fiADC1.fFilename != ""){
						fBar_prog->SetBarColor(0x99ffff); // light blue
						ptr = this;
						return_code = gl_sis3316_adc1->update_firmware(fiADC1.fFilename, 0x400000, progressProgCallback);
						if(return_code != 0) {
							fBar_prog->SetBarColor(0xff6666); // light red
							fButReboot->ChangeBackground(this->red);
							reboot_prevent_flag = 1 ;
						}
						else {
							fBar_verify->SetBarColor(0x99ffff); // light blue
	 						return_code = gl_sis3316_adc1->verify_firmware(fiADC1.fFilename, 0x400000, progressVerifyCallback);
							if(return_code != 0) {
								fBar_verify->SetBarColor(0xff6666);
								fButReboot->ChangeBackground(this->red);
								reboot_prevent_flag = 1 ;
							}
							else {
								fBar_verify->SetBarColor(0x00ff00); // green
								fButReboot->ChangeBackground(this->green);
								reboot_prevent_flag = 0 ;
							}
						}
					}
					else {
						fBar_prog->SetBarColor(0xff6666);
						fButReboot->ChangeBackground(this->red);
						reboot_prevent_flag = 1 ;
					}
					break;

				case BTN_REBOOT:
					if(reboot_prevent_flag == 0) {
						gl_sis3316_adc1->register_write(0x10, 0x80000000); // kill other "Interface Grant"
						gl_sis3316_adc1->register_write(0x10, 0x1); // set own "Interface Grant"
						gl_sis3316_adc1->register_write(0x0, 0x8000); // reboot FPGAs ; switch SW80-7 has to be on (Watchdog)
					}
					break;
				}
	

			}
			//
			break;

#ifdef NOT_IMPLEMENTED	
		case kCM_CHECKBUTTON:
			if(fChkADCImgSelect->GetState() == kButtonUp){
				fGrpADC->HideFrame(fHorADC2);
				fGrpADC->HideFrame(fHorADC3);
				fGrpADC->HideFrame(fHorADC4);
				fGrpADC->HideFrame(fLblADC2Img);
				fGrpADC->HideFrame(fLblADC3Img);
				fGrpADC->HideFrame(fLblADC4Img);
			}else{
				fGrpADC->ShowFrame(fHorADC2);
				fGrpADC->ShowFrame(fHorADC3);
				fGrpADC->ShowFrame(fHorADC4);
				fGrpADC->ShowFrame(fLblADC2Img);
				fGrpADC->ShowFrame(fLblADC3Img);
				fGrpADC->ShowFrame(fLblADC4Img);
			}
			break;
#endif


	}
	return kTRUE;
}
Пример #5
0
//______________________________________________________________________________
Bool_t KVFileDialog::ProcessMessage(Long_t msg, Long_t parm1, Long_t)
{
   // Process messages generated by the user input in the file dialog.

   if (!fFc->GetDisplayStat()) return kTRUE;  // Cancel button was pressed
   
   TGTreeLBEntry *e;
   TGTextLBEntry *te;
   TGFileItem *f;
   void *p = 0;
   TString txt;
   TString sdir = gSystem->WorkingDirectory();

   switch (GET_MSG(msg)) {
      case kC_COMMAND:
         switch (GET_SUBMSG(msg)) {
            case kCM_BUTTON:
               switch (parm1) {
                  case kIDF_OK:
                     // same code as under kTE_ENTER
                     if ((fDlgMode!=kKVFDDirectory) && (fTbfname->GetTextLength() == 0)) {
                        txt = "Please provide file name or use \"Cancel\"";
                        new TGMsgBox(fClient->GetRoot(), GetMainFrame(),
                                     "Missing File Name", txt, kMBIconExclamation,
                                     kMBOk);
                        return kTRUE;
                     } else if (!gSystem->AccessPathName(fTbfname->GetString(), kFileExists) &&
                                !strcmp(fOk->GetTitle(), "Save") &&
                                (!(fCheckB->GetState() == kButtonDown))) {
                        Int_t ret;
                        txt = TString::Format("File name %s already exists, OK to overwrite it?",
                                              fTbfname->GetString());
                        new TGMsgBox(fClient->GetRoot(), GetMainFrame(),
                                     "File Name Exist", txt.Data(), kMBIconExclamation,
                                     kMBYes | kMBNo, &ret);
                        if (ret == kMBNo)
                           return kTRUE;
                     }
                     if (fFileInfo->fMultipleSelection) {
                        if (fFileInfo->fFilename)
                           delete [] fFileInfo->fFilename;
                        fFileInfo->fFilename = 0;
                     }
                     else {
                        if (fFileInfo->fFilename)
                           delete [] fFileInfo->fFilename;
                        if (gSystem->IsAbsoluteFileName(fTbfname->GetString()))
                           fFileInfo->fFilename = StrDup(fTbfname->GetString());
                        else
                           fFileInfo->fFilename = gSystem->ConcatFileName(fFc->GetDirectory(),
                                                                          fTbfname->GetString());
                        fFileInfo->fFilename = StrDup(gSystem->UnixPathName(gSystem->ExpandPathName(fFileInfo->fFilename)));
                     }
                     if (fCheckB && (fCheckB->GetState() == kButtonDown))
                        fFileInfo->fOverwrite = kTRUE;
                     else
                        fFileInfo->fOverwrite = kFALSE;
                     DeleteWindow();
                     break;

                  case kIDF_CANCEL:
                     if (fFileInfo->fFilename)
                        delete [] fFileInfo->fFilename;
                     fFileInfo->fFilename = 0;
                     if (fFc->GetDisplayStat()) 
                        fFc->SetDisplayStat(kFALSE);
                     if (fFileInfo->fFileNamesList != 0) {
                        fFileInfo->fFileNamesList->Delete();
                        fFileInfo->fFileNamesList = 0;
                     }
                     DeleteWindow();
                     return kTRUE;   //no need to redraw fFc
                     break;

                  case kIDF_CDUP:
                     fFc->ChangeDirectory("..");
                     fTreeLB->Update(fFc->GetDirectory());
                     if (fFileInfo->fIniDir) delete [] fFileInfo->fIniDir;
                     fFileInfo->fIniDir = StrDup(fFc->GetDirectory());
                     if (strcmp(gSystem->WorkingDirectory(),fFc->GetDirectory())) {
                        gSystem->cd(fFc->GetDirectory());
                     }
                     break;

                  case kIDF_NEW_FOLDER: {
                     char answer[128];
                     strlcpy(answer, "(empty)", sizeof(answer));
                     new TGInputDialog(gClient->GetRoot(), GetMainFrame(),
                                       "Enter directory name:",
                                       answer/*"(empty)"*/, answer);

                     while ( strcmp(answer, "(empty)") == 0 ) {
                        new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error",
                                     "Please enter a valid directory name.",
                                     kMBIconStop, kMBOk);
                        new TGInputDialog(gClient->GetRoot(), GetMainFrame(),
                                          "Enter directory name:",
                                          answer, answer);
                     }
                     if ( strcmp(answer, "") == 0 )  // Cancel button was pressed
                        break;
                     
                     if (strcmp(gSystem->WorkingDirectory(),fFc->GetDirectory())) {
                        gSystem->cd(fFc->GetDirectory());
                     }
                     if ( gSystem->MakeDirectory(answer) != 0 )
                        new TGMsgBox(gClient->GetRoot(), GetMainFrame(), "Error", 
                                     TString::Format("Directory name \'%s\' already exists!", answer),
                                     kMBIconStop, kMBOk);
                     else {
                        fFc->DisplayDirectory();
                     }
                     gSystem->ChangeDirectory(sdir.Data());
                     break;
                  }

                  case kIDF_LIST:
                     fFv->SetViewMode(kLVList);
                     fDetails->SetState(kButtonUp);
                     break;

                  case kIDF_DETAILS:
                     fFv->SetViewMode(kLVDetails);
                     fList->SetState(kButtonUp);
                     break;
               }
               break;

            case kCM_COMBOBOX:
               switch (parm1) {
                  case kIDF_FSLB:
                     e = (TGTreeLBEntry *) fTreeLB->GetSelectedEntry();
                     if (e) {
                        fFc->ChangeDirectory(e->GetPath()->GetString());
                        fTreeLB->Update(fFc->GetDirectory());
                        if (fFileInfo->fIniDir) delete [] fFileInfo->fIniDir;
                        fFileInfo->fIniDir = StrDup(fFc->GetDirectory());
                        if (strcmp(gSystem->WorkingDirectory(),fFc->GetDirectory())) {
                           gSystem->cd(fFc->GetDirectory());
                        }
                     }
                     break;

                  case kIDF_FTYPESLB:
                     te = (TGTextLBEntry *) fTypes->GetSelectedEntry();
                     if (te) {
                        //fTbfname->Clear();
                        //fTbfname->AddText(0, fFileInfo->fFileTypes[te->EntryId()+1]);
                        fFileInfo->fFileTypeIdx = te->EntryId();
                        fFc->SetFilter(fFileInfo->fFileTypes[fFileInfo->fFileTypeIdx+1]);
                        fFc->DisplayDirectory();
                        fClient->NeedRedraw(fName);
                     }
                     break;
               }
               break;

            default:
               break;
         } // switch(GET_SUBMSG(msg))
         break;

      case kC_CONTAINER:
         switch (GET_SUBMSG(msg)) {
            case kCT_ITEMCLICK:
               if (parm1 == kButton1) {
                  if (fFc->NumSelected() > 0) {
                     if ( fFileInfo->fMultipleSelection == kFALSE ) {
                        TGLVEntry *e2 = (TGLVEntry *) fFc->GetNextSelected(&p);
                        if ((e2) && !R_ISDIR(((TGFileItem *)e2)->GetType())) {
                           fTbfname->Clear();
                           if (e2->GetItemName())
                              fTbfname->AddText(0, e2->GetItemName()->GetString());
                           fClient->NeedRedraw(fName);
                        }
                     }
                     else {
                        TString tmpString;
                        TList *tmp = fFc->GetSelectedItems();
                        TObjString *el;
                        TIter next(tmp);
                        if ( fFileInfo->fFileNamesList != 0 ) {
                           fFileInfo->fFileNamesList->Delete();
                        }
                        else {
                           fFileInfo->fFileNamesList = new TList();
                        }
                        while ((el = (TObjString *) next())) {
                           char *s = gSystem->ConcatFileName(fFc->GetDirectory(),
                                                             el->GetString());
                           tmpString += "\"" + el->GetString() + "\" ";
                           fFileInfo->fFileNamesList->Add(new TObjString(s));
                           delete [] s;
                        }
                        fTbfname->Clear();
                        fTbfname->AddText(0, tmpString);
                        fClient->NeedRedraw(fName);
                     }
                  }
               }
               break;

            case kCT_ITEMDBLCLICK:

               if (parm1 == kButton1) {
                  if (fFc->NumSelected() == 1) {
                     f = (TGFileItem *) fFc->GetNextSelected(&p);
                     if (f && R_ISDIR(f->GetType())) {
                        fFc->ChangeDirectory(f->GetItemName()->GetString());
                        fTreeLB->Update(fFc->GetDirectory());
                        if (fFileInfo->fIniDir) delete [] fFileInfo->fIniDir;
                        fFileInfo->fIniDir = StrDup(fFc->GetDirectory());
                        if (strcmp(gSystem->WorkingDirectory(),fFc->GetDirectory())) {
                           gSystem->cd(fFc->GetDirectory());
                        }
                     } else {
                        if (!strcmp(fOk->GetTitle(), "Save") &&
                            (!(fCheckB->GetState() == kButtonDown))) {

                           Int_t ret;
                           txt = TString::Format("File name %s already exists, OK to overwrite it?",
                                                 fTbfname->GetString());
                           new TGMsgBox(fClient->GetRoot(), GetMainFrame(),
                                        "File Name Exist", txt.Data(), kMBIconExclamation,
                                        kMBYes | kMBNo, &ret);
                           if (ret == kMBNo)
                              return kTRUE;
                        }
                        if (fFileInfo->fFilename)
                           delete [] fFileInfo->fFilename;
                        if (gSystem->IsAbsoluteFileName(fTbfname->GetString()))
                           fFileInfo->fFilename = StrDup(fTbfname->GetString());
                        else
                           fFileInfo->fFilename = gSystem->ConcatFileName(fFc->GetDirectory(),
                                                                          fTbfname->GetString());
                        fFileInfo->fFilename = StrDup(gSystem->UnixPathName(gSystem->ExpandPathName(fFileInfo->fFilename)));
                        if (fCheckB && (fCheckB->GetState() == kButtonDown))
                           fFileInfo->fOverwrite = kTRUE;
                        else
                           fFileInfo->fOverwrite = kFALSE;

                        DeleteWindow();
                     }
                  }
               }

               break;

            default:
               break;

         } // switch(GET_SUBMSG(msg))
         break;

      case kC_TEXTENTRY:
         switch (GET_SUBMSG(msg)) {
            case kTE_ENTER:
               // same code as under kIDF_OK
               if ((fDlgMode!=kKVFDDirectory) && (fTbfname->GetTextLength() == 0)) {
                  const char *txt2 = "Please provide file name or use \"Cancel\"";
                  new TGMsgBox(fClient->GetRoot(), GetMainFrame(),
                               "Missing File Name", txt2, kMBIconExclamation,
                               kMBOk);
                  return kTRUE;
               } else if (!gSystem->AccessPathName(fTbfname->GetString(), kFileExists)) {
                  FileStat_t buf;
                  if (!gSystem->GetPathInfo(fTbfname->GetString(), buf) &&
                      R_ISDIR(buf.fMode)) {
                     fFc->ChangeDirectory(fTbfname->GetString());
                     fTreeLB->Update(fFc->GetDirectory());
                     if (strcmp(gSystem->WorkingDirectory(), fFc->GetDirectory())) {
                        gSystem->cd(fFc->GetDirectory());
                     }
                     fName->SetText("", kFALSE);
                     return kTRUE;
                  }
                  else if (!strcmp(fOk->GetTitle(), "Save") && 
                          (!(fCheckB->GetState() == kButtonDown))) {
                     Int_t ret;
                     txt = TString::Format("File name %s already exists, OK to overwrite it?",
                                           fTbfname->GetString());
                     new TGMsgBox(fClient->GetRoot(), GetMainFrame(),
                                  "File Name Exist", txt.Data(), kMBIconExclamation,
                                  kMBYes | kMBNo, &ret);
                     if (ret == kMBNo)
                        return kTRUE;
                  }
               }
               if (fFileInfo->fFilename)
                  delete [] fFileInfo->fFilename;
               fFileInfo->fFilename = gSystem->ConcatFileName(fFc->GetDirectory(),
                                                              fTbfname->GetString());
               fFileInfo->fFilename = StrDup(gSystem->UnixPathName(gSystem->ExpandPathName(fFileInfo->fFilename)));
               if (fCheckB && (fCheckB->GetState() == kButtonDown))
                  fFileInfo->fOverwrite = kTRUE;
               else
                  fFileInfo->fOverwrite = kFALSE;
               DeleteWindow();
               break;

            default:
               break;
         }
         break;

      default:
         break;

   } // switch(GET_MSG(msg))

   fClient->NeedRedraw(fFc);
   return kTRUE;
}
Пример #6
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;
}