12cd381b6234023839c42b16069944ca0f0561eb
[u/mrichter/AliRoot.git] / EVE / EveHLT / AliEveHOMERManagerEditor.cxx
1 // $Id$
2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4 /**************************************************************************
5  * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
7  * full copyright notice.                                                 *
8  **************************************************************************/
9
10 #include "AliEveHOMERManagerEditor.h"
11 #include "AliEveHOMERManager.h"
12
13 #include <TVirtualPad.h>
14 #include <TColor.h>
15 #include <TROOT.h>
16
17 #include <TGLabel.h>
18 #include <TGButton.h>
19 #include <TGNumberEntry.h>
20 #include <TGColorSelect.h>
21 #include <TGDoubleSlider.h>
22
23 //______________________________________________________________________________
24 // AliEveHOMERManagerEditor
25 //
26
27 ClassImp(AliEveHOMERManagerEditor)
28
29 AliEveHOMERManagerEditor::AliEveHOMERManagerEditor(const TGWindow *p, Int_t width, Int_t height,
30              UInt_t options, Pixel_t back) :
31   TGedFrame(p, width, height, options | kVerticalFrame, back),
32   fM(0),
33   fButtonConnect(0),
34   fButtonNextEvent(0),
35   fButtonEventLoop(0),
36   fEventLoopStarted(kFALSE) {
37
38   MakeTitle("AliEveHOMERManager");
39
40   // Create widgets
41   // fXYZZ = new TGSomeWidget(this, ...);
42   // AddFrame(fXYZZ, new TGLayoutHints(...));
43   // fXYZZ->Connect("SignalName()", "AliEveHOMERManagerEditor", this, "DoXYZZ()");
44
45   fButtonConnect = new TGTextButton(this, "  Connect to HLT  ");
46   AddFrame(fButtonConnect); //, new TGLayoutHints(...));
47   fButtonConnect->Connect("Clicked()", "AliEveHOMERManagerEditor", this, "ConnectToHLT()");
48
49   fButtonNextEvent = new TGTextButton(this, "  NextEvent  ");
50   AddFrame(fButtonNextEvent); //, new TGLayoutHints(...));
51   fButtonNextEvent->Connect("Clicked()", "AliEveHOMERManagerEditor", this, "NextEvent()");
52
53
54   fButtonEventLoop = new TGPictureButton(this, gClient->GetPicture("$ALICE_ROOT/EVE/hlt-macros/HLT-logo.png"));
55   AddFrame(fButtonEventLoop); //, new TGLayoutHints(...));
56   fButtonEventLoop->Connect("Clicked()", "AliEveHOMERManagerEditor", this, "EventLoop()");
57
58 }
59
60 /******************************************************************************/
61
62 void AliEveHOMERManagerEditor::SetModel(TObject* obj)
63 {
64   fM = dynamic_cast<AliEveHOMERManager*>(obj);
65
66   // Set values of widgets
67   // fXYZZ->SetValue(fM->GetXYZZ());
68 }
69
70 /******************************************************************************/
71
72 // Implements callback/slot methods
73
74 // void AliEveHOMERManagerEditor::DoXYZZ()
75 // {
76 //   fM->SetXYZZ(fXYZZ->GetValue());
77 //   Update();
78 // }
79
80 void AliEveHOMERManagerEditor::ConnectToHLT()
81 {
82   // Connects to HOMER sources -> to HLT.
83
84   fM->ConnectEVEtoHOMER();
85 }
86
87 void AliEveHOMERManagerEditor::NextEvent()
88 {
89   // call next event from macro
90   gROOT->ProcessLineFast("nextEvent();");
91
92 }
93
94 void AliEveHOMERManagerEditor::EventLoop()
95 {
96
97   // Start/stop event loop
98   if ( !fEventLoopStarted ) {
99     gROOT->ProcessLineFast("loopEvent();");
100     fEventLoopStarted = kTRUE;
101   }
102   else {
103     gROOT->ProcessLineFast("stopLoopEvent();");
104     fEventLoopStarted = kFALSE;
105   }
106 }