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 */
10 #include "AliMonitorDialog.h"
12 class AliMonitorProcess;
18 class TGVerticalFrame;
19 class TGHorizontalFrame;
27 class AliMonitorControl : public TObject {
29 RQ_OBJECT("AliMonitorControl")
32 AliMonitorControl(AliMonitorProcess* process);
33 AliMonitorControl(const AliMonitorControl& control);
34 AliMonitorControl& operator = (const AliMonitorControl& control);
35 virtual ~AliMonitorControl();
37 void HandleMenu(Int_t id);
42 virtual Bool_t HandleTimer(TTimer* timer);
46 AliMonitorProcess* fMonitorProcess; // the controlled monitor process
48 ULong_t fColorStatus; // color for status info
49 ULong_t fColorStart; // color for start button
50 ULong_t fColorStop; // color for stop button
52 TGMainFrame* fMain; // the main window
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
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
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
73 TGHorizontalFrame* fStatus2Frame; // frame for current status
74 TGLabel* fStatusLabel; // label for status
75 TGTextEntry* fStatus; // current status display
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
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
90 Bool_t fTerminating; // true if program will be terminated
92 TTimer* fTimer; // timer for X update
95 class AliMonitorBufferDlg : public AliMonitorDialog {
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");
103 AliMonitorBufferDlg& operator = (const AliMonitorBufferDlg& /*dlg*/) {
104 Fatal("operator =", "assignment operator not implemented");
107 virtual ~AliMonitorBufferDlg();
109 virtual void OnOkClicked();
112 TGLayoutHints* fBufferLayout; // layout of buffer entry
113 TGLabel* fBufferLabel; // label for buffer entry
114 TGNumberEntry* fBufferEntry; // buffer number entry
116 Int_t& fSize; // result
120 class AliMonitorClientsDlg : public AliMonitorDialog {
123 AliMonitorClientsDlg(TObjArray* clients, TGFrame* main);
124 AliMonitorClientsDlg(const AliMonitorClientsDlg& dlg) :
125 AliMonitorDialog(dlg) {
126 Fatal("AliMonitorClientsDlg", "copy constructor not implemented");
128 AliMonitorClientsDlg& operator = (const AliMonitorClientsDlg& /*dlg*/) {
129 Fatal("operator =", "assignment operator not implemented");
132 virtual ~AliMonitorClientsDlg();
135 TGLayoutHints* fClientsLayout; // layout of clients list
136 TGTextView* fClients; // list of clients
140 ClassDef(AliMonitorControl, 0) // class for controlling the AliMonitorProcess