]>
Commit | Line | Data |
---|---|---|
04fa961a | 1 | #ifndef ALIMONITORCONTROL_H |
2 | #define ALIMONITORCONTROL_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
c4bd737c | 8 | #include <TObject.h> |
04fa961a | 9 | #include <RQ_OBJECT.h> |
c4bd737c | 10 | #include "AliMonitorDialog.h" |
11 | ||
12 | class AliMonitorProcess; | |
13 | class TTimer; | |
14 | class TGMainFrame; | |
15 | class TGLayoutHints; | |
16 | class TGPopupMenu; | |
17 | class TGMenuBar; | |
18 | class TGVerticalFrame; | |
19 | class TGHorizontalFrame; | |
20 | class TGLabel; | |
21 | class TGTextEntry; | |
22 | class TGTextButton; | |
23 | class TGNumberEntry; | |
24 | class TGTextView; | |
04fa961a | 25 | |
26 | ||
27 | class AliMonitorControl : public TObject { | |
28 | ||
29 | RQ_OBJECT("AliMonitorControl") | |
30 | ||
31 | public: | |
32 | AliMonitorControl(AliMonitorProcess* process); | |
c4bd737c | 33 | AliMonitorControl(const AliMonitorControl& control); |
34 | AliMonitorControl& operator = (const AliMonitorControl& control); | |
04fa961a | 35 | virtual ~AliMonitorControl(); |
36 | ||
37 | void HandleMenu(Int_t id); | |
38 | void DoReset(); | |
39 | void DoStartStop(); | |
40 | ||
41 | private: | |
42 | virtual Bool_t HandleTimer(TTimer* timer); | |
43 | ||
44 | void UpdateStatus(); | |
45 | ||
c4bd737c | 46 | AliMonitorProcess* fMonitorProcess; // the controlled monitor process |
47 | ||
48 | ULong_t fColorStatus; // color for status info | |
49 | ULong_t fColorStart; // color for start button | |
50 | ULong_t fColorStop; // color for stop button | |
51 | ||
52 | TGMainFrame* fMain; // the main window | |
53 | ||
54 | TGLayoutHints* fMenuBarLayout; // layout of the menu bar | |
55 | TGLayoutHints* fMenuBarItemLayout; // layout of the menu items | |
56 | TGLayoutHints* fMenuBarHelpLayout; // layout of the help menu | |
57 | TGPopupMenu* fMenuFile; // the file menu | |
58 | TGPopupMenu* fMenuOptions; // the options menu | |
59 | TGPopupMenu* fMenuHelp; // the help menu | |
60 | TGMenuBar* fMenuBar; // the menu bar | |
61 | ||
62 | TGLayoutHints* fFrameLayout; // layout of the main frame | |
63 | TGVerticalFrame* fFrame; // the main frame | |
64 | TGLayoutHints* fStatusLayout; // layout of status info | |
65 | TGLayoutHints* fStatusFrameLayout; // layout of status frames | |
66 | ||
67 | TGHorizontalFrame* fStatus1Frame; // frame for run/event number | |
68 | TGLabel* fRunNumberLabel; // label for run number | |
69 | TGTextEntry* fRunNumber; // run number display | |
70 | TGLabel* fEventNumberLabel; // label for event number | |
71 | TGTextEntry* fEventNumber; // event number display | |
72 | ||
73 | TGHorizontalFrame* fStatus2Frame; // frame for current status | |
74 | TGLabel* fStatusLabel; // label for status | |
75 | TGTextEntry* fStatus; // current status display | |
76 | ||
77 | TGHorizontalFrame* fStatus3Frame; // frame for number of event/clients | |
78 | TGLabel* fEventsLabel; // label for number of events | |
79 | TGTextEntry* fEvents; // number of monitored events display | |
80 | TGLabel* fClientsLabel; // label for number of clients | |
81 | TGTextEntry* fClients; // number of clients display | |
82 | ||
83 | TGLayoutHints* fButtonFrameLayout; // layout of frame with buttons | |
84 | TGHorizontalFrame* fButtonFrame; // frame for buttons | |
85 | TGLayoutHints* fButtonLayout; // layout of buttons | |
86 | TGTextButton* fResetButton; // the rest button | |
87 | TGTextButton* fStartStopButton; // the start/stop button | |
88 | Bool_t fStartButtonStatus; // current status of the start/stop button | |
89 | ||
90 | Bool_t fTerminating; // true if program will be terminated | |
91 | ||
92 | TTimer* fTimer; // timer for X update | |
93 | ||
94 | ||
95 | class AliMonitorBufferDlg : public AliMonitorDialog { | |
96 | ||
97 | public: | |
98 | AliMonitorBufferDlg(Int_t& size, TGFrame* main); | |
99 | AliMonitorBufferDlg(const AliMonitorBufferDlg& dlg) : | |
100 | AliMonitorDialog(dlg), fSize(dlg.fSize) { | |
101 | Fatal("AliMonitorBufferDlg", "copy constructor not implemented"); | |
102 | } | |
4c57c771 | 103 | AliMonitorBufferDlg& operator = (const AliMonitorBufferDlg& /*dlg*/) { |
c4bd737c | 104 | Fatal("operator =", "assignment operator not implemented"); |
105 | return *this; | |
106 | } | |
107 | virtual ~AliMonitorBufferDlg(); | |
108 | ||
109 | virtual void OnOkClicked(); | |
110 | ||
111 | private: | |
112 | TGLayoutHints* fBufferLayout; // layout of buffer entry | |
113 | TGLabel* fBufferLabel; // label for buffer entry | |
114 | TGNumberEntry* fBufferEntry; // buffer number entry | |
115 | ||
116 | Int_t& fSize; // result | |
117 | }; | |
118 | ||
119 | ||
120 | class AliMonitorClientsDlg : public AliMonitorDialog { | |
121 | ||
122 | public: | |
123 | AliMonitorClientsDlg(TObjArray* clients, TGFrame* main); | |
124 | AliMonitorClientsDlg(const AliMonitorClientsDlg& dlg) : | |
125 | AliMonitorDialog(dlg) { | |
126 | Fatal("AliMonitorClientsDlg", "copy constructor not implemented"); | |
127 | } | |
4c57c771 | 128 | AliMonitorClientsDlg& operator = (const AliMonitorClientsDlg& /*dlg*/) { |
c4bd737c | 129 | Fatal("operator =", "assignment operator not implemented"); |
130 | return *this; | |
131 | } | |
132 | virtual ~AliMonitorClientsDlg(); | |
133 | ||
134 | private: | |
135 | TGLayoutHints* fClientsLayout; // layout of clients list | |
136 | TGTextView* fClients; // list of clients | |
137 | }; | |
138 | ||
04fa961a | 139 | |
140 | ClassDef(AliMonitorControl, 0) // class for controlling the AliMonitorProcess | |
141 | }; | |
142 | ||
143 | ||
144 | #endif | |
145 | ||
146 | ||
147 | ||
148 | ||
149 | ||
150 | ||
151 | ||
152 | ||
153 |