1#include "KVDataAnalysisLauncher.h"
15#include "KVDataRepositoryManager.h"
16#include "KVDataRepository.h"
17#include "KVDataSetManager.h"
19#include "KVDataAnalysisTask.h"
23#include "KVBatchSystemManager.h"
25#include "KVInputDialog.h"
26#include "KVBatchSystemGUI.h"
27#include "KVBatchSystemParametersGUI.h"
33#define MAX_LENGTH_SELECTED_RUNS 40
57 lbFileList =
new TGListBox(
this, LB_Files);
58 lbFileList->SetMultipleSelections(
kTRUE);
59 lbFileList->Resize(350, 96);
60 this->AddFrame(lbFileList, eXeY);
64 this->AddFrame(teFileName, eX);
69 boutAdd->SetToolTipText(
"Add a file to the list", TTDELAY);
70 boutAdd->Connect(
"Clicked()",
77 boutRem->SetToolTipText(
"Remove the selected file from the list", TTDELAY);
78 boutRem->Connect(
"Clicked()",
85 boutAllRem->SetToolTipText(
"Remove all files from the list", TTDELAY);
86 boutAllRem->Connect(
"Clicked()",
92 this->AddFrame(cf, eX);
100 this->AddFrame(bout, eX);
104 Resize(GetDefaultSize());
105 SetWindowName(title);
108 fileListString = &fileList;
127 Init(fileList, title);
196 this->CanAdd(fileName.
Data())) {
246 (*fileListString) =
"";
250 (*fileListString) +=
e->GetText()->GetString();
265 const char* filTypes[] = {
"Shared Object Files",
"*.so",
291 "File does not exist",
292 Form(
"The file \"%s\" does not exist. Nothing added.",
301 "Not a share object",
302 Form(
"The file \"%s\" is not a shared object. Nothing added.",
324 boutAdd->SetText(
"Add Directory");
325 boutAdd->SetToolTipText(
"Add a directory to the list.", TTDELAY);
328 boutRem->SetText(
"Remove Directory");
329 boutRem->SetToolTipText(
"Remove the selected directories from the list.", TTDELAY);
332 boutAllRem->SetText(
"Remove All Directories");
333 boutAllRem->SetToolTipText(
"Remove all directories from the list.", TTDELAY);
334 boutAllRem->Layout();
350 Init(fileList, title);
377 const char* filTypes[] = {
"Include Files",
"*.[h,H]*",
406 "Directory does not exist",
407 Form(
"The directory \"%s\" does not exist. Nothing added.",
416 Form(
"The path \"%s\" is not a directory. Nothing added.",
446 GUIenv =
new TEnv(
".KVDataAnalysisGUIrc");
448 ResourceNames =
new TList;
449 ResourceNames->
Add(
new TNamed(
"Repository",
""));
450 ResourceNames->Add(
new TNamed(
"DataSet",
""));
451 ResourceNames->Add(
new TNamed(
"Task",
""));
452 ResourceNames->Add(
new TNamed(
"System",
""));
453 ResourceNames->Add(
new TNamed(
"Trigger",
""));
454 NbResNames = ResourceNames->GetEntries();
457 UserClassNames =
new TList;
461 if (!gDataRepositoryManager) {
463 gDataRepositoryManager->
Init();
485 fMainGuiWidth =
gEnv->
GetValue(
"KaliVedaGUI.MainGUIWidth", 400);
486 fMainGuiHeight =
gEnv->
GetValue(
"KaliVedaGUI.MainGUIHeight", 600);
499 cbRepository =
new TGComboBox(cf, CB_DataRepository);
500 cbRepository->Select(-1);
501 cbRepository->Resize(150, 20);
502 cbRepository->Connect(
"Selected(char*)",
503 "KVDataAnalysisLauncher",
505 "SetDataSetList(char*)");
506 cf->
AddFrame(cbRepository, LHtopleft);
509 lab =
new TGLabel(cf,
"DATASET : ");
516 cbDataSet->Select(-1);
517 cbDataSet->Resize(150, 20);
518 cbDataSet->Connect(
"Selected(char*)",
519 "KVDataAnalysisLauncher",
521 "SetTaskList(char*)");
527 lab =
new TGLabel(cf,
"ANALYSIS TASK : ");
535 cbTask->Resize(350, 20);
536 cbTask->Connect(
"Selected(int)",
537 "KVDataAnalysisLauncher",
539 "SetSystemList(int)");
548 lvSystems->SetDataColumns(5);
549 lvSystems->SetMaxColumnSize(
gEnv->
GetValue(
"KaliVedaGUI.MaxColWidth", 200));
550 lvSystems->SetDataColumn(1,
"Zproj");
551 lvSystems->SetDataColumn(2,
"Ztarget");
552 lvSystems->SetDataColumn(3,
"Ebeam");
553 lvSystems->GetDataColumn(3)->SetDataFormat(
"%4.1lf");
554 lvSystems->SetDataColumn(4,
"#Runs",
"GetNumberRuns");
555 lvSystems->SetDataColumn(0,
"System",
"GetName");
556 lvSystems->ActivateSortButtons();
558 lvSystems->AllowBrowse(
kFALSE);
559 lvSystems->AllowContextMenu(
kFALSE);
560 lvSystems->AllowMultipleSelection(
kFALSE);
561 lvSystems->Connect(
"SelectionChanged()",
"KVDataAnalysisLauncher",
this,
"SystemSelectionChanged()");
569 lvRuns->SetDataColumns(8);
570 lvRuns->SetMaxColumnSize(
gEnv->
GetValue(
"KaliVedaGUI.MaxColWidth", 200));
572 lvRuns->SetDataColumn(iicc++,
"Run",
"GetRunNumber");
573 lvRuns->SetDataColumn(iicc++,
"Trigger",
"");
574 lvRuns->SetDataColumn(iicc++,
"Events",
"",
kTextRight);
575 lvRuns->SetDataColumn(iicc++,
"File",
"GetName");
576 lvRuns->SetDataColumn(iicc++,
"Date",
"GetFileWritten");
577 lvRuns->SetDataColumn(iicc++,
"Comments",
"",
kTextLeft);
578 lvRuns->SetDataColumn(iicc++,
"Version");
579 lvRuns->SetDataColumn(iicc++,
"User");
580 lvRuns->ActivateSortButtons();
582 lvRuns->AllowBrowse(
kFALSE);
583 lvRuns->AllowContextMenu(
kFALSE);
584 lvRuns->Connect(
"SelectionChanged()",
"KVDataAnalysisLauncher",
this,
"UpdateListOfSelectedRuns()");
592 bout->
SetToolTipText(
"Select all runs for the analysis.", TTDELAY);
594 "KVDataAnalysisLauncher",
601 "KVDataAnalysisLauncher",
608 "KVDataAnalysisLauncher",
615 selectedRuns =
new TGLabel(runs_and_nbevents,
"Selected Runs :");
621#ifdef __WITHOUT_TGNUMBERENTRY_SETNUMSTYLE
626#ifdef __WITHOUT_TGNUMBERENTRY_SETNUMATTR
631 teNbToRead->GetNumberEntry()->SetToolTipText(
"Number of events to read [0 => all events]", TTDELAY);
632 teNbToRead->Resize(150, 20);
635 cfRuns->
AddFrame(runs_and_nbevents, eX);
637 AddFrame(cfRuns, eXeY);
643 fUserClassLabel =
new TGLabel(cf,
"User Class");
646 lab =
new TGLabel(cf,
"User class options");
649 cfAnalysis->AddFrame(cf, eX);
653 cbUserClass->Select(-1);
654 cbUserClass->Resize(150, 20);
656 cbUserClass->Connect(
"Selected(char*)",
"KVDataAnalysisLauncher",
this,
657 "UserClassSelected(char*)");
659 btEditClass->SetEnabled(
kFALSE);
660 btEditClass->Connect(
"Clicked()",
"KVDataAnalysisLauncher",
this,
"EditUserClassFiles()");
661 btEditClass->SetToolTipText(
Form(
"Open analysis class source files in %s",
gSystem->
Getenv(
"EDITOR")), TTDELAY);
665 teUserOptions->SetToolTipText(
"Comma-separated list of options for user analysis class: PAR1=VAL1,PAR2=VAL2,etc.", TTDELAY);
668 cfAnalysis->AddFrame(cf, eX);
670 AddFrame(cfAnalysis, eX);
674 bout =
new TGTextButton(cf,
"User's libraries", B_Libs);
676 "KVDataAnalysisLauncher",
678 "SetUserLibraries()");
683 "KVDataAnalysisLauncher",
685 "SetUserIncludes()");
688 this->AddFrame(cf, eX);
692 cout <<
"Creation Process/Quit" << endl;
696 withBatch->SetToolTipText(gBatchSystem->
GetTitle());
697 withBatch->AllowStayDown(
kTRUE);
698 withBatch->Connect(
"Clicked()",
"KVDataAnalysisLauncher",
this,
"SetBatch()");
700 doBatchParams =
new TGTextButton(cfProcess,
"Batch Parameters");
701 doBatchParams->SetToolTipText(
"Set parameters of batch jobs");
702 doBatchParams->Connect(
"Clicked()",
"KVDataAnalysisLauncher",
this,
"SetBatchParameters()");
703 cfProcess->
AddFrame(doBatchParams, eX);
705 bout =
new TGTextButton(cfProcess,
"&Process", B_Process);
707 bout->
Connect(
"Clicked()",
"KVDataAnalysisLauncher",
this,
"Process()");
713 bout->
Connect(
"Clicked()",
"KVDataAnalysisLauncher",
this,
"Exit()");
717 this->AddFrame(cfProcess, eX);
721 Resize(GetDefaultSize());
727 SetWMSize(fMainGuiWidth, fMainGuiHeight);
731 FillListOfUserClasses();
734 checkCompilation =
kFALSE;
737 TString tmp(GetResource(
"Repository",
""));
738 SetRepository(tmp.
Data());
740 if (GUIenv->GetValue(
"KVDataAnalysisLauncher.Batch",
kFALSE))
746 fUserLibraries = GUIenv->GetValue(
"KVDataAnalysisLauncher.UserLibraries",
"");
747 fUserIncludes = GUIenv->GetValue(
"KVDataAnalysisLauncher.UserIncludes",
"");
773#ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL
782 while ((o = next())) {
803#ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL
843#ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL
850 cout <<
"DataSet : [" << dataset <<
"]" << endl;
927 if (current_batch ==
"PROOFLite" && data_reader !=
"TFile") {
930 Info(
"SetSystemList",
"Switched batch system to %s: %s", gBatchSystem->
GetName(), gBatchSystem->
GetTitle());
932 else if (current_batch ==
"Xterm" && data_reader ==
"TFile") {
935 Info(
"SetSystemList",
"Switched batch system to %s: %s", gBatchSystem->
GetName(), gBatchSystem->
GetTitle());
1075 cout <<
"Checking connection to remote repository." << endl;
1077 cout <<
"Connection to server refused" << endl;
1078 cout <<
"Process aborted." << endl;
1079 WarningBox(
"Connection refused",
"Connection to server refused\nProcess aborted.");
1086 bool online_analysis = !strcmp(task->
GetPrereq(),
"*");
1089 gDataAnalyser = datan;
1097 else if (!online_analysis) {
1098 WarningBox(
"Empty Run List",
"The list of runs to process is empty.");
1131 WarningBox(
"No User Class",
"Please enter the user analysis class name.");
1141 if (
IsBatch() && nbEventRead) {
1142 if (!
WarningBox(
"Read all events in batch mode?",
1143 "This will submit batch jobs which will not read all events.\nAre you sure that is what you want?",
1164 gBatchSystem->
Clear();
1183 return e->GetText()->GetString();
1197 return e->GetText()->GetString();
1211 return e->GetText()->GetString();
1251#ifdef __WITHOUT_TGCOMBOBOX_SELECT_BOOL_T
1269 if (!strcmp(
r,
"")) {
1271#ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL
1284#ifdef __WITHOUT_TGCOMBOBOX_SELECT_BOOL_T
1303 if (!strcmp(
r,
"")) {
1305#ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL
1318#ifdef __WITHOUT_TGCOMBOBOX_SELECT_BOOL_T
1337 if (!strcmp(
r,
"")) {
1371 if (!strcmp(
r,
"")) {
1488 reply = (ret_code &
kMBYes);
1495#ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL
1504 Int_t n =
box->GetListBox()->GetNumberOfEntries();
1505 if (n)
box->RemoveEntries(0, n - 1);
1506 if (
box->GetSelectedEntry()) {
1511 box->GetTextEntry()->SetTitle(
"");
1525 if (n)
box->RemoveEntries(0, n - 1);
1526 if (
box->GetSelectedEntry()) {
1627 res.
Prepend(
"KVDataAnalysisLauncher.");
1778 cur_res.
Prepend(
"KVDataAnalysisLauncher.");
1800 saved_res = cur_res;
1805 while ((resource = next_res()) && (i++ <
index)) {
1815 if (!strcmp(resource->
GetName(),
"Task") && gDataSet) {
1820 else if (!strcmp(resource->
GetName(),
"System")) {
1824 else if (!strcmp(resource->
GetName(),
"Trigger")) {
1836 if (!strcmp(
name,
"UserClassOptions")) {
1841 if (!ok) saved_res =
"";
1866 if (!lf.get())
return;
1869 TIter next(lf.get());
1907#ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL
1917 while (i < nbcl + 1) {
1936 if (!strcmp(class_name,
"[NEW]")) {
1946 if (strcmp(
"", class_name)) {
1973 new KVInputDialog(
this,
"Enter name of new analysis class", &classname, &ok,
"Enter name of new analysis class");
1977 ok = ok &&
WarningBox(
"Replacing existing class",
1978 Form(
"%s is the name of an existing class defined in [%s,%s].\nDo you want to overwrite this class?\n(All existing code will be lost)",
2011#ifdef __WITHOUT_TGCOMBOBOX_SELECT_BOOL_T
2045 return e->GetText()->GetString();
2062#ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL
2107 if (editor ==
"")
return;
2109 if (uclass ==
"")
return;
2155 TIter nxt(novolist);
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t sel
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize MapSubwindows
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize fs
char * Form(const char *fmt,...)
char * StrDup(const char *str)
R__EXTERN TSystem * gSystem
static Bool_t FindClassSourceFiles(const Char_t *class_name, KVString &imp_file, KVString &dec_file, const Char_t *dir_name=".")
virtual const Char_t * GetType() const
KVBatchSystem * GetDefaultBatchSystem() const
KVBatchSystem * GetBatchSystem(const Char_t *name)
Get batch system by name.
Utility GUI used for setting batch system parameters.
void cd()
Make this the default batch system.
virtual void SetBatchSystemParameters(const KVNameValueList &)
Use the parameters in the list to set all relevant parameters for batch system.
virtual void GetBatchSystemParameterList(KVNameValueList &)
virtual void Clear(Option_t *opt="")
Database class used to store information on different colliding systems studied during an experiment....
virtual void Run()
Check all task variables, then run analyser.
void SetBatchSystem(KVBatchSystem *bs)
void SetUserClassOptions(const Char_t *o="")
void SetUserLibraries(const Char_t *libs=0)
void SetUserClass(const Char_t *kvs, Bool_t check=kTRUE)
void SetAnalysisTask(KVDataAnalysisTask *at)
static KVDataAnalyser * GetAnalyser(const Char_t *plugin)
void SetUserIncludes(const Char_t *incDirs=0)
Bool_t IsUserClassValid() const
void SetNbEventToRead(Long64_t nb=0)
GUI for running data analysis tasks.
virtual const Char_t * GetDataSet(void)
virtual const Char_t * GetRepository(void)
TList * UserClassNames
list of user classes present in working directory
void SetUserClassList()
Sets the list of all available user classes in the drop down list.
const Char_t * GetSavedResource(const Char_t *name, const Char_t *defaultvalue="")
virtual void SetRepositoryList(void)
Sets the list of all possible repositories in the repository combo box.
virtual void DeselectAll(void)
Deselect all runs currently in the displayed list of runs.
void SystemSelectionChanged()
virtual void Process(void)
Run the analysis task.
void SetUserClass(const Char_t *)
TGCompositeFrame * cfAnalysis
Int_t NbResNames
number of names in list
TGPictureButton * btEditClass
KVNumberList listOfSystemRuns
void DisableUserClassList()
Remove all entries from user class combo box & disable text entry.
TList * ResourceNames
used by Get/SetResource
virtual void SetUserIncludes(void)
Set the User's includes.
Bool_t SetBatchParameters()
KVDBSystem * lastSelectedSystem
void UserClassSelected(char *)
TGComboBox * cbRepository
TString SystemBatchName()
Get the system name for the batch name.
virtual void SetRepository(const Char_t *r="")
void EnableUserClassList()
virtual void SetRuns(const Char_t *s="")
virtual void SetRunsList()
Sets the list of all available runs in the runs list box.
const Char_t * GetResource(const Char_t *name, const Char_t *defaultvalue="")
void ClearListOfSelectedRuns()
Empty displayed list of selected runs.
virtual void SetSystemList(Int_t s)
virtual void EnterRunlist(void)
void SetResource(const Char_t *name, const Char_t *value)
void EditUserClassFiles()
std::unique_ptr< TList > list_of_runs
virtual Bool_t WarningBox(const char *title="Warning", const char *msg="Warning", Bool_t confirm=kFALSE)
TGTextButton * doBatchParams
void FillListOfUserClasses()
virtual void SelectAll(void)
Select all runs currently in the displayed list of runs.
virtual const Char_t * GetRuns(void)
void BuildResourceName(const Char_t *name, TString &, TString &)
KVDataSetAnalyser * GetDataAnalyser(KVDataAnalysisTask *task=0)
virtual const Char_t * GetTask(void)
virtual Bool_t IsBatch(void)
const Char_t * GetUserClass()
Returns currently selected user class name.
virtual void SetDataSet(const Char_t *ds="")
virtual void SetUserLibraries(void)
Set the User's libraries.
TEnv * GUIenv
Declaration des boutons de la fenetre principale.
TGTextEntry * teUserOptions
TGNumberEntry * teNbToRead
virtual const Char_t * GetSystem(void)
void UpdateListOfSelectedRuns()
void GenerateNewUserClass()
virtual void SetSystem(const Char_t *s="")
KVNameValueList fBatchParameters
virtual void SetDataSetList(Char_t *s)
Sets the list of all available data sets in the data sets combo box.
virtual void SetTaskList(Char_t *s)
~KVDataAnalysisLauncher()
Destructeur.
virtual void SetTask(const Char_t *t="")
Define and manage data analysis tasks.
virtual const Char_t * GetDataAnalyser() const
virtual const Char_t * GetUserBaseClass() const
virtual Bool_t WithUserClass() const
virtual const Char_t * GetPrereq() const
Manages access to one or more data repositories.
KVDataRepository * GetRepository(const Char_t *name) const
const TList * GetListOfRepositories() const
virtual Bool_t IsRemote() const
Returns kTRUE for remote repositories, kFALSE for local repositories.
virtual Bool_t IsConnected()
Always returns kTRUE for local repositories.
Pilots user analysis of experimental data.
void SetFullRunList(const KVNumberList &nl)
void SetDataSet(KVDataSet *ds)
void SetRuns(const KVNumberList &nl, Bool_t check=kTRUE)
void SetSystem(KVDBSystem *syst)
Set the System used in the analysis.
TString SystemBatchName() const
virtual Int_t GetNavailable() const
KVDataSet * GetDataSet(Int_t) const
Return pointer to DataSet using index in list of all datasets, index>=0.
virtual KVDataSet * GetAvailableDataSet(Int_t) const
virtual TList * GetListOfAvailableSystems(const Char_t *datatype, KVDBSystem *systol=0)
KVDataAnalysisTask * GetAnalysisTask(Int_t) const
const Char_t * GetDataSetEnv(const Char_t *type, const Char_t *defval="") const
virtual Int_t GetNtasks() const
KVNumberList GetRunList(const Char_t *data_type, const KVDBSystem *sys=0) const
virtual void MakeAnalysisClass(const Char_t *task, const Char_t *classname)
virtual KVSeqCollection * GetSystems() const
Directory dialogue box for KVDataAnalysisLauncher.
virtual void Init(TString &fileList, const Char_t *title)
init window
virtual Char_t * GetFileFromDialog(void)
Gets the file name from a TGFileDialog.
virtual Bool_t CanAdd(const Char_t *s)
tells whether the file in ths string fn can be added to the list box
KVGDirectoryList(TString &st, const Char_t *titre="File list", const TGWindow *p=0, const TGWindow *main=0, Bool_t ok=kTRUE)
Createur.
~KVGDirectoryList()
Destructeur.
File dialogue box for KVDataAnalysisLauncher.
virtual void Done(void)
build the file list string from the content of the TGListBox
~KVGFileList()
Destructeur.
virtual Bool_t CanAdd(const Char_t *s)
tells whether the file in ths string fn can be added to the list box
virtual void AddFile(void)
virtual void Init(TString &fileList, const Char_t *title)
Init window.
virtual Char_t * GetFileFromDialog(void)
Gets the file name from a TGFileDialog.
TGTextButton * boutAllRem
virtual void RemoveFiles(void)
Remove all the selected files from the TGListBox.
KVGFileList(TString &st, const Char_t *titre="File list", const TGWindow *p=0, const TGWindow *main=0, Bool_t ok=kTRUE)
Createur.
virtual void RemoveAllFiles(void)
Remove all the files from the TGListBox.
virtual void InitFileList()
Enhanced version of ROOT TGListView widget.
virtual void UnSelectAll()
virtual void Display(const TCollection *l)
void ActivateItemsWithColumnData(const Char_t *colname, KVNumberList data, Bool_t activate=kTRUE)
void ActivateItemWithColumnData(const Char_t *colname, const Char_t *data, Bool_t activate=kTRUE)
TObject * GetLastSelectedObject() const
TList * GetSelectedObjects() const
void SetFromEnv(TEnv *tenv, const TString &prefix="")
Int_t GetNpar() const
return the number of stored parameters
Bool_t HasBoolParameter(const Char_t *name) const
Bool_t GetBoolValue(const Char_t *name) const
void WriteToEnv(TEnv *tenv, const TString &prefix="")
Strings used to represent a set of ranges of values.
void Inter(const KVNumberList &list)
const Char_t * AsString(Int_t maxchars=0) const
void SetList(const TString &)
void Add(Int_t)
Add value 'n' to the list.
void Clear(Option_t *="")
Empty number list, reset it to initial state.
Description of an individual run file in an experimental dataset.
virtual Int_t GetSize() const
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
virtual Int_t GetEntries() const
virtual void SetOwner(Bool_t enable=kTRUE)
virtual const char * GetValue(const char *name, const char *dflt) const
virtual void SetValue(const char *name, const char *value, EEnvLevel level=kEnvChange, const char *type=nullptr)
virtual void SaveLevel(EEnvLevel level)
void WaitFor(TGWindow *w)
void NeedRedraw(TGWindow *w, Bool_t force=kFALSE)
virtual Int_t GetSelected() const
void RemoveAll() override
virtual TGLBEntry * GetSelectedEntry() const
virtual void Select(Int_t id, Bool_t emit=kTRUE)
virtual void SetEnabled(Bool_t on=kTRUE)
virtual TGLBEntry * FindEntry(const char *s) const
virtual void AddEntry(const char *s, Int_t id)
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
void MapSubwindows() override
virtual void Resize(TGDimension size)
void MapRaised() override
void SetTextJustify(Int_t tmode)
void SetText(const char *newText)
virtual void RemoveEntry(Int_t id=-1)
virtual void AddEntry(const char *s, Int_t id)
virtual TGLBEntry * GetEntry(Int_t id) const
virtual void GetSelectedEntries(TList *selected)
virtual void RemoveEntries(Int_t from_ID, Int_t to_ID)
virtual TGLBEntry * FindEntry(const char *s) const
virtual void CloseWindow()
virtual void SetIntNumber(Long_t val, Bool_t emit=kTRUE)
virtual Long_t GetIntNumber() const
virtual Double_t GetNumber() const
virtual void SetText(const TString &new_label)
const char * GetText() const
void SetEnabled(Bool_t flag=kTRUE)
virtual void SetText(const char *text, Bool_t emit=kTRUE)
void Clear(Option_t *option="") override
TObject * FindObject(const char *name) const override
void Add(TObject *obj) override
TObject * Remove(const TObjLinkPtr_t &lnk)
TObject * At(Int_t idx) const override
const char * GetName() const override
const char * GetTitle() const override
const TString & GetString() const
virtual const char * GetName() const
virtual void Info(const char *method, const char *msgfmt,...) const
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
virtual Int_t IndexOf(const TObject *obj) const
int CompareTo(const char *cs, ECaseCompare cmp=kExact) const
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
const char * Data() const
TObjArray * Tokenize(const TString &delim) const
TString & Prepend(char c, Ssiz_t rep=1)
void Form(const char *fmt,...)
TString & Remove(EStripType s, char c)
TString & ReplaceAll(const char *s1, const char *s2)
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
virtual TList * GetListOfFiles() const
virtual void Unload(const char *module)
virtual const char * Getenv(const char *env)
virtual const char * GetIncludePath()
virtual Int_t Exec(const char *shellcmd)
virtual void SetIncludePath(const char *includePath)
virtual int GetPathInfo(const char *path, FileStat_t &buf)
virtual const char * HostName()
virtual char * ExpandPathName(const char *path)
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)