Logo ROOT  
Reference Guide
TSessionViewer.h
Go to the documentation of this file.
1// @(#)root/sessionviewer:$Id$
2// Author: Marek Biskup, Jakub Madejczyk, Bertrand Bellenot 10/08/2005
3
4/*************************************************************************
5 * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12
13#ifndef ROOT_TSessionViewer
14#define ROOT_TSessionViewer
15
16#include "TGFrame.h"
17
18#include "TString.h"
19
20#include "TGTextEntry.h"
21
22#include "TGNumberEntry.h"
23
24#include "TGTab.h"
25
26#include "TGListView.h"
27
28#include "TTime.h"
29
30#include <stdio.h>
31#include <time.h>
32
33class TList;
34class TChain;
35class TDSet;
36class TGNumberEntry;
37class TGTextEntry;
38class TGTextButton;
39class TGCheckButton;
40class TGTextBuffer;
41class TGTableLayout;
42class TGIcon;
43class TGLabel;
44class TGHProgressBar;
45class TGPopupMenu;
46class TGLVContainer;
47class TGListView;
48class TGLVEntry;
49class TGCanvas;
50class TGListTree;
51class TGListTreeItem;
52class TGStatusBar;
53class TGPicture;
54class TGMenuBar;
55class TGPopupMenu;
56class TGToolBar;
57class TGTextView;
58class TGTab;
60class TGListBox;
61class TCanvas;
62class TEnv;
63struct UserGroup_t;
64
65class TProofMgr;
66class TProof;
67class TSessionViewer;
68class TSessionLogView;
69class TQueryResult;
70class TContextMenu;
71
72//////////////////////////////////////////////////////////////////////////
73// //
74// TSessionViewer - A GUI for ROOT / PROOF Sessions //
75// //
76//////////////////////////////////////////////////////////////////////////
77
78//////////////////////////////////////////////////////////////////////////
79// TQueryDescription class : Description of queries
80//////////////////////////////////////////////////////////////////////////
81
82class TQueryDescription : public TObject {
83
84public:
94 };
95
97 TString fReference; // query reference string (unique identifier)
98 TString fQueryName; // query name
99 TString fSelectorString; // selector name
100 TString fTDSetString; // dataset name
101 TString fOptions; // query processing options
102 TString fEventList; // event list
103 Int_t fNbFiles; // number of files to process
104 Long64_t fNoEntries; // number of events/entries to process
105 Long64_t fFirstEntry; // first event/entry to process
106 TTime fStartTime; // start time of the query
107 TTime fEndTime; // end time of the query
108 TObject *fChain; // dataset on which to process selector
109 TQueryResult *fResult; // query result received back
110
111 const char *GetName() const { return fQueryName; }
112
113 ClassDef(TQueryDescription, 1) // Query description
114};
115
116
122
123//////////////////////////////////////////////////////////////////////////
124// TSessionDescription class : Description of Session
125//////////////////////////////////////////////////////////////////////////
126
128
129public:
130 TString fTag; // session unique identifier
131 TString fName; // session name
132 TString fAddress; // server address
133 Int_t fPort; // communication port
134 TString fConfigFile; // configuration file name
135 Int_t fLogLevel; // log (debug) level
136 TString fUserName; // user name (on server)
137 Bool_t fConnected; // kTRUE if connected
138 Bool_t fAttached; // kTRUE if attached
139 Bool_t fLocal; // kTRUE if session is local
140 Bool_t fSync; // kTRUE if in sync mode
141 Bool_t fAutoEnable; // enable packages at session startup time
142 TList *fQueries; // list of queries in this session
143 TList *fPackages; // list of packages
144 TQueryDescription *fActQuery; // current (actual) query
145 TProof *fProof; // pointer on TProof used by this session
146 TProofMgr *fProofMgr; // Proof sessions manager
147 Int_t fNbHistos; // number of feedback histos
148
149 const char *GetName() const { return fName; }
150
151 ClassDef(TSessionDescription, 1) // Session description
152};
153
154//////////////////////////////////////////////////////////////////////////
155// TPackageDescription class : Description of Package
156//////////////////////////////////////////////////////////////////////////
157
159
160public:
161 TString fName; // package name
162 TString fPathName; // full path name of package
163 Int_t fId; // package id
164 Bool_t fUploaded; // package has been uploaded
165 Bool_t fEnabled; // package has been enabled
166
167 const char *GetName() const { return fName; }
168
169 ClassDef(TPackageDescription, 1) // Package description
170};
171
172//////////////////////////////////////////////////////////////////////////
173// //
174// TSessionServerFrame //
175// A composite Frame used in the right part of the Session Viewer GUI //
176// for any information relative to server side : address, port, user... //
177// //
178//////////////////////////////////////////////////////////////////////////
179
181
182private:
183 TGCompositeFrame *fFrmNewServer; // main group frame
184 TGTextEntry *fTxtName; // connection name text entry
185 TGTextEntry *fTxtAddress; // server address text entry
186 TGNumberEntry *fNumPort; // port number selector
187 TGNumberEntry *fLogLevel; // log (debug) level selector
188 TGTextEntry *fTxtConfig; // configuration file text entry
189 TGTextEntry *fTxtUsrName; // user name text entry
190 TGCheckButton *fSync; // sync / async flag selector
191 TSessionViewer *fViewer; // pointer on the main viewer
192 TGTextButton *fBtnAdd; // "Add" button
193 TGTextButton *fBtnConnect; // "Connect" button
194
195public:
197 virtual ~TSessionServerFrame();
198
199 void Build(TSessionViewer *gui);
200
201 const char *GetName() const { return fTxtName->GetText(); }
202 const char *GetAddress() const { return fTxtAddress->GetText(); }
205 const char *GetConfigText() const { return fTxtConfig->GetText(); }
206 const char *GetUserName() const { return fTxtUsrName->GetText(); }
207 Bool_t IsSync() const { return (Bool_t)(fSync->GetState() == kButtonDown); }
208
213 void SetName(const char *str) { fTxtName->SetText(str); }
214 void SetAddress(const char *str) { fTxtAddress->SetText(str); }
217 void SetConfigText(const char *str) { fTxtConfig->SetText(str); }
218 void SetUserName(const char *str) { fTxtUsrName->SetText(str); }
219 void SetSync(Bool_t sync) {
220 fSync->SetState(sync ? kButtonDown : kButtonUp); }
221
222 void SettingsChanged();
223
224 void OnBtnConnectClicked();
226 void OnBtnDeleteClicked();
227 void OnBtnAddClicked();
228 void OnConfigFileClicked();
229 void Update(TSessionDescription* desc);
231 virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
232
233 ClassDef(TSessionServerFrame, 0) // Server frame
234};
235
236
237//////////////////////////////////////////////////////////////////////////
238// //
239// TSessionFrame //
240// A composite Frame used in the right part of the Session Viewer GUI //
241// for any information, settings or controls relative to the current //
242// session. //
243// //
244//////////////////////////////////////////////////////////////////////////
245
247
248private:
249
250 TGTab *fTab; // main tab frame
252 TGCompositeFrame *fFD, *fFE; // five tabs element
253 TGTextEntry *fCommandTxt; // Command line text entry
254 TGTextBuffer *fCommandBuf; // Command line text buffer
255 TGTextView *fInfoTextView; // summary on current query
256 TGCheckButton *fClearCheck; // clear text view after each command
257 TGTextButton *fBtnShowLog; // show log button
258 TGTextButton *fBtnNewQuery; // new query button
259 TGTextButton *fBtnGetQueries; // get entries button
260 // Packages tab related items
261 TGListBox *fLBPackages; // packages listbox
262 TGTextButton *fBtnAdd; // add package button
263 TGTextButton *fBtnRemove; // remove package button
264 TGTextButton *fBtnUp; // move package up button
265 TGTextButton *fBtnDown; // move package down button
266 TGTextButton *fBtnShow; // show packages button
267 TGTextButton *fBtnShowEnabled; // show enabled packages button
268 TGCheckButton *fChkMulti; // multiple selection check
269 TGCheckButton *fChkEnable; // enable at session startup check
270 TGTextButton *fBtnUpload; // upload packages button
271 TGTextButton *fBtnEnable; // enable packages button
272 TGTextButton *fBtnClear; // clear all packages button
273 TGTextButton *fBtnDisable; // disable packages button
274 // Datasets tab related items
275 TGCanvas *fDSetView; // dataset tree view
276 TGListTree *fDataSetTree; // dataset list tree
277 TGTextButton *fBtnUploadDSet; // upload dataset button
278 TGTextButton *fBtnRemoveDSet; // remove dataset button
279 TGTextButton *fBtnVerifyDSet; // verify dataset button
280 TGTextButton *fBtnRefresh; // refresh list button
281 // Options tab related items
282 TGTextEntry *fTxtParallel; // parallel nodes text entry
283 TGNumberEntry *fLogLevel; // log level number entry
284 TGTextButton *fApplyLogLevel; // apply log level button
285 TGTextButton *fApplyParallel; // apply parallel nodes button
286
287 TSessionViewer *fViewer; // pointer on main viewer
288 TGLabel *fInfoLine[19]; // infos on session
289
290public:
291 TSessionFrame(TGWindow* parent, Int_t w, Int_t h);
292 virtual ~TSessionFrame();
293
294 void Build(TSessionViewer *gui);
295 void CheckAutoEnPack(Bool_t checked = kTRUE) {
299 TGTab *GetTab() const { return fTab; }
300
301 //Function that handle input from user:
302 void OnApplyLogLevel();
303 void OnApplyParallel();
304 void OnBtnAddClicked();
305 void OnBtnRemoveClicked();
306 void OnBtnUpClicked();
307 void OnBtnDownClicked();
308 void OnBtnShowLogClicked();
312 void OnCommandLine();
313 void OnUploadPackages();
314 void OnEnablePackages();
315 void OnDisablePackages();
316 void OnClearPackages();
318 void OnStartupEnable(Bool_t on);
319 void ProofInfos();
320 void SetLocal(Bool_t local = kTRUE);
321 void ShutdownSession();
322 void UpdatePackages();
323 void OnBtnUploadDSet();
324 void OnBtnRemoveDSet();
325 void OnBtnVerifyDSet();
327
328 ClassDef(TSessionFrame, 0) // Session frame
329};
330
331//////////////////////////////////////////////////////////////////////////
332// New Query Dialog
333//////////////////////////////////////////////////////////////////////////
334
336
337private:
338 TGCompositeFrame *fFrmMore; // options frame
339 TGTextButton *fBtnMore; // "more >>" / "less <<" button
340
341 TGTextEntry *fTxtQueryName; // query name text entry
342 TGTextEntry *fTxtChain; // chain name text entry
343 TGTextEntry *fTxtSelector; // selector name text entry
344 TGTextEntry *fTxtOptions; // options text entry
345 TGNumberEntry *fNumEntries; // number of entries selector
346 TGNumberEntry *fNumFirstEntry; // first entry selector
347 TGTextEntry *fTxtParFile; // parameter file name text entry
348 TGTextEntry *fTxtEventList; // event list text entry
349 TSessionViewer *fViewer; // pointer on main viewer
350 TQueryDescription *fQuery; // query description class
351 TObject *fChain; // actual TChain
352
353public:
355 virtual ~TEditQueryFrame();
356 void Build(TSessionViewer *gui);
357 void OnNewQueryMore();
358 void OnBrowseChain();
359 void OnBrowseSelector();
360 void OnBrowseEventList();
361 void OnBtnSave();
362 void OnElementSelected(TObject *obj);
363 void SettingsChanged();
365
366 ClassDef(TEditQueryFrame, 0) // Edit query frame
367};
368
369//////////////////////////////////////////////////////////////////////////
370// //
371// TSessionQueryFrame //
372// A composite Frame used in the right part of the Session Viewer GUI //
373// for any information, settings or controls relative to queries. //
374// //
375//////////////////////////////////////////////////////////////////////////
376
378
379private:
380
382
383 TGTextButton *fBtnSubmit; // submit query button
384 TGTextButton *fBtnFinalize; // finalize query button
385 TGTextButton *fBtnStop; // stop process button
386 TGTextButton *fBtnAbort; // abort process button
387 TGTextButton *fBtnShowLog; // show log button
388 TGTextButton *fBtnRetrieve; // retrieve query button
389 TGTextButton *fBtnSave; // save query button
390 TGTextView *fInfoTextView; // summary on current query
391
392 Bool_t fModified; // kTRUE if settings have changed
393 Int_t fFiles; // number of files processed
394 Long64_t fFirst; // first event/entry to process
395 Long64_t fEntries; // number of events/entries to process
396 Long64_t fPrevTotal; // used for progress bar
397 Long64_t fPrevProcessed; // used for progress bar
398 TGLabel *fLabInfos; // infos on current process
399 TGLabel *fLabStatus; // actual process status
400 TGLabel *fTotal; // total progress info
401 TGLabel *fRate; // rate of process in events/sec
402 EQueryStatus fStatus; // status of actual query
403 TGTab *fTab; // main tab frame
404 TGCompositeFrame *fFA, *fFB, *fFC; // three tabs element
405 TEditQueryFrame *fFD; // fourth tab element (edit query frame)
406 TGHProgressBar *frmProg; // current process progress bar
407 TRootEmbeddedCanvas *fECanvas; // node statistics embeded canvas
408 TCanvas *fStatsCanvas; // node statistics canvas
409 TSessionViewer *fViewer; // pointer on main viewer
410 TQueryDescription *fDesc; // query description
411
412public:
414 virtual ~TSessionQueryFrame();
415
416 void Build(TSessionViewer *gui);
417
420 TGTab *GetTab() const { return fTab; }
421
422 void Feedback(TList *objs);
423 void Modified(Bool_t mod = kTRUE);
424 void Progress(Long64_t total, Long64_t processed);
425 void Progress(Long64_t total, Long64_t processed, Long64_t bytesread,
426 Float_t initTime, Float_t procTime,
427 Float_t evtrti, Float_t mbrti, Int_t actw, Int_t tses, Float_t eses);
428 void Progress(Long64_t total, Long64_t processed, Long64_t bytesread,
429 Float_t initTime, Float_t procTime,
430 Float_t evtrti, Float_t mbrti) {
431 Progress(total, processed, bytesread, initTime, procTime,
432 evtrti, mbrti, -1, -1, -1.); }
433 void ProgressLocal(Long64_t total, Long64_t processed);
434 void IndicateStop(Bool_t aborted);
435 void ResetProgressDialog(const char *selec, Int_t files, Long64_t first, Long64_t entries);
436
437 //Function that handle input from user:
438 void OnBtnSubmit();
439 void OnBtnFinalize();
440 void OnBtnStop();
441 void OnBtnAbort();
442 void OnBtnShowLog();
443 void OnBtnRetrieve();
444 void UpdateInfos();
446 void UpdateHistos(TList *objs);
447
448 ClassDef(TSessionQueryFrame, 0) // Query frame
449};
450
451//////////////////////////////////////////////////////////////////////////
452// //
453// TSessionOutputFrame //
454// A composite Frame used in the right part of the Session Viewer GUI //
455// displaying output list objects coming from query result. //
456// //
457//////////////////////////////////////////////////////////////////////////
458
460
461private:
462 TGLVEntry *fEntryTmp; // used to transfer to feedback
463 TGLVContainer *fLVContainer; // output list view
464 TSessionViewer *fViewer; // pointer on the main viewer
465
466public:
468 virtual ~TSessionOutputFrame();
469
470 void AddObject(TObject *obj);
471 void Build(TSessionViewer *gui);
473 void OnElementClicked(TGLVEntry* entry, Int_t btn, Int_t x, Int_t y);
474 void OnElementDblClicked(TGLVEntry *entry ,Int_t btn, Int_t x, Int_t y);
476
477 ClassDef(TSessionOutputFrame, 0) // Output frame
478};
479
480//////////////////////////////////////////////////////////////////////////
481// //
482// TSessionInputFrame //
483// A composite Frame used in the right part of the Session Viewer GUI //
484// displaying input list objects coming from query result. //
485// //
486//////////////////////////////////////////////////////////////////////////
487
489
490private:
491 TSessionViewer *fViewer; // pointer on the main viewer
492 TGLVContainer *fLVContainer; // container for the input list view
493
494public:
496 virtual ~TSessionInputFrame();
497
498 void AddObject(TObject *obj);
499 void Build(TSessionViewer *gui);
502
503 ClassDef(TSessionInputFrame, 0) // Input frame
504};
505
506
507//////////////////////////////////////////////////////////////////////////
508// //
509// TSessionViewer //
510// This is the main widget, mother of all the previous classes //
511// Used to manage sessions, servers, queries... //
512// //
513//////////////////////////////////////////////////////////////////////////
514
516
517private:
518 time_t fStart, fElapsed; // time of connection
519 Bool_t fChangePic; // KTRUE if animation active
520 Bool_t fBusy; // KTRUE if busy i.e : connecting
524 TSessionServerFrame *fServerFrame; // right side server frame
525 TSessionFrame *fSessionFrame; // right side session frame
526 TSessionQueryFrame *fQueryFrame; // right side query frame
529 TSessionLogView *fLogWindow; // external log window
530 TSessionDescription *fActDesc; // actual session description
531 TList *fSessions; // list of sessions
532 const TGPicture *fLocal; // local session icon picture
533 const TGPicture *fProofCon; // connected server icon picture
534 const TGPicture *fProofDiscon; // disconnected server icon picture
535 const TGPicture *fQueryCon; // connected(?) query icon picture
536 const TGPicture *fQueryDiscon; // disconnected(?) query icon picture
537 const TGPicture *fBaseIcon; // base list tree icon picture
538
539 TGFrame *fActFrame; // actual (displayed) frame
540 TGToolBar *fToolBar; // application tool bar
541 TGMenuBar *fMenuBar; // application main menu bar
542 TGPopupMenu *fFileMenu; // file menu entry
543 TGPopupMenu *fSessionMenu; // session menu entry
544 TGPopupMenu *fQueryMenu; // query menu entry
545 TGPopupMenu *fOptionsMenu; // options menu entry
546 TGPopupMenu *fCascadeMenu; // options menu entry
547 TGPopupMenu *fHelpMenu; // help menu entry
548
549 TGPopupMenu *fPopupSrv; // server related popup menu
550 TGPopupMenu *fPopupQry; // query related popup menu
551 TContextMenu *fContextMenu; // input/output objects context menu
552
553 TGHProgressBar *fConnectProg; // connection progress bar
554 TGCanvas *fTreeView; // main right sessions/queries tree view
555 TGListTree *fSessionHierarchy; // main sessions/queries hierarchy list tree
556 TGListTreeItem *fSessionItem; // base (main) session list tree item
557 TGStatusBar *fStatusBar; // bottom status bar
558 TGPicture *fRightIconPicture; // lower bottom left icon used to show connection status
559 TGIcon *fRightIcon; // associated picture
560 TTimer *fTimer; // timer used to change icon picture
561 UserGroup_t *fUserGroup; // user connected to session
562 Bool_t fAutoSave; // kTRUE if config is to be saved on exit
563 TString fConfigFile; // configuration file name
564 TEnv *fViewerEnv; // viewer's configuration
565
566public:
567
568 TSessionViewer(const char *title = "ROOT Session Viewer", UInt_t w = 550, UInt_t h = 320);
569 TSessionViewer(const char *title, Int_t x, Int_t y, UInt_t w, UInt_t h);
570 virtual ~TSessionViewer();
571 virtual void Build();
572 virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t);
573
580 TList *GetSessions() const { return fSessions; }
583 const TGPicture *GetLocalPict() const { return fLocal; }
584 const TGPicture *GetProofConPict() const { return fProofCon; }
585 const TGPicture *GetProofDisconPict() const { return fProofDiscon; }
586 const TGPicture *GetQueryConPict() const { return fQueryCon; }
587 const TGPicture *GetQueryDisconPict() const { return fQueryDiscon; }
588 const TGPicture *GetBasePict() const { return fBaseIcon; }
589 TGPopupMenu *GetPopupSrv() const { return fPopupSrv; }
590 TGPopupMenu *GetPopupQry() const { return fPopupQry; }
596
597 void ChangeRightLogo(const char *name);
598 void CleanupSession();
599 void CloseWindow();
600 void DisableTimer();
601 void EditQuery();
602 void EnableTimer();
604 Bool_t IsBusy() const { return fBusy; }
605 Bool_t IsAutoSave() const { return fAutoSave; }
606 void LogMessage(const char *msg, Bool_t all);
607 void MyHandleMenu(Int_t);
608 void OnCascadeMenu();
609 void OnListTreeClicked(TGListTreeItem *entry, Int_t btn, Int_t x, Int_t y);
611 void QueryResultReady(char *query);
612 void DeleteQuery();
613 void ReadConfiguration(const char *filename = 0);
614 void ResetSession();
615 void UpdateListOfProofs();
618 void WriteConfiguration(const char *filename = 0);
619 void SetBusy(Bool_t busy = kTRUE) { fBusy = busy; }
620 void SetChangePic(Bool_t change) { fChangePic = change;}
622 void ShowEnabledPackages();
623 void ShowPackages();
624 void ShowInfo(const char *txt);
625 void ShowLog(const char *queryref);
626 void ShowStatus();
627 void StartupMessage(char *msg, Bool_t stat, Int_t curr, Int_t total);
628 void StartViewer();
629 void Terminate();
630
631 ClassDef(TSessionViewer, 0) // Session Viewer
632};
633
635
636#endif
#define R__EXTERN
Definition: DllImport.h:27
#define h(i)
Definition: RSha256.hxx:106
int Int_t
Definition: RtypesCore.h:45
unsigned int UInt_t
Definition: RtypesCore.h:46
long Long_t
Definition: RtypesCore.h:54
bool Bool_t
Definition: RtypesCore.h:63
long long Long64_t
Definition: RtypesCore.h:80
float Float_t
Definition: RtypesCore.h:57
const Bool_t kTRUE
Definition: RtypesCore.h:100
#define ClassDef(name, id)
Definition: Rtypes.h:325
@ kButtonDown
Definition: TGButton.h:54
@ kButtonUp
Definition: TGButton.h:53
static unsigned int total
char name[80]
Definition: TGX11.cxx:110
double log(double)
EMenuIdentification
@ kMenuAddToFeedback
@ kMenuShow
@ kMenuRemoveFromFeedback
R__EXTERN TSessionViewer * gSessionViewer
The Canvas class.
Definition: TCanvas.h:23
A chain is a collection of files containing TTree objects.
Definition: TChain.h:33
This class provides an interface to context sensitive popup menus.
Definition: TContextMenu.h:44
This class implements a data set to be used for PROOF processing.
Definition: TDSet.h:153
void UpdateFields(TQueryDescription *desc)
Update entry fields with query description values.
TGTextEntry * fTxtParFile
TGNumberEntry * fNumEntries
TGTextEntry * fTxtQueryName
void OnNewQueryMore()
Show/hide options frame and update button text accordingly.
TGNumberEntry * fNumFirstEntry
void SettingsChanged()
Settings have changed, update GUI accordingly.
TQueryDescription * fQuery
virtual ~TEditQueryFrame()
Delete query dialog.
void OnBrowseEventList()
Browse event list.
TGTextEntry * fTxtEventList
void Build(TSessionViewer *gui)
Build the "new query" dialog.
TEditQueryFrame(TGWindow *p, Int_t w, Int_t h)
Create a new Query dialog, used by the Session Viewer, to Edit a Query if the editmode flag is set,...
TSessionViewer * fViewer
TGTextButton * fBtnMore
void OnElementSelected(TObject *obj)
Handle OnElementSelected signal coming from new chain dialog.
TGCompositeFrame * fFrmMore
TGTextEntry * fTxtSelector
void OnBrowseSelector()
Open file browser to choose selector macro.
TGTextEntry * fTxtChain
void OnBtnSave()
Save current settings in main session viewer.
void OnBrowseChain()
Call new chain dialog.
TGTextEntry * fTxtOptions
The TEnv class reads config files, by default named .rootrc.
Definition: TEnv.h:124
virtual EButtonState GetState() const
Definition: TGButton.h:112
A frame containing two scrollbars (a horizontal and a vertical) and a viewport.
Definition: TGCanvas.h:192
Selects different options.
Definition: TGButton.h:264
virtual void SetState(EButtonState state, Bool_t emit=kFALSE)
Set check button state.
Definition: TGButton.cxx:1250
The base class for composite widgets (menu bars, list boxes, etc.).
Definition: TGFrame.h:287
virtual void ShowFrame(TGFrame *f)
Show sub frame.
Definition: TGFrame.cxx:1204
virtual void HideFrame(TGFrame *f)
Hide sub frame.
Definition: TGFrame.cxx:1190
virtual void RemoveAll()
Remove all items from the container.
Definition: TGCanvas.cxx:641
A subclasses of TGWindow, and is used as base class for some simple widgets (buttons,...
Definition: TGFrame.h:80
A composite frame that layout their children in horizontal way.
Definition: TGFrame.h:386
This class handles GUI icons.
Definition: TGIcon.h:22
This class handles GUI labels.
Definition: TGLabel.h:24
A listbox is a box, possibly with scrollbar, containing entries.
Definition: TGListBox.h:221
A list tree is a widget that can contain a number of items arranged in a tree structure.
Definition: TGListTree.h:195
A list view is a widget that can contain a number of items arranged in a grid or list.
Definition: TGListView.h:115
Defines top level windows that interact with the system Window Manager.
Definition: TGFrame.h:398
The TGMenu.h header contains all different menu classes.
Definition: TGMenu.h:282
TGNumberEntry is a number entry input widget with up/down buttons.
virtual void SetIntNumber(Long_t val, Bool_t emit=kTRUE)
virtual Long_t GetIntNumber() const
The TGPicture class implements pictures and icons used in the different GUI elements and widgets.
Definition: TGPicture.h:25
This class creates a popup menu object.
Definition: TGMenu.h:110
Provides a StatusBar widget.
Definition: TGStatusBar.h:21
A tab widget contains a set of composite frames each with a little tab with a name (like a set of fol...
Definition: TGTab.h:46
A layout manager, which places child frames in a table arranged in rows and columns,...
Definition: TGTableLayout.h:65
A text buffer is used in several widgets, like TGTextEntry, TGFileDialog, etc.
Definition: TGTextBuffer.h:19
Yield an action as soon as it is clicked.
Definition: TGButton.h:142
A TGTextEntry is a one line text input widget.
Definition: TGTextEntry.h:24
const char * GetText() const
Definition: TGTextEntry.h:119
virtual void SetText(const char *text, Bool_t emit=kTRUE)
Sets text entry to text, clears the selection and moves the cursor to the end of the line.
A TGTextView is a text viewer widget.
Definition: TGTextView.h:22
A toolbar is a composite frame that contains TGPictureButtons.
Definition: TGToolBar.h:33
A composite frame that layout their children in vertical way.
Definition: TGFrame.h:375
ROOT GUI Window base class.
Definition: TGWindow.h:23
A doubly linked list.
Definition: TList.h:44
Mother of all ROOT objects.
Definition: TObject.h:37
const char * GetName() const
Returns name of object.
The PROOF manager interacts with the PROOF server coordinator to create or destroy a PROOF session,...
Definition: TProofMgr.h:43
This class controls a Parallel ROOT Facility, PROOF, cluster.
Definition: TProof.h:316
ESessionQueryStatus fStatus
const char * GetName() const
Returns name of object.
TQueryResult * fResult
A container class for query results.
Definition: TQueryResult.h:41
This class creates a TGCanvas in which a TCanvas is created.
const char * GetName() const
Returns name of object.
TQueryDescription * fActQuery
TGTextButton * fBtnShowLog
TGTextButton * fBtnUploadDSet
TGCheckButton * fChkEnable
TGTextButton * fBtnEnable
TGNumberEntry * fLogLevel
TGCompositeFrame * fFE
void OnBtnShowLogClicked()
Show session log.
TGCompositeFrame * fFC
void OnBtnDisconnectClicked()
Disconnect from current Proof session.
TGTextButton * fBtnUp
void OnBtnRemoveClicked()
Remove selected package from the list.
void UpdatePackages()
Update list of packages.
TGTextButton * fBtnDisable
TGTextButton * fBtnShowEnabled
void OnUploadPackages()
Upload selected package(s) to the current session.
TGLabel * fInfoLine[19]
TGTextButton * fBtnClear
TGTextButton * fBtnUpload
TGTextButton * fBtnRefresh
void OnBtnAddClicked()
Open file dialog and add selected package file to the list.
Int_t GetLogLevel() const
TGTextButton * fBtnShow
TGTextEntry * fCommandTxt
TGTextButton * fBtnRemoveDSet
virtual ~TSessionFrame()
Destructor.
void OnBtnRemoveDSet()
Remove dataset from the list and from the cluster.
void OnCommandLine()
Command line handling.
void OnDisablePackages()
Disable selected package(s) in the current session.
void OnBtnNewQueryClicked()
Call "New Query" Dialog.
void OnApplyLogLevel()
Apply selected log level on current session.
TGCheckButton * fClearCheck
void Build(TSessionViewer *gui)
Build session frame.
TGTextButton * fBtnNewQuery
TGTextButton * fApplyLogLevel
void OnBtnVerifyDSet()
Verify that the files in the selected dataset are present on the cluster.
TGTab * GetTab() const
TGCanvas * fDSetView
TGCompositeFrame * fFB
void OnBtnUploadDSet()
Open Upload Dataset dialog.
TGTextBuffer * fCommandBuf
void OnBtnDownClicked()
Move selected package entry one position down in the list.
void OnBtnUpClicked()
Move selected package entry one position up in the list.
TSessionFrame(TGWindow *parent, Int_t w, Int_t h)
Constructor.
void OnStartupEnable(Bool_t on)
Handle multiple selection check button.
void OnBtnGetQueriesClicked()
Get list of queries from current Proof server and populate the list tree.
TGTextView * fInfoTextView
TGCheckButton * fChkMulti
void OnMultipleSelection(Bool_t on)
Handle multiple selection check button.
void UpdateListOfDataSets()
Update list of dataset present on the cluster.
TGTextEntry * fTxtParallel
TGTextButton * fBtnRemove
void OnClearPackages()
Clear (disable) all packages in the current session.
TSessionViewer * fViewer
void ShutdownSession()
Shutdown current session.
TGTextButton * fBtnAdd
TGTextButton * fBtnVerifyDSet
TGListTree * fDataSetTree
void ProofInfos()
Display information on current session.
TGCompositeFrame * fFA
TGTextButton * fBtnGetQueries
void SetLocal(Bool_t local=kTRUE)
Switch widgets status/visibility for local/remote sessions.
TGTextButton * fBtnDown
void OnApplyParallel()
Apply selected number of workers on current Proof session.
TGTextButton * fApplyParallel
TGCompositeFrame * fFD
TGListBox * fLBPackages
void CheckAutoEnPack(Bool_t checked=kTRUE)
void SetLogLevel(Int_t log)
void OnEnablePackages()
Enable selected package(s) in the current session.
TSessionViewer * fViewer
TGLVContainer * fLVContainer
void Build(TSessionViewer *gui)
Build query input information frame.
TGLVContainer * GetLVContainer()
virtual ~TSessionInputFrame()
Destructor.
void RemoveAll()
Remove all frames from composite frame.
TSessionInputFrame(TGWindow *parent, Int_t w, Int_t h)
Constructor.
void AddObject(TObject *obj)
Add object to input list view.
Dialog used to display session logs from the session viewer.
void RemoveAll()
Remove all frames from composite frame.
TGLVContainer * fLVContainer
void Build(TSessionViewer *gui)
Build query output information frame.
void OnElementDblClicked(TGLVEntry *entry, Int_t btn, Int_t x, Int_t y)
Handle double-clicks on list view items.
virtual ~TSessionOutputFrame()
Destructor.
TGLVContainer * GetLVContainer()
TSessionViewer * fViewer
void OnElementClicked(TGLVEntry *entry, Int_t btn, Int_t x, Int_t y)
Handle mouse clicks on list view items.
void AddObject(TObject *obj)
Add object to output list view.
TSessionOutputFrame(TGWindow *parent, Int_t w, Int_t h)
Constructor.
void UpdateInfos()
Update query information (header) text view.
TGTextButton * fBtnShowLog
void Progress(Long64_t total, Long64_t processed, Long64_t bytesread, Float_t initTime, Float_t procTime, Float_t evtrti, Float_t mbrti)
void Build(TSessionViewer *gui)
Build query information frame.
TGCompositeFrame * fFC
TRootEmbeddedCanvas * fECanvas
void UpdateHistos(TList *objs)
Update feedback histograms.
void Progress(Long64_t total, Long64_t processed)
Update progress bar and status labels.
void Feedback(TList *objs)
Feedback function connected to Feedback signal.
void OnBtnSubmit()
Submit query.
void ProgressLocal(Long64_t total, Long64_t processed)
Update progress bar and status labels.
TEditQueryFrame * GetQueryEditFrame() const
TSessionViewer * fViewer
TGTextButton * fBtnSave
TGTextButton * fBtnSubmit
void OnBtnFinalize()
Finalize query.
void OnBtnStop()
Stop processing query.
void Modified(Bool_t mod=kTRUE)
Notify changes in query editor settings.
TGCompositeFrame * fFA
void IndicateStop(Bool_t aborted)
Indicate that Cancel or Stop was clicked.
TGTextButton * fBtnRetrieve
void ResetProgressDialog(const char *selec, Int_t files, Long64_t first, Long64_t entries)
Reset progress frame information fields.
TGTab * GetTab() const
TQueryDescription * fDesc
TGTextButton * fBtnAbort
TGTextButton * fBtnStop
TGTextView * fInfoTextView
TEditQueryFrame * fFD
void UpdateButtons(TQueryDescription *desc)
Update buttons state for the current query status.
void OnBtnShowLog()
Show query log.
EQueryStatus fStatus
TCanvas * GetStatsCanvas() const
TGHProgressBar * frmProg
void OnBtnAbort()
Abort processing query.
TGCompositeFrame * fFB
TSessionQueryFrame(TGWindow *parent, Int_t w, Int_t h)
Constructor.
TGTextButton * fBtnFinalize
void OnBtnRetrieve()
Retrieve query.
virtual ~TSessionQueryFrame()
Destructor.
void SetUserName(const char *str)
TGTextButton * fBtnAdd
TSessionServerFrame(TGWindow *parent, Int_t w, Int_t h)
Constructor.
const char * GetConfigText() const
virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
Process messages for session server frame.
TGTextButton * fBtnConnect
void SetSync(Bool_t sync)
const char * GetAddress() const
const char * GetName() const
Return unique name, used in SavePrimitive methods.
void OnBtnAddClicked()
Add newly created session configuration in the list of sessions.
void OnBtnDeleteClicked()
Delete selected session configuration (remove it from the list).
TSessionViewer * fViewer
void SetConfigText(const char *str)
TGCheckButton * fSync
void SetAddEnabled(Bool_t on=kTRUE)
TGTextEntry * fTxtConfig
void SetPortNumber(Int_t port)
const char * GetUserName() const
void SetLogLevel(Int_t log)
TGNumberEntry * fNumPort
TGNumberEntry * fLogLevel
void SetConnectEnabled(Bool_t on=kTRUE)
virtual ~TSessionServerFrame()
Destructor.
Bool_t IsSync() const
Int_t GetLogLevel() const
void SetName(const char *str)
virtual Bool_t HandleExpose(Event_t *event)
Handle expose event in server frame.
void OnBtnNewServerClicked()
Reset server configuration fields.
TGTextEntry * fTxtAddress
void OnConfigFileClicked()
Browse configuration files.
TGCompositeFrame * fFrmNewServer
TGTextEntry * fTxtName
void Build(TSessionViewer *gui)
Build server configuration frame.
void SettingsChanged()
Settings have changed, update GUI accordingly.
void OnBtnConnectClicked()
Connect to selected server.
TGTextEntry * fTxtUsrName
void SetAddress(const char *str)
Int_t GetPortNumber() const
void Update(TSessionDescription *desc)
Update fields with values from session description desc.
Widget used to manage PROOF or local sessions, PROOF connections, queries construction and results ha...
void EditQuery()
Edit currently selected query.
TGMenuBar * fMenuBar
TSessionQueryFrame * GetQueryFrame() const
TGHorizontalFrame * fHf
void ShowPackages()
Query the list of uploaded packages from proof and display it into a new text window.
TSessionOutputFrame * fOutputFrame
TGListTree * GetSessionHierarchy() const
const TGPicture * GetBasePict() const
const TGPicture * GetLocalPict() const
TGVerticalFrame * fV2
const TGPicture * fQueryDiscon
void SetBusy(Bool_t busy=kTRUE)
const TGPicture * GetProofConPict() const
const TGPicture * GetQueryDisconPict() const
TGPopupMenu * fCascadeMenu
TGPopupMenu * GetOptionsMenu() const
void StartViewer()
Start TreeViewer from selected TChain.
TGHProgressBar * fConnectProg
TGToolBar * fToolBar
TGPopupMenu * GetPopupSrv() const
void LogMessage(const char *msg, Bool_t all)
Load/append a log msg in the log frame.
void UpdateListOfProofs()
Update list of existing Proof sessions.
const TGPicture * fQueryCon
void WriteConfiguration(const char *filename=0)
Save actual configuration in config file "filename".
TGPopupMenu * fFileMenu
TGListTreeItem * fSessionItem
void UpdateListOfPackages()
Update the list of packages.
TGStatusBar * fStatusBar
void SetLogWindow(TSessionLogView *log)
TGPopupMenu * fPopupSrv
void OnListTreeClicked(TGListTreeItem *entry, Int_t btn, Int_t x, Int_t y)
Handle mouse clicks in list tree.
virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t)
Handle messages send to the TSessionViewer object.
TSessionFrame * GetSessionFrame() const
virtual void Build()
Build main session viewer frame and subframes.
TContextMenu * GetContextMenu() const
void MyHandleMenu(Int_t)
Handle session viewer custom popup menus.
TSessionDescription * fActDesc
void ShowInfo(const char *txt)
Display text in status bar.
TSessionOutputFrame * GetOutputFrame() const
TGPopupMenu * fHelpMenu
TGPopupMenu * GetCascadeMenu() const
TGPopupMenu * fPopupQry
const TGPicture * fBaseIcon
void ShowEnabledPackages()
Query list of enabled packages from proof and display it into a new text window.
TSessionViewer(const char *title="ROOT Session Viewer", UInt_t w=550, UInt_t h=320)
Main Session viewer constructor.
void QueryResultReady(char *query)
Handle signal "query result ready" coming from Proof session.
TGIcon * fRightIcon
TGListTreeItem * GetSessionItem() const
TSessionServerFrame * GetServerFrame() const
TGFrame * fActFrame
void OnListTreeDoubleClicked(TGListTreeItem *entry, Int_t btn)
Handle mouse double clicks in list tree (connect to server).
Bool_t IsAutoSave() const
const TGPicture * GetQueryConPict() const
const TGPicture * fProofCon
UserGroup_t * fUserGroup
TSessionFrame * fSessionFrame
Bool_t HandleTimer(TTimer *)
Handle animation timer.
TGPopupMenu * fSessionMenu
TSessionInputFrame * fInputFrame
Bool_t IsBusy() const
TGPopupMenu * fQueryMenu
TGStatusBar * GetStatusBar() const
void CleanupSession()
Clean-up Proof session.
TGVerticalFrame * fV1
TSessionDescription * GetActDesc() const
void EnableTimer()
Enable animation timer.
TGListTree * fSessionHierarchy
void UpdateListOfSessions()
Update list of existing Proof sessions.
TSessionLogView * fLogWindow
TContextMenu * fContextMenu
virtual ~TSessionViewer()
Destructor.
void SetChangePic(Bool_t change)
const TGPicture * GetProofDisconPict() const
TGPopupMenu * fOptionsMenu
TGHProgressBar * GetConnectProg() const
void ShowLog(const char *queryref)
Display the content of the temporary log file for queryref into a new text window.
TSessionServerFrame * fServerFrame
TSessionInputFrame * GetInputFrame() const
void OnCascadeMenu()
Handle feedback histograms configuration menu.
const TGPicture * fLocal
void ReadConfiguration(const char *filename=0)
Read configuration file and populate list of sessions list of queries and list of packages.
void CloseWindow()
Close main Session Viewer window.
const TGPicture * fProofDiscon
void DisableTimer()
Disable animation timer.
void DeleteQuery()
Delete query from list tree and ask user if they want to delete it also from server.
void Terminate()
Terminate Session : save configuration, clean temporary files and close Proof connections.
TSessionQueryFrame * fQueryFrame
TList * GetSessions() const
void ShowStatus()
Retrieve and display Proof status.
void ChangeRightLogo(const char *name)
Change the right logo (used for animation).
TGCanvas * fTreeView
void StartupMessage(char *msg, Bool_t stat, Int_t curr, Int_t total)
Handle startup message (connection progress) coming from Proof session.
void ResetSession()
Reset Proof session.
TGPicture * fRightIconPicture
TGPopupMenu * GetPopupQry() const
Basic string class.
Definition: TString.h:136
Basic time type with millisecond precision.
Definition: TTime.h:27
Handles synchronous and a-synchronous timer events.
Definition: TTimer.h:51
Double_t y[n]
Definition: legend1.C:17
Double_t x[n]
Definition: legend1.C:17
Definition: first.py:1
Event structure.
Definition: GuiTypes.h:174