]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MONITOR/AliMonitorControl.h
Adding the new MUONcalib library (Ivana)
[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);
33 virtual ~AliMonitorControl();
34
35 void HandleMenu(Int_t id);
36 void DoReset();
37 void DoStartStop();
38
39private:
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