New versions of GDC and CDH raw data headers. Some CDH getters are added
[u/mrichter/AliRoot.git] / MONITOR / AliMonitorControl.h
CommitLineData
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
12class AliMonitorProcess;
13class TTimer;
14class TGMainFrame;
15class TGLayoutHints;
16class TGPopupMenu;
17class TGMenuBar;
18class TGVerticalFrame;
19class TGHorizontalFrame;
20class TGLabel;
21class TGTextEntry;
22class TGTextButton;
23class TGNumberEntry;
24class TGTextView;
04fa961a 25
26
27class AliMonitorControl : public TObject {
28
29RQ_OBJECT("AliMonitorControl")
30
31public:
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
41private:
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