Updated buffer handling with mutex and faster response
[u/mrichter/AliRoot.git] / EVE / EveHLT / AliEveHLTEventManagerEditor.h
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 #ifndef AliEveHLTEventManagerEditor_H
11 #define AliEveHLTEventManagerEditor_H
12
13 #include <TGedFrame.h>
14
15 class TGCheckButton;
16 class TGTextButton;
17 class TGNumberEntry;
18 class TGColorSelect;
19 class TGPictureButton;
20 class TGComboBox;
21 class AliEveHLTEventManager;
22
23 class AliEveHLTEventManagerEditor : public TGedFrame
24 {
25 public:
26   AliEveHLTEventManagerEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30, 
27                            UInt_t options = kChildFrame, Pixel_t back=GetDefaultFrameBackground());
28   virtual ~AliEveHLTEventManagerEditor() {}
29
30   virtual void SetModel(TObject* obj);
31
32   // Declare callback/slot methods
33   void ConnectToHLT();
34   void NextEvent();
35   void EventLoop();
36
37   void NavigateBack();
38   void NavigateFwd();
39   void SetTriggerString(int id);
40   void WriteBlockListToFile();
41   void PrintScreens();
42   void PollEvents();
43
44 protected:
45
46   AliEveHLTEventManager  *fM; // Model object.
47   
48   TGTextButton     *fButtonConnect; // Button to connect to HOMER.
49   TGTextButton     *fButtonWriteToFile; // Button to write block list to file
50   TGTextButton     *fButtonNextEvent; // Button to call next Even
51   TGTextButton     *fButtonNavigateBack; // Button to navigate back
52   TGTextButton     *fButtonNavigateFwd;  // Button to navigate fwd
53   TGTextButton     *fButtonPrintScreens;  // Button to print viewers
54   //TGComboBox       *fBoxTriggerSelector; // Drop down menu to select trigger criteria.
55   TGTextButton     *fButtonEventLoopText; //Text button to start / stop event loop.
56   TGTextButton    *fButtonUpdateEvents;
57   //TGComboBox       *fBoxEventLoopSpeed; // Drop down menu to set the speed of the loop.
58   TGPictureButton  *fButtonEventLoop; // Picture button to start/stop event loop, HLT LOGO.
59   
60
61 private:
62   AliEveHLTEventManagerEditor(const AliEveHLTEventManagerEditor&);            // Not implemented
63   AliEveHLTEventManagerEditor& operator=(const AliEveHLTEventManagerEditor&); // Not implemented
64
65   Bool_t fEventLoopStarted;
66   Bool_t fBufferLoopStarted;
67
68   ClassDef(AliEveHLTEventManagerEditor, 0); // Editor for AliEveHLTEventManager
69 };
70
71 #endif