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
