]>
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); | |
33 | virtual ~AliMonitorControl(); | |
34 | ||
35 | void HandleMenu(Int_t id); | |
36 | void DoReset(); | |
37 | void DoStartStop(); | |
38 | ||
39 | private: | |
17c3cc9e | 40 | AliMonitorControl(const AliMonitorControl& control); |
41 | AliMonitorControl& operator = (const AliMonitorControl& control); | |
42 | ||
04fa961a | 43 | virtual Bool_t HandleTimer(TTimer* timer); |
44 | ||
45 | void UpdateStatus(); | |
46 | ||
c4bd737c | 47 | AliMonitorProcess* fMonitorProcess; // the controlled monitor process |
48 | ||
49 | ULong_t fColorStatus; // color for status info | |
50 | ULong_t fColorStart; // color for start button | |
51 | ULong_t fColorStop; // color for stop button | |
52 | ||
53 | TGMainFrame* fMain; // the main window | |
54 | ||
55 | TGLayoutHints* fMenuBarLayout; // layout of the menu bar | |
56 | TGLayoutHints* fMenuBarItemLayout; // layout of the menu items | |
57 | TGLayoutHints* fMenuBarHelpLayout; // layout of the help menu | |
58 | TGPopupMenu* fMenuFile; // the file menu | |
59 | TGPopupMenu* fMenuOptions; // the options menu | |
60 | TGPopupMenu* fMenuHelp; // the help menu | |
61 | TGMenuBar* fMenuBar; // the menu bar | |
62 | ||
63 | TGLayoutHints* fFrameLayout; // layout of the main frame | |
64 | TGVerticalFrame* fFrame; // the main frame | |
65 | TGLayoutHints* fStatusLayout; // layout of status info | |
66 | TGLayoutHints* fStatusFrameLayout; // layout of status frames | |
67 | ||
68 | TGHorizontalFrame* fStatus1Frame; // frame for run/event number | |
69 | TGLabel* fRunNumberLabel; // label for run number | |
70 | TGTextEntry* fRunNumber; // run number display | |
71 | TGLabel* fEventNumberLabel; // label for event number | |
72 | TGTextEntry* fEventNumber; // event number display | |
73 | ||
74 | TGHorizontalFrame* fStatus2Frame; // frame for current status | |
75 | TGLabel* fStatusLabel; // label for status | |
76 | TGTextEntry* fStatus; // current status display | |
77 | ||
78 | TGHorizontalFrame* fStatus3Frame; // frame for number of event/clients | |
79 | TGLabel* fEventsLabel; // label for number of events | |
80 | TGTextEntry* fEvents; // number of monitored events display | |
81 | TGLabel* fClientsLabel; // label for number of clients | |
82 | TGTextEntry* fClients; // number of clients display | |
83 | ||
84 | TGLayoutHints* fButtonFrameLayout; // layout of frame with buttons | |
85 | TGHorizontalFrame* fButtonFrame; // frame for buttons | |
86 | TGLayoutHints* fButtonLayout; // layout of buttons | |
87 | TGTextButton* fResetButton; // the rest button | |
88 | TGTextButton* fStartStopButton; // the start/stop button | |
89 | Bool_t fStartButtonStatus; // current status of the start/stop button | |
90 | ||
91 | Bool_t fTerminating; // true if program will be terminated | |
92 | ||
93 | TTimer* fTimer; // timer for X update | |
94 | ||
95 | ||
96 | class AliMonitorBufferDlg : public AliMonitorDialog { | |
97 | ||
98 | public: | |
99 | AliMonitorBufferDlg(Int_t& size, TGFrame* main); | |
c4bd737c | 100 | virtual ~AliMonitorBufferDlg(); |
101 | ||
102 | virtual void OnOkClicked(); | |
103 | ||
104 | private: | |
17c3cc9e | 105 | AliMonitorBufferDlg(const AliMonitorBufferDlg& dlg); |
106 | AliMonitorBufferDlg& operator = (const AliMonitorBufferDlg& dlg); | |
107 | ||
c4bd737c | 108 | TGLayoutHints* fBufferLayout; // layout of buffer entry |
109 | TGLabel* fBufferLabel; // label for buffer entry | |
110 | TGNumberEntry* fBufferEntry; // buffer number entry | |
111 | ||
112 | Int_t& fSize; // result | |
113 | }; | |
114 | ||
115 | ||
116 | class AliMonitorClientsDlg : public AliMonitorDialog { | |
117 | ||
118 | public: | |
119 | AliMonitorClientsDlg(TObjArray* clients, TGFrame* main); | |
c4bd737c | 120 | virtual ~AliMonitorClientsDlg(); |
121 | ||
122 | private: | |
17c3cc9e | 123 | AliMonitorClientsDlg(const AliMonitorClientsDlg& dlg); |
124 | AliMonitorClientsDlg& operator = (const AliMonitorClientsDlg& dlg); | |
125 | ||
c4bd737c | 126 | TGLayoutHints* fClientsLayout; // layout of clients list |
127 | TGTextView* fClients; // list of clients | |
128 | }; | |
129 | ||
04fa961a | 130 | |
131 | ClassDef(AliMonitorControl, 0) // class for controlling the AliMonitorProcess | |
132 | }; | |
133 | ||
134 | ||
135 | #endif | |
136 | ||
137 | ||
138 | ||
139 | ||
140 | ||
141 | ||
142 | ||
143 | ||
144 |