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// //
14// TSessionViewer //
15// //
16// Widget used to manage PROOF or local sessions, PROOF connections, //
17// queries construction and results handling. //
18// //
19//////////////////////////////////////////////////////////////////////////
20
21#ifndef ROOT_TSessionViewer
22#define ROOT_TSessionViewer
23
24#include "TGFrame.h"
25
26#include "TString.h"
27
28#include "TGTextEntry.h"
29
30#include "TGNumberEntry.h"
31
32#include "TGTab.h"
33
34#include "TGListView.h"
35
36#include "TTime.h"
37
38#include <stdio.h>
39#include <time.h>
40
41class TList;
42class TChain;
43class TDSet;
44class TGNumberEntry;
45class TGTextEntry;
46class TGTextButton;
47class TGCheckButton;
48class TGTextBuffer;
49class TGTableLayout;
50class TGIcon;
51class TGLabel;
52class TGHProgressBar;
53class TGPopupMenu;
54class TGLVContainer;
55class TGListView;
56class TGLVEntry;
57class TGCanvas;
58class TGListTree;
59class TGListTreeItem;
60class TGStatusBar;
61class TGPicture;
62class TGMenuBar;
63class TGPopupMenu;
64class TGToolBar;
65class TGTextView;
66class TGTab;
68class TGListBox;
69class TCanvas;
70class TEnv;
71struct UserGroup_t;
72
73class TProofMgr;
74class TProof;
75class TSessionViewer;
76class TSessionLogView;
77class TQueryResult;
78class TContextMenu;
79
80//////////////////////////////////////////////////////////////////////////
81// //
82// TSessionViewer - A GUI for ROOT / PROOF Sessions //
83// //
84//////////////////////////////////////////////////////////////////////////
85
86//////////////////////////////////////////////////////////////////////////
87// TQueryDescription class : Description of queries
88//////////////////////////////////////////////////////////////////////////
89
90class TQueryDescription : public TObject {
91
92public:
102 };
103
105 TString fReference; // query reference string (unique identifier)
106 TString fQueryName; // query name
107 TString fSelectorString; // selector name
108 TString fTDSetString; // dataset name
109 TString fOptions; // query processing options
110 TString fEventList; // event list
111 Int_t fNbFiles; // number of files to process
112 Long64_t fNoEntries; // number of events/entries to process
113 Long64_t fFirstEntry; // first event/entry to process
114 TTime fStartTime; // start time of the query
115 TTime fEndTime; // end time of the query
116 TObject *fChain; // dataset on which to process selector
117 TQueryResult *fResult; // query result received back
118
119 const char *GetName() const { return fQueryName; }
120
121 ClassDef(TQueryDescription, 1) // Query description
122};
123
124
130
131//////////////////////////////////////////////////////////////////////////
132// TSessionDescription class : Description of Session
133//////////////////////////////////////////////////////////////////////////
134
136
137public:
138 TString fTag; // session unique identifier
139 TString fName; // session name
140 TString fAddress; // server address
141 Int_t fPort; // communication port
142 TString fConfigFile; // configuration file name
143 Int_t fLogLevel; // log (debug) level
144 TString fUserName; // user name (on server)
145 Bool_t fConnected; // kTRUE if connected
146 Bool_t fAttached; // kTRUE if attached
147 Bool_t fLocal; // kTRUE if session is local
148 Bool_t fSync; // kTRUE if in sync mode
149 Bool_t fAutoEnable; // enable packages at session startup time
150 TList *fQueries; // list of queries in this session
151 TList *fPackages; // list of packages
152 TQueryDescription *fActQuery; // current (actual) query
153 TProof *fProof; // pointer on TProof used by this session
154 TProofMgr *fProofMgr; // Proof sessions manager
155 Int_t fNbHistos; // number of feedback histos
156
157 const char *GetName() const { return fName; }
158
159 ClassDef(TSessionDescription, 1) // Session description
160};
161
162//////////////////////////////////////////////////////////////////////////
163// TPackageDescription class : Description of Package
164//////////////////////////////////////////////////////////////////////////
165
167
168public:
169 TString fName; // package name
170 TString fPathName; // full path name of package
171 Int_t fId; // package id
172 Bool_t fUploaded; // package has been uploaded
173 Bool_t fEnabled; // package has been enabled
174
175 const char *GetName() const { return fName; }
176
177 ClassDef(TPackageDescription, 1) // Package description
178};
179
180//////////////////////////////////////////////////////////////////////////
181// //
182// TSessionServerFrame //
183// A composite Frame used in the right part of the Session Viewer GUI //
184// for any information relative to server side : address, port, user... //
185// //
186//////////////////////////////////////////////////////////////////////////
187
189
190private:
191 TGCompositeFrame *fFrmNewServer; // main group frame
192 TGTextEntry *fTxtName; // connection name text entry
193 TGTextEntry *fTxtAddress; // server address text entry
194 TGNumberEntry *fNumPort; // port number selector
195 TGNumberEntry *fLogLevel; // log (debug) level selector
196 TGTextEntry *fTxtConfig; // configuration file text entry
197 TGTextEntry *fTxtUsrName; // user name text entry
198 TGCheckButton *fSync; // sync / async flag selector
199 TSessionViewer *fViewer; // pointer on the main viewer
200 TGTextButton *fBtnAdd; // "Add" button
201 TGTextButton *fBtnConnect; // "Connect" button
202
203public:
205 virtual ~TSessionServerFrame();
206
207 void Build(TSessionViewer *gui);
208
209 const char *GetName() const { return fTxtName->GetText(); }
210 const char *GetAddress() const { return fTxtAddress->GetText(); }
213 const char *GetConfigText() const { return fTxtConfig->GetText(); }
214 const char *GetUserName() const { return fTxtUsrName->GetText(); }
215 Bool_t IsSync() const { return (Bool_t)(fSync->GetState() == kButtonDown); }
216
221 void SetName(const char *str) { fTxtName->SetText(str); }
222 void SetAddress(const char *str) { fTxtAddress->SetText(str); }
225 void SetConfigText(const char *str) { fTxtConfig->SetText(str); }
226 void SetUserName(const char *str) { fTxtUsrName->SetText(str); }
227 void SetSync(Bool_t sync) {
228 fSync->SetState(sync ? kButtonDown : kButtonUp); }
229
230 void SettingsChanged();
231
232 void OnBtnConnectClicked();
234 void OnBtnDeleteClicked();
235 void OnBtnAddClicked();
236 void OnConfigFileClicked();
237 void Update(TSessionDescription* desc);
238 virtual Bool_t HandleExpose(Event_t *event);
239 virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
240
241 ClassDef(TSessionServerFrame, 0) // Server frame
242};
243
244
245//////////////////////////////////////////////////////////////////////////
246// //
247// TSessionFrame //
248// A composite Frame used in the right part of the Session Viewer GUI //
249// for any information, settings or controls relative to the current //
250// session. //
251// //
252//////////////////////////////////////////////////////////////////////////
253
255
256private:
257
258 TGTab *fTab; // main tab frame
260 TGCompositeFrame *fFD, *fFE; // five tabs element
261 TGTextEntry *fCommandTxt; // Command line text entry
262 TGTextBuffer *fCommandBuf; // Command line text buffer
263 TGTextView *fInfoTextView; // summary on current query
264 TGCheckButton *fClearCheck; // clear text view after each command
265 TGTextButton *fBtnShowLog; // show log button
266 TGTextButton *fBtnNewQuery; // new query button
267 TGTextButton *fBtnGetQueries; // get entries button
268 // Packages tab related items
269 TGListBox *fLBPackages; // packages listbox
270 TGTextButton *fBtnAdd; // add package button
271 TGTextButton *fBtnRemove; // remove package button
272 TGTextButton *fBtnUp; // move package up button
273 TGTextButton *fBtnDown; // move package down button
274 TGTextButton *fBtnShow; // show packages button
275 TGTextButton *fBtnShowEnabled; // show enabled packages button
276 TGCheckButton *fChkMulti; // multiple selection check
277 TGCheckButton *fChkEnable; // enable at session startup check
278 TGTextButton *fBtnUpload; // upload packages button
279 TGTextButton *fBtnEnable; // enable packages button
280 TGTextButton *fBtnClear; // clear all packages button
281 TGTextButton *fBtnDisable; // disable packages button
282 // Datasets tab related items
283 TGCanvas *fDSetView; // dataset tree view
284 TGListTree *fDataSetTree; // dataset list tree
285 TGTextButton *fBtnUploadDSet; // upload dataset button
286 TGTextButton *fBtnRemoveDSet; // remove dataset button
287 TGTextButton *fBtnVerifyDSet; // verify dataset button
288 TGTextButton *fBtnRefresh; // refresh list button
289 // Options tab related items
290 TGTextEntry *fTxtParallel; // parallel nodes text entry
291 TGNumberEntry *fLogLevel; // log level number entry
292 TGTextButton *fApplyLogLevel; // apply log level button
293 TGTextButton *fApplyParallel; // apply parallel nodes button
294
295 TSessionViewer *fViewer; // pointer on main viewer
296 TGLabel *fInfoLine[19]; // infos on session
297
298public:
299 TSessionFrame(TGWindow* parent, Int_t w, Int_t h);
300 virtual ~TSessionFrame();
301
302 void Build(TSessionViewer *gui);
303 void CheckAutoEnPack(Bool_t checked = kTRUE) {
307 TGTab *GetTab() const { return fTab; }
308
309 //Function that handle input from user:
310 void OnApplyLogLevel();
311 void OnApplyParallel();
312 void OnBtnAddClicked();
313 void OnBtnRemoveClicked();
314 void OnBtnUpClicked();
315 void OnBtnDownClicked();
316 void OnBtnShowLogClicked();
320 void OnCommandLine();
321 void OnUploadPackages();
322 void OnEnablePackages();
323 void OnDisablePackages();
324 void OnClearPackages();
326 void OnStartupEnable(Bool_t on);
327 void ProofInfos();
328 void SetLocal(Bool_t local = kTRUE);
329 void ShutdownSession();
330 void UpdatePackages();
331 void OnBtnUploadDSet();
332 void OnBtnRemoveDSet();
333 void OnBtnVerifyDSet();
335
336 ClassDef(TSessionFrame, 0) // Session frame
337};
338
339//////////////////////////////////////////////////////////////////////////
340// New Query Dialog
341//////////////////////////////////////////////////////////////////////////
342
344
345private:
346 TGCompositeFrame *fFrmMore; // options frame
347 TGTextButton *fBtnMore; // "more >>" / "less <<" button
348
349 TGTextEntry *fTxtQueryName; // query name text entry
350 TGTextEntry *fTxtChain; // chain name text entry
351 TGTextEntry *fTxtSelector; // selector name text entry
352 TGTextEntry *fTxtOptions; // options text entry
353 TGNumberEntry *fNumEntries; // number of entries selector
354 TGNumberEntry *fNumFirstEntry; // first entry selector
355 TGTextEntry *fTxtParFile; // parameter file name text entry
356 TGTextEntry *fTxtEventList; // event list text entry
357 TSessionViewer *fViewer; // pointer on main viewer
358 TQueryDescription *fQuery; // query description class
359 TObject *fChain; // actual TChain
360
361public:
363 virtual ~TEditQueryFrame();
364 void Build(TSessionViewer *gui);
365 void OnNewQueryMore();
366 void OnBrowseChain();
367 void OnBrowseSelector();
368 void OnBrowseEventList();
369 void OnBtnSave();
370 void OnElementSelected(TObject *obj);
371 void SettingsChanged();
373
374 ClassDef(TEditQueryFrame, 0) // Edit query frame
375};
376
377//////////////////////////////////////////////////////////////////////////
378// //
379// TSessionQueryFrame //
380// A composite Frame used in the right part of the Session Viewer GUI //
381// for any information, settings or controls relative to queries. //
382// //
383//////////////////////////////////////////////////////////////////////////
384
386
387private:
388
390
391 TGTextButton *fBtnSubmit; // submit query button
392 TGTextButton *fBtnFinalize; // finalize query button
393 TGTextButton *fBtnStop; // stop process button
394 TGTextButton *fBtnAbort; // abort process button
395 TGTextButton *fBtnShowLog; // show log button
396 TGTextButton *fBtnRetrieve; // retrieve query button
397 TGTextButton *fBtnSave; // save query button
398 TGTextView *fInfoTextView; // summary on current query
399
400 Bool_t fModified; // kTRUE if settings have changed
401 Int_t fFiles; // number of files processed
402 Long64_t fFirst; // first event/entry to process
403 Long64_t fEntries; // number of events/entries to process
404 Long64_t fPrevTotal; // used for progress bar
405 Long64_t fPrevProcessed; // used for progress bar
406 TGLabel *fLabInfos; // infos on current process
407 TGLabel *fLabStatus; // actual process status
408 TGLabel *fTotal; // total progress info
409 TGLabel *fRate; // rate of process in events/sec
410 EQueryStatus fStatus; // status of actual query
411 TGTab *fTab; // main tab frame
412 TGCompositeFrame *fFA, *fFB, *fFC; // three tabs element
413 TEditQueryFrame *fFD; // fourth tab element (edit query frame)
414 TGHProgressBar *frmProg; // current process progress bar
415 TRootEmbeddedCanvas *fECanvas; // node statistics embeded canvas
416 TCanvas *fStatsCanvas; // node statistics canvas
417 TSessionViewer *fViewer; // pointer on main viewer
418 TQueryDescription *fDesc; // query description
419
420public:
422 virtual ~TSessionQueryFrame();
423
424 void Build(TSessionViewer *gui);
425
428 TGTab *GetTab() const { return fTab; }
429
430 void Feedback(TList *objs);
431 void Modified(Bool_t mod = kTRUE);
432 void Progress(Long64_t total, Long64_t processed);
433 void Progress(Long64_t total, Long64_t processed, Long64_t bytesread,
434 Float_t initTime, Float_t procTime,
435 Float_t evtrti, Float_t mbrti, Int_t actw, Int_t tses, Float_t eses);
436 void Progress(Long64_t total, Long64_t processed, Long64_t bytesread,
437 Float_t initTime, Float_t procTime,
438 Float_t evtrti, Float_t mbrti) {
439 Progress(total, processed, bytesread, initTime, procTime,
440 evtrti, mbrti, -1, -1, -1.); }
441 void ProgressLocal(Long64_t total, Long64_t processed);
442 void IndicateStop(Bool_t aborted);
443 void ResetProgressDialog(const char *selec, Int_t files, Long64_t first, Long64_t entries);
444
445 //Function that handle input from user:
446 void OnBtnSubmit();
447 void OnBtnFinalize();
448 void OnBtnStop();
449 void OnBtnAbort();
450 void OnBtnShowLog();
451 void OnBtnRetrieve();
452 void UpdateInfos();
454 void UpdateHistos(TList *objs);
455
456 ClassDef(TSessionQueryFrame, 0) // Query frame
457};
458
459//////////////////////////////////////////////////////////////////////////
460// //
461// TSessionOutputFrame //
462// A composite Frame used in the right part of the Session Viewer GUI //
463// displaying output list objects coming from query result. //
464// //
465//////////////////////////////////////////////////////////////////////////
466
468
469private:
470 TGLVEntry *fEntryTmp; // used to transfer to feedback
471 TGLVContainer *fLVContainer; // output list view
472 TSessionViewer *fViewer; // pointer on the main viewer
473
474public:
476 virtual ~TSessionOutputFrame();
477
478 void AddObject(TObject *obj);
479 void Build(TSessionViewer *gui);
481 void OnElementClicked(TGLVEntry* entry, Int_t btn, Int_t x, Int_t y);
482 void OnElementDblClicked(TGLVEntry *entry ,Int_t btn, Int_t x, Int_t y);
484
485 ClassDef(TSessionOutputFrame, 0) // Output frame
486};
487
488//////////////////////////////////////////////////////////////////////////
489// //
490// TSessionInputFrame //
491// A composite Frame used in the right part of the Session Viewer GUI //
492// displaying input list objects coming from query result. //
493// //
494//////////////////////////////////////////////////////////////////////////
495
497
498private:
499 TSessionViewer *fViewer; // pointer on the main viewer
500 TGLVContainer *fLVContainer; // container for the input list view
501
502public:
504 virtual ~TSessionInputFrame();
505
506 void AddObject(TObject *obj);
507 void Build(TSessionViewer *gui);
510
511 ClassDef(TSessionInputFrame, 0) // Input frame
512};
513
514
515//////////////////////////////////////////////////////////////////////////
516// //
517// TSessionViewer //
518// This is the main widget, mother of all the previous classes //
519// Used to manage sessions, servers, queries... //
520// //
521//////////////////////////////////////////////////////////////////////////
522
524
525private:
526 time_t fStart, fElapsed; // time of connection
527 Bool_t fChangePic; // KTRUE if animation active
528 Bool_t fBusy; // KTRUE if busy i.e : connecting
532 TSessionServerFrame *fServerFrame; // right side server frame
533 TSessionFrame *fSessionFrame; // right side session frame
534 TSessionQueryFrame *fQueryFrame; // right side query frame
537 TSessionLogView *fLogWindow; // external log window
538 TSessionDescription *fActDesc; // actual session description
539 TList *fSessions; // list of sessions
540 const TGPicture *fLocal; // local session icon picture
541 const TGPicture *fProofCon; // connected server icon picture
542 const TGPicture *fProofDiscon; // disconnected server icon picture
543 const TGPicture *fQueryCon; // connected(?) query icon picture
544 const TGPicture *fQueryDiscon; // disconnected(?) query icon picture
545 const TGPicture *fBaseIcon; // base list tree icon picture
546
547 TGFrame *fActFrame; // actual (displayed) frame
548 TGToolBar *fToolBar; // application tool bar
549 TGMenuBar *fMenuBar; // application main menu bar
550 TGPopupMenu *fFileMenu; // file menu entry
551 TGPopupMenu *fSessionMenu; // session menu entry
552 TGPopupMenu *fQueryMenu; // query menu entry
553 TGPopupMenu *fOptionsMenu; // options menu entry
554 TGPopupMenu *fCascadeMenu; // options menu entry
555 TGPopupMenu *fHelpMenu; // help menu entry
556
557 TGPopupMenu *fPopupSrv; // server related popup menu
558 TGPopupMenu *fPopupQry; // query related popup menu
559 TContextMenu *fContextMenu; // input/output objects context menu
560
561 TGHProgressBar *fConnectProg; // connection progress bar
562 TGCanvas *fTreeView; // main right sessions/queries tree view
563 TGListTree *fSessionHierarchy; // main sessions/queries hierarchy list tree
564 TGListTreeItem *fSessionItem; // base (main) session list tree item
565 TGStatusBar *fStatusBar; // bottom status bar
566 TGPicture *fRightIconPicture; // lower bottom left icon used to show connection status
567 TGIcon *fRightIcon; // associated picture
568 TTimer *fTimer; // timer used to change icon picture
569 UserGroup_t *fUserGroup; // user connected to session
570 Bool_t fAutoSave; // kTRUE if config is to be saved on exit
571 TString fConfigFile; // configuration file name
572 TEnv *fViewerEnv; // viewer's configuration
573
574public:
575
576 TSessionViewer(const char *title = "ROOT Session Viewer", UInt_t w = 550, UInt_t h = 320);
577 TSessionViewer(const char *title, Int_t x, Int_t y, UInt_t w, UInt_t h);
578 virtual ~TSessionViewer();
579 virtual void Build();
580 virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t);
581
588 TList *GetSessions() const { return fSessions; }
591 const TGPicture *GetLocalPict() const { return fLocal; }
592 const TGPicture *GetProofConPict() const { return fProofCon; }
593 const TGPicture *GetProofDisconPict() const { return fProofDiscon; }
594 const TGPicture *GetQueryConPict() const { return fQueryCon; }
595 const TGPicture *GetQueryDisconPict() const { return fQueryDiscon; }
596 const TGPicture *GetBasePict() const { return fBaseIcon; }
597 TGPopupMenu *GetPopupSrv() const { return fPopupSrv; }
598 TGPopupMenu *GetPopupQry() const { return fPopupQry; }
604
605 void ChangeRightLogo(const char *name);
606 void CleanupSession();
607 void CloseWindow();
608 void DisableTimer();
609 void EditQuery();
610 void EnableTimer();
612 Bool_t IsBusy() const { return fBusy; }
613 Bool_t IsAutoSave() const { return fAutoSave; }
614 void LogMessage(const char *msg, Bool_t all);
615 void MyHandleMenu(Int_t);
616 void OnCascadeMenu();
617 void OnListTreeClicked(TGListTreeItem *entry, Int_t btn, Int_t x, Int_t y);
619 void QueryResultReady(char *query);
620 void DeleteQuery();
621 void ReadConfiguration(const char *filename = 0);
622 void ResetSession();
623 void UpdateListOfProofs();
626 void WriteConfiguration(const char *filename = 0);
627 void SetBusy(Bool_t busy = kTRUE) { fBusy = busy; }
628 void SetChangePic(Bool_t change) { fChangePic = change;}
630 void ShowEnabledPackages();
631 void ShowPackages();
632 void ShowInfo(const char *txt);
633 void ShowLog(const char *queryref);
634 void ShowStatus();
635 void StartupMessage(char *msg, Bool_t stat, Int_t curr, Int_t total);
636 void StartViewer();
637 void Terminate();
638
639 ClassDef(TSessionViewer, 0) // Session Viewer
640};
641
643
644#endif
#define R__EXTERN
Definition: DllImport.h:27
#define h(i)
Definition: RSha256.hxx:106
int Int_t
Definition: RtypesCore.h:41
unsigned int UInt_t
Definition: RtypesCore.h:42
long Long_t
Definition: RtypesCore.h:50
bool Bool_t
Definition: RtypesCore.h:59
long long Long64_t
Definition: RtypesCore.h:69
float Float_t
Definition: RtypesCore.h:53
const Bool_t kTRUE
Definition: RtypesCore.h:87
#define ClassDef(name, id)
Definition: Rtypes.h:326
@ kButtonDown
Definition: TGButton.h:54
@ kButtonUp
Definition: TGButton.h:53
static unsigned int total
char name[80]
Definition: TGX11.cxx:109
double log(double)
EMenuIdentification
@ kMenuAddToFeedback
@ kMenuShow
@ kMenuRemoveFromFeedback
R__EXTERN TSessionViewer * gSessionViewer
The Canvas class.
Definition: TCanvas.h:31
A chain is a collection of files containing TTree objects.
Definition: TChain.h:34
This class provides an interface to context sensitive popup menus.
Definition: TContextMenu.h:40
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:125
virtual EButtonState GetState() const
Definition: TGButton.h:112
virtual void SetState(EButtonState state, Bool_t emit=kFALSE)
Set check button state.
Definition: TGButton.cxx:1200
virtual void ShowFrame(TGFrame *f)
Show sub frame.
Definition: TGFrame.cxx:1186
virtual void HideFrame(TGFrame *f)
Hide sub frame.
Definition: TGFrame.cxx:1172
virtual void RemoveAll()
Remove all items from the container.
Definition: TGCanvas.cxx:636
Definition: TGIcon.h:30
virtual void SetIntNumber(Long_t val)
virtual Long_t GetIntNumber() const
Definition: TGTab.h:62
const char * GetText() const
Definition: TGTextEntry.h:134
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 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:36
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.
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.
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:131
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