First pass of changes required for visualization of event-embedding.
[u/mrichter/AliRoot.git] / EVE / EveBase / AliEveEventManagerEditor.h
1 // @(#)root/eve:$Id$
2 // Author: Matevz Tadel 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 #ifndef AliEveEventManagerEditor_H
11 #define AliEveEventManagerEditor_H
12
13 #include "TGedFrame.h"
14 #include "TGComboBox.h"
15 #include <TObjString.h>
16
17 class AliEveEventManager;
18 class TEveGValuator;
19 class TGButton;
20 class TGCheckButton;
21 class TGTextButton;
22 class TGTextView;
23 class TGNumberEntry;
24 class TGLabel;
25
26 //==============================================================================
27 // AliEveEventManagerEditor
28 //==============================================================================
29
30 //______________________________________________________________________________
31 // Short description of AliEveEventManagerEditor
32 //
33
34 class AliEveEventManagerEditor : public TGedFrame
35 {
36 public:
37    AliEveEventManagerEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
38          UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
39    virtual ~AliEveEventManagerEditor() {}
40
41    virtual void SetModel(TObject* obj);
42
43    void DoNextEvent();
44
45 protected:
46    AliEveEventManager  *fM;         // Model object.
47
48    TGTextButton        *fNextEvent; // Load next event
49    TGTextView          *fEventInfo; // Text box with event info
50
51 private:
52    AliEveEventManagerEditor(const AliEveEventManagerEditor&);            // Not implemented
53    AliEveEventManagerEditor& operator=(const AliEveEventManagerEditor&); // Not implemented
54
55    ClassDef(AliEveEventManagerEditor, 0); // GUI editor for AliEveEventManager.
56 };
57
58
59 //==============================================================================
60 // AliEveEventManagerWindow
61 //==============================================================================
62
63 //______________________________________________________________________________
64 // Short description of AliEveEventManagerWindow
65 //
66
67 class AliEveEventManagerWindow : public TGMainFrame
68 {
69 public:
70   AliEveEventManagerWindow(AliEveEventManager* mgr);
71   virtual ~AliEveEventManagerWindow();
72
73   void DoFirstEvent();
74   void DoPrevEvent();
75   void DoNextEvent();
76   void DoLastEvent();
77
78   void DoSetEvent();
79
80   void DoRefresh();
81   void DoSetAutoLoad();
82   void DoSetAutoLoadTime();
83
84   void DoSetTriggerType(const char* type);
85
86   void Update();
87
88 protected:
89   AliEveEventManager   *fM;            // Model object.
90
91   TGTextButton         *fFirstEvent;   // Go to first event
92   TGTextButton         *fPrevEvent;    // Go to prev event
93   TGTextButton         *fNextEvent;    // Go to next event
94   TGTextButton         *fLastEvent;    // Go to last event
95   TGTextButton         *fRefresh;      // Refresh event-file state
96
97   TGComboBox           *fTrigger;
98
99   TGNumberEntry        *fEventId;      // Display/edit current event id
100   TGLabel              *fInfoLabel;    // Display last available event id
101
102   TGCheckButton        *fAutoLoad;     // Check-box for automatic loading of events
103   TEveGValuator        *fAutoLoadTime; // Time for automatic loading of events
104
105   TGTextView           *fEventInfo;    // Text box with event info
106
107   TGTextButton* MkTxtButton(TGCompositeFrame* p, const char* txt, Int_t width=0,
108                             Int_t lo=0, Int_t ro=0, Int_t to=0, Int_t bo=0);
109   TGLabel* MkLabel(TGCompositeFrame* p, const char* txt, Int_t width,
110                    Int_t lo=0, Int_t ro=0, Int_t to=2, Int_t bo=0);
111
112   void SetupTriggerSelect();                //Sets up the trigger selection list
113
114 private:
115   AliEveEventManagerWindow(const AliEveEventManagerWindow&);            // Not implemented
116   AliEveEventManagerWindow& operator=(const AliEveEventManagerWindow&); // Not implemented
117
118   ClassDef(AliEveEventManagerWindow, 0); // GUI window for AliEveEventManager.
119 };
120
121 #endif