1 #include "KVDataAnalysisLauncher.h"
15 #include "KVDataRepositoryManager.h"
16 #include "KVDataRepository.h"
17 #include "KVDataSetManager.h"
18 #include "KVDataSet.h"
19 #include "KVDataAnalysisTask.h"
21 #include "KVNucleus.h"
23 #include "KVBatchSystemManager.h"
25 #include "KVInputDialog.h"
26 #include "KVBatchSystemGUI.h"
27 #include "KVBatchSystemParametersGUI.h"
28 #include <KVRunFile.h>
34 #define MAX_LENGTH_SELECTED_RUNS 40
58 lbFileList =
new TGListBox(
this, LB_Files);
59 lbFileList->SetMultipleSelections(
kTRUE);
60 lbFileList->Resize(350, 96);
61 this->AddFrame(lbFileList, eXeY);
65 this->AddFrame(teFileName, eX);
70 boutAdd->SetToolTipText(
"Add a file to the list", TTDELAY);
71 boutAdd->Connect(
"Clicked()",
78 boutRem->SetToolTipText(
"Remove the selected file from the list", TTDELAY);
79 boutRem->Connect(
"Clicked()",
86 boutAllRem->SetToolTipText(
"Remove all files from the list", TTDELAY);
87 boutAllRem->Connect(
"Clicked()",
93 this->AddFrame(cf, eX);
101 this->AddFrame(bout, eX);
105 Resize(GetDefaultSize());
106 SetWindowName(title);
109 fileListString = fileList;
128 Init(fileList, title);
261 const char* filTypes[] = {
"Shared Object Files",
"*.so",
289 "File does not exist",
290 Form(
"The file \"%s\" does not exist. Nothing added.",
296 if (!fname.EndsWith(
".so")) {
299 "Not a share object",
300 Form(
"The file \"%s\" is not a shared object. Nothing added.",
322 boutAdd->SetText(
"Add Directory");
323 boutAdd->SetToolTipText(
"Add a directory to the list.", TTDELAY);
326 boutRem->SetText(
"Remove Directory");
327 boutRem->SetToolTipText(
"Remove the selected directories from the list.", TTDELAY);
330 boutAllRem->SetText(
"Remove All Directories");
331 boutAllRem->SetToolTipText(
"Remove all directories from the list.", TTDELAY);
332 boutAllRem->Layout();
348 Init(fileList, title);
364 const char* filTypes[] = {
"Include Files",
"*.[h,H]*",
392 "Directory does not exist",
393 Form(
"The directory \"%s\" does not exist. Nothing added.",
402 Form(
"The path \"%s\" is not a directory. Nothing added.",
432 GUIenv =
new TEnv(
".KVDataAnalysisGUIrc");
434 ResourceNames.Add(
new TNamed(
"Repository",
""));
435 ResourceNames.Add(
new TNamed(
"DataSet",
""));
436 ResourceNames.Add(
new TNamed(
"Task",
""));
437 NbResNames = ResourceNames.GetEntries();
440 UserClassNames =
new TList;
444 if (!gDataRepositoryManager) {
446 gDataRepositoryManager->
Init();
468 fMainGuiWidth =
gEnv->
GetValue(
"KaliVedaGUI.MainGUIWidth", 400);
469 fMainGuiHeight =
gEnv->
GetValue(
"KaliVedaGUI.MainGUIHeight", 600);
482 cbRepository =
new TGComboBox(cf, CB_DataRepository);
483 cbRepository->Select(-1);
484 cbRepository->Resize(150, 20);
485 cbRepository->Connect(
"Selected(Int_t)",
486 "KVDataAnalysisLauncher",
488 "SelectedRepository(Int_t)");
489 cf->
AddFrame(cbRepository, LHtopleft);
492 lab =
new TGLabel(cf,
"DATASET : ");
499 cbDataSet->Select(-1);
500 cbDataSet->Resize(150, 20);
501 cbDataSet->Connect(
"Selected(Int_t)",
502 "KVDataAnalysisLauncher",
504 "SelectedDataSet(Int_t)");
510 lab =
new TGLabel(cf,
"ANALYSIS TASK : ");
518 cbTask->Resize(350, 20);
519 cbTask->Connect(
"Selected(int)",
520 "KVDataAnalysisLauncher",
522 "SetSystemList(int)");
531 lvSystems->SetDataColumns(6);
532 lvSystems->SetMaxColumnSize(
gEnv->
GetValue(
"KaliVedaGUI.MaxColWidth", 200));
533 lvSystems->SetDataColumn(1,
"Zproj");
534 lvSystems->SetDataColumn(2,
"Ztarget");
535 lvSystems->SetDataColumn(3,
"Ebeam");
536 lvSystems->GetDataColumn(3)->SetDataFormat(
"%4.1lf");
537 lvSystems->SetDataColumn(4,
"Runs",
"GetNumberRuns");
538 lvSystems->SetDataColumn(5,
"Events");
539 lvSystems->SetDataColumn(0,
"System",
"GetName");
540 lvSystems->ActivateSortButtons();
542 lvSystems->AllowBrowse(
kFALSE);
543 lvSystems->AllowContextMenu(
kFALSE);
544 lvSystems->AllowMultipleSelection(
kTRUE);
545 lvSystems->Connect(
"SelectionChanged()",
"KVDataAnalysisLauncher",
this,
"SystemSelectionChanged()");
553 lvRuns->SetDataColumns(8);
554 lvRuns->SetMaxColumnSize(
gEnv->
GetValue(
"KaliVedaGUI.MaxColWidth", 200));
556 lvRuns->SetDataColumn(iicc++,
"Run/Index",
"GetRunIndexString");
557 lvRuns->SetDataColumn(iicc++,
"Events",
"",
kTextRight);
558 lvRuns->SetDataColumn(iicc++,
"File",
"GetName");
559 lvRuns->SetDataColumn(iicc++,
"Date",
"GetFileWritten");
560 lvRuns->SetDataColumn(iicc++,
"Comments",
"",
kTextLeft);
561 lvRuns->SetDataColumn(iicc++,
"Trigger",
"");
562 lvRuns->SetDataColumn(iicc++,
"Version");
563 lvRuns->SetDataColumn(iicc++,
"User");
564 lvRuns->ActivateSortButtons();
566 lvRuns->AllowBrowse(
kFALSE);
567 lvRuns->AllowContextMenu(
kFALSE);
568 lvRuns->Connect(
"SelectionChanged()",
"KVDataAnalysisLauncher",
this,
"UpdateListOfSelectedRuns()");
576 BrefreshDir->Resize(20, 20);
577 cfSelAll->
AddFrame(BrefreshDir, eX);
578 BrefreshDir->SetToolTipText(
"Update available runfiles for this datatype");
579 BrefreshDir->Connect(
"Clicked()",
"KVDataAnalysisLauncher",
this,
"UpdateAvailableRuns()");
581 bout->
SetToolTipText(
"Select all runs for the analysis.", TTDELAY);
583 "KVDataAnalysisLauncher",
590 "KVDataAnalysisLauncher",
597 "KVDataAnalysisLauncher",
601 bStageSelect =
new TGTextButton(cfSelAll,
"Stage selection");
602 bStageSelect->SetToolTipText(
"Select all unconverted runs", TTDELAY);
607 bStageSelect->Connect(
"Clicked()",
608 "KVDataAnalysisLauncher",
610 "DoStageSelection()");
611 bStageSelect->SetEnabled(
false);
612 cfSelAll->
AddFrame(bStageSelect, eX);
616 selectedRuns =
new TGLabel(runs_and_nbevents,
" ");
622 #ifdef __WITHOUT_TGNUMBERENTRY_SETNUMSTYLE
627 #ifdef __WITHOUT_TGNUMBERENTRY_SETNUMATTR
632 teNbToRead->GetNumberEntry()->SetToolTipText(
"Number of events to read [0 => all events]", TTDELAY);
633 teNbToRead->Resize(150, 20);
636 cfRuns->
AddFrame(runs_and_nbevents, eX);
638 AddFrame(cfRuns, eXeY);
644 fUserClassLabel =
new TGLabel(cf,
"User Class");
647 lab =
new TGLabel(cf,
"User class options");
650 cfAnalysis->AddFrame(cf, eX);
654 cbUserClass->Select(-1);
655 cbUserClass->Resize(150, 20);
657 cbUserClass->Connect(
"Selected(Int_t)",
"KVDataAnalysisLauncher",
this,
658 "SelectedUserClass(Int_t)");
660 btEditClass->SetEnabled(
kFALSE);
661 btEditClass->Connect(
"Clicked()",
"KVDataAnalysisLauncher",
this,
"EditUserClassFiles()");
662 btEditClass->SetToolTipText(
Form(
"Open analysis class source files in %s",
gSystem->
Getenv(
"EDITOR")), TTDELAY);
666 teUserOptions->SetToolTipText(
"Comma-separated list of options for user analysis class: PAR1=VAL1,PAR2=VAL2,etc.", TTDELAY);
669 cfAnalysis->AddFrame(cf, eX);
671 AddFrame(cfAnalysis, eX);
675 bout =
new TGTextButton(cf,
"User's libraries", B_Libs);
677 "KVDataAnalysisLauncher",
679 "SetUserLibraries()");
684 "KVDataAnalysisLauncher",
686 "SetUserIncludes()");
689 this->AddFrame(cf, eX);
693 cout <<
"Creation Process/Quit" << endl;
697 withBatch->SetToolTipText(gBatchSystem->
GetTitle());
698 withBatch->AllowStayDown(
kTRUE);
699 withBatch->Connect(
"Clicked()",
"KVDataAnalysisLauncher",
this,
"SetBatch()");
701 doBatchParams =
new TGTextButton(cfProcess,
"Batch Parameters");
702 doBatchParams->SetToolTipText(
"Set parameters of batch jobs");
703 doBatchParams->Connect(
"Clicked()",
"KVDataAnalysisLauncher",
this,
"SetBatchParameters()");
704 cfProcess->
AddFrame(doBatchParams, eX);
706 bout =
new TGTextButton(cfProcess,
"&Process", B_Process);
708 bout->
Connect(
"Clicked()",
"KVDataAnalysisLauncher",
this,
"Process()");
714 bout->
Connect(
"Clicked()",
"KVDataAnalysisLauncher",
this,
"Exit()");
718 this->AddFrame(cfProcess, eX);
722 Resize(GetDefaultSize());
728 SetWMSize(fMainGuiWidth, fMainGuiHeight);
732 FillListOfUserClasses();
735 checkCompilation =
kFALSE;
738 TString tmp(GetResource(
"Repository",
""));
739 SetRepository(tmp.
Data());
741 if (GUIenv->GetValue(
"KVDataAnalysisLauncher.Batch",
kFALSE))
747 fUserLibraries = GUIenv->GetValue(
"KVDataAnalysisLauncher.UserLibraries",
"");
748 fUserIncludes = GUIenv->GetValue(
"KVDataAnalysisLauncher.UserIncludes",
"");
773 #ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL
782 while ((o = next())) {
818 Warning(
"SetDataSetList",
"Called for undefined repository '%s'", repository.
Data());
826 #ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL
886 #ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL
893 cout <<
"DataSet : [" << dataset <<
"]" << endl;
974 if (current_batch ==
"PROOFLite" && data_reader !=
"TFile") {
977 Info(
"SetSystemList",
"Switched batch system to %s: %s", gBatchSystem->
GetName(), gBatchSystem->
GetTitle());
979 else if (current_batch ==
"Xterm" && data_reader ==
"TFile") {
982 Info(
"SetSystemList",
"Switched batch system to %s: %s", gBatchSystem->
GetName(), gBatchSystem->
GetTitle());
1015 if (!sys_list.IsEmpty()) {
1089 lor.Clear(
"nodelete");
1160 cout <<
"Checking connection to remote repository." << endl;
1162 cout <<
"Connection to server refused" << endl;
1163 cout <<
"Process aborted." << endl;
1164 WarningBox(
"Connection refused",
"Connection to server refused\nProcess aborted.");
1171 bool online_analysis = !strcmp(task->
GetPrereq(),
"*");
1174 gDataAnalyser = datan;
1182 else if (!online_analysis) {
1183 WarningBox(
"Empty Run List",
"The list of runs to process is empty.");
1216 WarningBox(
"No User Class",
"Please enter the user analysis class name.");
1226 if (
IsBatch() && nbEventRead) {
1227 if (!
WarningBox(
"Read all events in batch mode?",
1228 "This will submit batch jobs which will not read all events.\nAre you sure that is what you want?",
1255 for (
auto it_r : sys->GetRuns()) {
1257 auto runfiles_for_run =
dynamic_cast<KVDBRun*
>(it_r)->GetRunIndexList();
1258 sys_run_list += runfiles_for_run &&
listOfRuns;
1262 gBatchSystem->
Clear();
1269 datan->
SetRuns(sys_run_list,
false);
1284 return e->GetText()->GetString();
1298 return e->GetText()->GetString();
1312 return e->GetText()->GetString();
1352 #ifdef __WITHOUT_TGCOMBOBOX_SELECT_BOOL_T
1372 #ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL
1385 #ifdef __WITHOUT_TGCOMBOBOX_SELECT_BOOL_T
1406 #ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL
1419 #ifdef __WITHOUT_TGCOMBOBOX_SELECT_BOOL_T
1597 reply = (ret_code &
kMBYes);
1604 #ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL
1613 Int_t n =
box->GetListBox()->GetNumberOfEntries();
1614 if (n)
box->RemoveEntries(0, n - 1);
1615 if (
box->GetSelectedEntry()) {
1620 box->GetTextEntry()->SetTitle(
"");
1634 if (n)
box->RemoveEntries(0, n - 1);
1635 if (
box->GetSelectedEntry()) {
1736 res.
Prepend(
"KVDataAnalysisLauncher.");
1855 cur_res.
Prepend(
"KVDataAnalysisLauncher.");
1877 saved_res = cur_res;
1882 while ((resource = next_res()) && (i++ <
index)) {
1892 if (!strcmp(resource->
GetName(),
"Task") && gDataSet) {
1902 if (
name ==
"UserClassOptions") {
1908 if (!ok) saved_res =
"";
1933 if (!lf.get())
return;
1936 TIter next(lf.get());
1974 #ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL
1984 while (i < nbcl + 1) {
2003 if (class_name ==
"[NEW]") {
2013 if (strcmp(
"", class_name)) {
2040 new KVInputDialog(
this,
"Enter name of new analysis class", &classname, &ok,
"Enter name of new analysis class");
2044 ok = ok &&
WarningBox(
"Replacing existing class",
2045 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)",
2078 #ifdef __WITHOUT_TGCOMBOBOX_SELECT_BOOL_T
2112 return e->GetText()->GetString();
2129 #ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL
2174 if (editor ==
"")
return;
2176 if (uclass ==
"")
return;
2230 param_gui->MutuallyExclusive({
"Missing",
"Date"});
2231 param_gui->EnableDependingOnBool(
" - earliest",
"Date");
2232 param_gui->EnableDependingOnBool(
" - latest",
"Date");
2233 param_gui->DisplayDialog();
2236 std::optional<KVDatime> Dmin, Dmax;
2307 if (novolist.GetEntries() > 0) {
2308 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
virtual const Char_t * GetType() const
static Bool_t FindClassSourceFiles(const KVString &class_name, KVString &imp_file, KVString &dec_file, const KVString &dir_name=".")
KVBatchSystem * GetDefaultBatchSystem() const
KVBatchSystem * GetBatchSystem(const Char_t *name)
Get batch system by name.
Utility GUI used for setting batch system parameters.
void Clear(Option_t *opt="") override
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 &)
Description of an experimental run in database ,,.
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 SetAnalysisTask(KVDataAnalysisTask *at)
void SetUserClass(const UserClass &kvs, Bool_t check=kTRUE)
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.
KVList ResourceNames
used by Get/SetResource
TString GetUserClass()
Returns currently selected user class name.
TList * UserClassNames
list of user classes present in working directory
void SelectedDataSet(Int_t)
void SelectedUserClass(Int_t)
void SetUserClassList()
Sets the list of all available user classes in the drop down list.
void SetRepositoryList(void)
Sets the list of all possible repositories in the repository combo box.
void DeselectAll(void)
Deselect all runs currently in the displayed list of runs.
void SystemSelectionChanged()
void SetSystem(const TString &s="")
void Process(void)
Run the analysis task.
void SetTaskList(const TString &s)
void SetDataSet(const TString &ds="")
void SetUserClass(const Char_t *)
void UpdateAvailableRuns()
Update available runs for current selected task (=datatype)
run_index_list listOfRuns
TGCompositeFrame * cfAnalysis
Int_t NbResNames
number of names in list
TGPictureButton * btEditClass
void DisableUserClassList()
Remove all entries from user class combo box & disable text entry.
void SetUserIncludes(void)
Set the User's includes.
void SelectedRepository(Int_t)
Bool_t SetBatchParameters()
KVDBSystem * lastSelectedSystem
KVUnownedList listofSelectedSystems
void SetTask(const TString &t="")
TGComboBox * cbRepository
TString GetResource(const TString &name, const TString &defaultvalue="")
KVNameValueList fStageSelections
TString SystemBatchName()
Get the system name for the batch name.
TString GetRepository(void)
void EnableUserClassList()
void SetDataSetList(const TString &repository)
Sets the list of all available data sets in the data sets combo box.
void BuildResourceName(const TString &name, TString &, TString &)
void UserClassSelected(const TString &)
void ClearListOfSelectedRuns()
Empty displayed list of selected runs.
void SetSystemList(Int_t s)
TString GetSavedResource(const TString &name, const TString &defaultvalue="")
void EditUserClassFiles()
Bool_t WarningBox(const char *title="Warning", const char *msg="Warning", Bool_t confirm=kFALSE)
TGTextButton * doBatchParams
void FillListOfUserClasses()
void SelectAll(void)
Select all runs currently in the displayed list of runs.
KVDataSetAnalyser * GetDataAnalyser(KVDataAnalysisTask *task=0)
void SetResource(const TString &name, const TString &value)
TGTextButton * bStageSelect
run_index_list listOfSystemRuns
void SetRuns(const TString &s="")
void SetUserLibraries(void)
Set the User's libraries.
TEnv * GUIenv
Declaration des boutons de la fenetre principale.
TGTextEntry * teUserOptions
void SelectAllUnconvertedRuns()
TGNumberEntry * teNbToRead
void UpdateListOfSelectedRuns()
void GenerateNewUserClass()
KVNameValueList fBatchParameters
void SetRepository(const TString &r="")
~KVDataAnalysisLauncher()
Destructeur.
Define and manage data analysis tasks.
KVString GetOutputDataType() const
virtual Bool_t WithUserClass() const
virtual const Char_t * GetDataAnalyser() const
virtual const Char_t * GetUserBaseClass() 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 SetDataSet(KVDataSet *ds)
void SetRuns(const run_index_list &nl, Bool_t check=kTRUE)
void SetSystem(KVDBSystem *syst)
Set the System used in the analysis.
TString SystemBatchName() const
void SetFullRunList(const run_index_list &nl)
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
run_index_list GetRunList(const Char_t *data_type, const KVDBSystem *sys=0) const
run_index_list GetRunList_DateSelection(const TString &type, const KVUnownedList &systems, std::optional< KVDatime > min_date=std::nullopt, std::optional< KVDatime > max_date=std::nullopt)
KVDataAnalysisTask * GetAnalysisTask(Int_t) const
ValType GetDataSetEnv(const Char_t *type, const ValType &defval) const
KVList GetListOfAvailableRunFilesForSystem(const TString &datatype, KVDBSystem *systol)
virtual Int_t GetNtasks() const
run_index_list GetRunList_StageSelection(const TString &other_type, const TString &base_type, KVDBSystem *sys=0, Bool_t OnlyCol=kFALSE)
void UpdateAvailableRuns(const KVString &type)
bool MakeAnalysisClass(const Char_t *task, const Char_t *classname)
KVUnownedList GetListOfAvailableSystems(const TString &datatype)
Extension of TDatime to handle various useful date formats.
run_index_list SetRunIndexListFromString(const TString &) const
virtual KVSeqCollection * GetSystems() const
Directory dialogue box for KVDataAnalysisLauncher.
void Init(const TString &fileList, const TString &title) override
init window
KVGDirectoryList(const TString &st, const TString &titre="File list", const TGWindow *p=0, const TGWindow *main=0, Bool_t ok=kTRUE)
Createur.
TString GetFileFromDialog(void) override
Gets the file name from a TGFileDialog.
Bool_t CanAdd(const TString &s) override
tells whether the file in ths string fn can be added to the list box
File dialogue box for KVDataAnalysisLauncher.
KVGFileList(const TString &st, const TString &titre="File list", const TGWindow *p=0, const TGWindow *main=0, Bool_t ok=kTRUE)
Createur.
void RemoveFiles()
Remove all the selected files from the TGListBox.
~KVGFileList()
Destructeur.
virtual TString GetFileFromDialog()
Gets the file name from a TGFileDialog.
void Done()
build the file list string from the content of the TGListBox
virtual void Init(const TString &fileList, const TString &title)
Init window.
TGTextButton * boutAllRem
void RemoveAllFiles()
Remove all the files from the TGListBox.
virtual Bool_t CanAdd(const TString &s)
tells whether the file in ths string fn can be added to the list box
Enhanced version of ROOT TGListView widget.
virtual void UnSelectAll()
void ActivateItemsWithColumnData(const Char_t *colname, const KVNumberList &data, Bool_t activate=kTRUE)
virtual void Display(const TCollection *l)
KVUnownedList GetSelectedObjects() const
TObject * GetLastSelectedObject() const
void ActivateItemWithColumnData(const Char_t *colname, const Char_t *data, Bool_t activate=kTRUE)
GUI for setting KVNameValueList parameters.
void SetValue(const Char_t *name, value_type value)
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
TString GetTStringValue(const Char_t *name) const
void WriteToEnv(TEnv *tenv, const TString &prefix="")
Description of an individual data file in an experimental dataset.
TObject * FindObject(const char *name) const override
Int_t GetSize() const override
void Clear(Option_t *option="") override
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
void Begin(TString delim) const
KVString Next(Bool_t strip_whitespace=kFALSE) const
virtual void AddAll(const TCollection *col)
virtual Int_t GetEntries() const
virtual void SetOwner(Bool_t enable=kTRUE)
virtual Bool_t IsEmpty() const
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
virtual const char * GetName() const
virtual void Warning(const char *method, const char *msgfmt,...) 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
TString & Prepend(char c, Ssiz_t rep=1)
Bool_t IsWhitespace() const
void Form(const char *fmt,...)
TString & Remove(EStripType s, char c)
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)
virtual Bool_t ProcessEvents()
List of runfiles specified by run number and file index ,.
TString AsString(Int_t maxlen=0) const
void Add(const run_index_t &r)
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
int main(int argc, char **argv)