ARA ROOT Test BEd Software

AraDisplay/AraControlPanel.cxx

00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 #include <fstream>
00009 #include <iostream>
00010 #include "AraDisplayConventions.h"
00011 #include "AraControlPanel.h"
00012 #include "AraDisplay.h"
00013 
00014 #include "TString.h"
00015 #include "TObjArray.h"
00016 #include "TObjString.h"
00017 #include "TVector3.h"
00018 #include "TROOT.h"
00019 #include "TPaveText.h"
00020 #include "TPad.h"
00021 #include "TText.h"
00022 #include "TLatex.h"
00023 #include "TGraph.h"
00024 #include "AraWaveformGraph.h"
00025 #include "TStyle.h"
00026 #include "TCanvas.h"
00027 #include "TAxis.h"
00028 #include "TH1.h"
00029 #include "THStack.h"
00030 #include "TList.h"
00031 #include "TObject.h"
00032 #include "TTimeStamp.h"
00033 #include "TApplication.h"
00034 
00035 
00036 ClassImp(AraControlPanel) ;
00037 
00038 AraControlPanel*  AraControlPanel::fgInstance = 0;
00039 
00040 
00041 enum ETestCommandIdentifiers {
00042   M_EVENT_BUT =1,
00043   M_SURF_BUT,
00044   M_TURF_BUT,
00045   M_AVG_SURF_BUT,
00046   M_SUM_TURF_BUT,
00047   M_GOTO_EVENT
00048 };
00049 
00050 AraControlPanel::AraControlPanel()
00051 {
00052   //Default constructor 
00053   fgInstance=this;  
00054   //AraDisplay Stuff
00055   AraDisplay *magicDisPtr = AraDisplay::Instance();
00056 
00057   fMainFrame = new TGMainFrame(gClient->GetRoot(),10,10,kVerticalFrame);
00058 
00059 
00060   fEntryPanel = new TGVerticalFrame(fMainFrame,200,300);
00061   fLeftLayout = new TGLayoutHints(kLHintsTop | kLHintsLeft,2,2,2,2);
00062   fRightLayout = new TGLayoutHints(kLHintsCenterY | kLHintsRight,2,2,2,2);
00063   fCenterLayout = new TGLayoutHints(kLHintsCenterY | kLHintsCenterX,2,2,2,2);
00064   fMainFrame->AddFrame(fEntryPanel,fLeftLayout);
00065 
00066 
00067   fEventPanel = new TGHorizontalFrame(fEntryPanel,200,30);
00068   fEntryPanel->AddFrame(fEventPanel,fRightLayout);
00069   fEventEntry =new TGNumberEntry(fEventPanel,magicDisPtr->getCurrentEvent(),12,20,(TGNumberEntry::EStyle)0);  
00070   fEventPanel->AddFrame(fEventEntry,fRightLayout);
00071   fEventLabel = new TGLabel(fEventPanel,"Event: ");
00072   fEventPanel->AddFrame(fEventLabel,fRightLayout);
00073 
00074   fGotoBut = new TGTextButton(fEntryPanel, "&Go to Event", M_GOTO_EVENT);
00075   //  fGotoBut->SetBackgroundColor(TColor::Number2Pixel(5));
00076   //  fGotoBut->Associate(fMainFrame);
00077   fGotoBut->Connect("Pressed()","AraControlPanel",this,"goToEvent()");
00078   fEntryPanel->AddFrame(fGotoBut, fCenterLayout);
00079 
00080 //   //  fMainFrame->SetBackgroundColor(TColor::Number2Pixel(kRed));
00081 //   fButtonPanel = new TGVerticalFrame(fMainFrame,200,500);
00082 //   fUpdateLabel = new TGLabel(fButtonPanel,"Update Canvas?");
00083 //   fButtonPanel->AddFrame(fUpdateLabel,fLeftLayout);
00084 //   fButtonLayout = new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2);
00085 //   fMainFrame->AddFrame(fButtonPanel,fButtonLayout);
00086 //   fEventBut = new TGCheckButton(fButtonPanel, "Event Canvas", M_EVENT_BUT);
00087 //   fEventBut->Associate(fMainFrame);
00088 //   fEventBut->SetBackgroundColor(TColor::Number2Pixel(5));
00089 //   fButtonPanel->AddFrame(fEventBut, fLayout);
00090 //   fSurfBut = new TGCheckButton(fButtonPanel, "SURF Canvas", M_SURF_BUT);
00091 //   fSurfBut->Associate(fMainFrame);
00092 //   fSurfBut->SetBackgroundColor(TColor::Number2Pixel(5));
00093 //   fButtonPanel->AddFrame(fSurfBut, fLayout);
00094 //   fTurfBut = new TGCheckButton(fButtonPanel, "TURF Canvas", M_TURF_BUT);
00095 //   fTurfBut->Associate(fMainFrame);
00096 //   fTurfBut->SetBackgroundColor(TColor::Number2Pixel(5));
00097 //   fButtonPanel->AddFrame(fTurfBut, fLayout);
00098 //   fAvgSurfBut = new TGCheckButton(fButtonPanel, "Avg. SURF Canvas", M_AVG_SURF_BUT);
00099 //   fAvgSurfBut->Associate(fMainFrame);
00100 //   fAvgSurfBut->SetBackgroundColor(TColor::Number2Pixel(5));
00101 //   fButtonPanel->AddFrame(fAvgSurfBut, fLayout);
00102 //   fSumTurfBut = new TGCheckButton(fButtonPanel, "Sum. TURF Canvas", M_SUM_TURF_BUT);
00103 //   fSumTurfBut->Associate(fMainFrame);
00104 //   fSumTurfBut->SetBackgroundColor(TColor::Number2Pixel(5));
00105 //   fButtonPanel->AddFrame(fSumTurfBut, fLayout);
00106 
00107 
00108 
00109 
00110   fMainFrame->SetWindowName("AraControlPanel");
00111   fMainFrame->MapSubwindows();
00112 
00113   
00114   fMainFrame->Connect("CloseWindow()", "AraControlPanel", this, "closeControlPanel()");
00115 
00116    // we need to use GetDefault...() to initialize the layout algorithm...
00117   fMainFrame->Resize();   // resize to default size
00118   fMainFrame->MapRaised();
00119   //  fMainFrame->Print();   
00120  
00121 }
00122 
00123 
00124 //______________________________________________________________________________
00125 AraControlPanel*  AraControlPanel::Instance()
00126 {
00127   //static function
00128   return (fgInstance) ? (AraControlPanel*) fgInstance : new AraControlPanel();
00129 }
00130 
00131 
00132   
00133 
00134 
00135 AraControlPanel::~AraControlPanel()
00136 {
00137 }
00138 
00139 void AraControlPanel::goToEvent() 
00140 {
00141   //  std::cout << "Go To Event: " << this->fRunEntry->GetNumber()
00142   //        << "\t" << (Int_t) this->fEventEntry->GetNumber()
00143   //        << std::endl;
00144   AraDisplay::Instance()->displayThisEvent((UInt_t)this->fEventEntry->GetNumber());
00145 
00146 }
00147 
00148 void AraControlPanel::closeControlPanel()
00149 {
00150   fgInstance=0;
00151   delete this;
00152 }
00153 
00154 
00155 //void AraControlPanel::CloseWindow()
00156 //{
00157    // Got close message for this MainFrame. Terminate the application
00158    // or returns from the TApplication event loop (depending on the
00159    // argument specified in TApplication::Run()).
00160 //}
00161 
00162 // Bool_t AraControlPanel::ProcessMessage(Long_t msg, Long_t parm1, Long_t)
00163 // {
00164 //    // Handle messages send to the AraControlPanel object. E.g. all menu button
00165 //     switch (GET_MSG(msg)) {
00166 //    case kC_COMMAND:
00167 //       {
00168 //          switch (GET_SUBMSG(msg)) {
00169 //          case kCM_BUTTON:
00170 //             {
00171 //                switch (parm1) {
00172 //                   // exit button
00173 //                case M_EVENT_BUT:
00174 //                   {
00175 //                  //                     CloseWindow();
00176 //                  std::cout << "Event But" << std::endl;
00177 //                      break;
00178 //                   }
00179 //                case M_SURF_BUT:
00180 //                   {
00181 //                  //                     CloseWindow();
00182 //                  std::cout << "SURF But" << std::endl;
00183 //                      break;
00184 //                   }
00185 //                   // set button
00186 //                case M_GOTO_EVENT:
00187 //                   {
00188 //                  std::cout << "Goto Event: " << this->fRunEntry->GetNumber()
00189 //                            << "\t" << this->fEventEntry->GetNumber()
00190 //                            << std::endl;
00191 //                  std::cout << "Event State: " << this->fEventBut->GetState() << std::endl;
00192 
00193 //                  if(this->fEventBut->GetState()) {
00194 //                    AraDisplay::Instance()->displayThisEvent((UInt_t)this->fEventEntry->GetNumber(),(UInt_t)this->fRunEntry->GetNumber());
00195 //                }
00196                     
00197 //                  break;
00198 //                   }
00199 //                }
00200 //                break;
00201 //             }
00202 //          }
00203 //          break;
00204 //       }
00205 //    }
00206 //    return kTRUE;
00207 
00208 
00209 // }

Generated on Wed Aug 8 16:20:07 2012 for ARA ROOT Test Bed Software by doxygen 1.4.7