/* ======================================================================== *\ ! ! * ! * This file is part of MARS, the MAGIC Analysis and Reconstruction ! * Software. It is distributed to you in the hope that it can be a useful ! * and timesaving tool in analysing Data of imaging Cerenkov telescopes. ! * It is distributed WITHOUT ANY WARRANTY. ! * ! * Permission to use, copy, modify and distribute this software and its ! * documentation for any purpose is hereby granted without fee, ! * provided that the above copyright notice appear in all copies and ! * that both that copyright notice and this permission notice appear ! * in supporting documentation. It is provided "as is" without express ! * or implied warranty. ! * ! ! ! Author(s): Harald Kornmayer 1/2001 (harald@mppmu.mpg.de) ! Author(s): Thomas Bretz 12/2000 (tbretz@uni-sw.gwdg.de) ! ! Copyright: MAGIC Software Development, 2000-2001 ! ! \* ======================================================================== */ #include "MEvtDisp.h" #include // TGTextButton #include "MGFadcDisp.h" ClassImp(MEvtDisp) enum { M_BUT_DISP1_EVT, M_BUT_DISP1_PED, M_BUT_DISP1_CAL, }; MEvtDisp::MEvtDisp(const TGWindow *main, const TGWindow *p, const UInt_t w, const UInt_t h) : MBrowser(main, p, w, h) { fButFadcDispEvts = new TGTextButton(fTop1, "FADC Disp for Events", M_BUT_DISP1_EVT ); fButFadcDispEvts->Associate(this) ; fTop1->AddFrame (fButFadcDispEvts, new TGLayoutHints(kLHintsTop | kLHintsLeft, 10, 10, 5, 5) ); fButFadcDispPed = new TGTextButton(fTop1, "FADC Disp for PedEvts", M_BUT_DISP1_PED ); fButFadcDispPed->Associate(this) ; fTop1->AddFrame (fButFadcDispPed, new TGLayoutHints(kLHintsTop | kLHintsLeft, 10, 10, 5, 5) ); fButFadcDispCal = new TGTextButton(fTop1, "FADC Disp for CalEvts", M_BUT_DISP1_CAL ); fButFadcDispCal->Associate(this) ; fTop1->AddFrame (fButFadcDispCal, new TGLayoutHints(kLHintsTop | kLHintsLeft, 10, 10, 5, 5) ); MapSubwindows(); Layout(); SetWindowName("EventDispMain"); SetIconName("EventDispMain"); MapWindow(); } MEvtDisp::~MEvtDisp() { delete fButFadcDispCal; delete fButFadcDispPed; delete fButFadcDispEvts; } // ====================================================================== Bool_t MEvtDisp::ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2) { // Process events generated by the buttons in the frame. if (GET_MSG(msg) != kC_COMMAND || GET_SUBMSG(msg) != kCM_BUTTON) return MBrowser::ProcessMessage(msg, parm1, parm2); switch (parm1) { case M_BUT_DISP1_EVT: case M_BUT_DISP1_PED: case M_BUT_DISP1_CAL: if (!InputFileSelected()) { DisplError("No Input (root) File selected!"); return kTRUE; } switch (parm1) { case M_BUT_DISP1_EVT: new MGFadcDisp(fInputFile, "Events", fClient->GetRoot(), this, 600, 500); return kTRUE; case M_BUT_DISP1_PED: new MGFadcDisp( fInputFile , "PedEvts", fClient->GetRoot(), this, 600, 500 ) ; return kTRUE; case M_BUT_DISP1_CAL: new MGFadcDisp( fInputFile , "CalEvts", fClient->GetRoot(), this, 600, 500 ) ; return kTRUE; } return kTRUE; } return MBrowser::ProcessMessage(msg, parm1, parm2); }