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 virtual ~AliMonitorControl();
35 void HandleMenu(Int_t id);
40 AliMonitorControl(const AliMonitorControl& control);
41 AliMonitorControl& operator = (const AliMonitorControl& control);
43 virtual Bool_t HandleTimer(TTimer* timer);
47 AliMonitorProcess* fMonitorProcess; // the controlled monitor process
49 ULong_t fColorStatus; // color for status info
50 ULong_t fColorStart; // color for start button
51 ULong_t fColorStop; // color for stop button
53 TGMainFrame* fMain; // the main window
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
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
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
74 TGHorizontalFrame* fStatus2Frame; // frame for current status
75 TGLabel* fStatusLabel; // label for status
76 TGTextEntry* fStatus; // current status display
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
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
91 Bool_t fTerminating; // true if program will be terminated
93 TTimer* fTimer; // timer for X update
96 class AliMonitorBufferDlg : public AliMonitorDialog {
99 AliMonitorBufferDlg(Int_t& size, TGFrame* main);
100 virtual ~AliMonitorBufferDlg();
102 virtual void OnOkClicked();
105 AliMonitorBufferDlg(const AliMonitorBufferDlg& dlg);
106 AliMonitorBufferDlg& operator = (const AliMonitorBufferDlg& dlg);
108 TGLayoutHints* fBufferLayout; // layout of buffer entry
109 TGLabel* fBufferLabel; // label for buffer entry
110 TGNumberEntry* fBufferEntry; // buffer number entry
112 Int_t& fSize; // result
116 class AliMonitorClientsDlg : public AliMonitorDialog {
119 AliMonitorClientsDlg(TObjArray* clients, TGFrame* main);
120 virtual ~AliMonitorClientsDlg();
123 AliMonitorClientsDlg(const AliMonitorClientsDlg& dlg);
124 AliMonitorClientsDlg& operator = (const AliMonitorClientsDlg& dlg);
126 TGLayoutHints* fClientsLayout; // layout of clients list
127 TGTextView* fClients; // list of clients
131 ClassDef(AliMonitorControl, 0) // class for controlling the AliMonitorProcess