51 #include "RConfigure.h" 76 class TCursorSwitcher {
107 if (p && p !=
gClient->GetDefaultRoot())
110 fNewBrowser->SetActBrowser(
this);
113 if (fBrowser) Show();
126 TGTextEntry *dropt_entry = fDrawOption->GetTextEntry();
128 fDrawOption->Resize(80, 20);
129 TGListBox *lb = fDrawOption->GetListBox();
132 fDrawOption->AddEntry(
"", dropt++);
133 fDrawOption->AddEntry(
"box", dropt++);
134 fDrawOption->AddEntry(
"colz", dropt++);
135 fDrawOption->AddEntry(
"lego", dropt++);
136 fDrawOption->AddEntry(
"lego1", dropt++);
137 fDrawOption->AddEntry(
"lego2", dropt++);
138 fDrawOption->AddEntry(
"same", dropt++);
139 fDrawOption->AddEntry(
"surf", dropt++);
140 fDrawOption->AddEntry(
"surf1", dropt++);
141 fDrawOption->AddEntry(
"surf2", dropt++);
142 fDrawOption->AddEntry(
"surf3", dropt++);
143 fDrawOption->AddEntry(
"surf4", dropt++);
144 fDrawOption->AddEntry(
"surf5", dropt++);
145 fDrawOption->AddEntry(
"text", dropt++);
148 fTopFrame->AddFrame(
new TGLabel(fTopFrame,
"Draw Option:"),
153 fSortButton->SetStyle(
gClient->GetStyle());
154 fSortButton->SetToolTipText(
"Sort Alphabetically\n(Current folder only)");
157 fSortButton->Connect(
"Clicked()",
"TGFileBrowser",
this,
"ToggleSort()");
160 fFilterButton->SetStyle(
gClient->GetStyle());
161 fFilterButton->SetToolTipText(
"Filter Content");
164 fFilterButton->Connect(
"Clicked()",
"TGFileBrowser",
this,
"RequestFilter()");
167 fRefreshButton->SetStyle(
gClient->GetStyle());
168 fRefreshButton->SetToolTipText(
"Refresh Current Folder");
171 fRefreshButton->Connect(
"Clicked()",
"TGFileBrowser",
this,
"Refresh()");
175 fCanvas =
new TGCanvas(
this, 100, 100);
179 fListTree->Connect(
"DoubleClicked(TGListTreeItem *, Int_t)",
180 "TGFileBrowser",
this,
"DoubleClicked(TGListTreeItem *, Int_t)");
181 fListTree->Connect(
"Clicked(TGListTreeItem *, Int_t, Int_t, Int_t)",
182 "TGFileBrowser",
this,
"Clicked(TGListTreeItem *, Int_t, Int_t, Int_t)");
183 fListTree->Connect(
"Checked(TObject*, Bool_t)",
"TGFileBrowser",
184 this,
"Checked(TObject*, Bool_t)");
186 fRootIcon =
gClient->GetPicture(
"rootdb_t.xpm");
187 fFileIcon =
gClient->GetPicture(
"doc_t.xpm");
190 fBotFrame->AddFrame(
new TGLabel(fBotFrame,
"Filter: "),
193 fFileType =
new TGComboBox(fBotFrame,
" All Files (*.*)");
195 fFileType->AddEntry(
" All Files (*.*)", ftype++);
196 fFileType->AddEntry(
" C/C++ Files (*.c;*.cxx;*.h;...)", ftype++);
197 fFileType->AddEntry(
" ROOT Files (*.root)", ftype++);
198 fFileType->AddEntry(
" Text Files (*.txt)", ftype++);
199 fFileType->Resize(200, 20);
202 fFileType->Connect(
"Selected(Int_t)",
"TGFileBrowser",
this,
203 "ApplyFilter(Int_t)");
204 fFileType->GetTextEntry()->Connect(
"ReturnPressed()",
"TGFileBrowser",
205 this,
"ApplyFilter(Int_t = -1)");
209 fContextMenu =
new TContextMenu(
"FileBrowserContextMenu");
234 "TGFileBrowser",
this,
"Selected(char*)");
237 "TGFileBrowser",
this,
"PadModified()");
241 Resize(GetDefaultSize());
255 if (fRootIcon) fClient->FreePicture(fRootIcon);
256 if (fCachedPic && (fCachedPic != fFileIcon))
257 fClient->FreePicture(fCachedPic);
258 if (fFileIcon) fClient->FreePicture(fFileIcon);
295 if (maxlen > 0 && infos.
Length() > maxlen) {
302 objsize = objinfo.
Atoll();
305 bsize = fsize = objsize;
336 if (fListLevel && !strcmp(fListLevel->GetText(),
"Classes") &&
337 fListLevel->GetParent() &&
338 !strcmp(fListLevel->GetParent()->GetText(),
"root")) {
349 if (name) oname =
name;
350 else if (obj) oname = obj->
GetName();
353 if (it != fFilteredItems.end()) {
355 const char *filter = (
const char *)(*it).second;
363 AddKey(fListLevel, obj, name);
365 GetObjPicture(&pic, obj);
366 if (!name) name = obj->
GetName();
368 if (!fListTree->FindChildByName(fListLevel, name)) {
371 if ((pic != fFileIcon) && (pic != fCachedPic))
372 fClient->FreePicture(pic);
382 else if (fListLevel) {
398 AddKey(fListLevel, obj, name);
409 if (!fListTree->FindChildByName(fListLevel, name)) {
410 TGListTreeItem *item = fListTree->AddItem(fListLevel, name, obj, pic, pic);
411 if ((pic != fFileIcon) && (pic != fCachedPic))
412 fClient->FreePicture(pic);
444 if (
R_ISDIR(type) || fFilter == 0 ||
445 (fFilter && filename.
Index(*fFilter) !=
kNPOS)) {
447 GetFilePictures(&spic, type, is_link, filename);
451 if ((!fListTree->FindChildByName(fListLevel, filename)) &&
452 (!fListTree->FindChildByData(fListLevel, obj)))
453 fListTree->AddItem(fListLevel, filename, obj, pic, pic);
465 fNewBrowser->SetActBrowser(
this);
467 if (!fListTree->FindItemByObj(fListTree->GetFirstItem(), obj)) {
470 fListLevel = fListTree->FindItemByObj(fListTree->GetFirstItem(), obj);
471 fListTree->HighlightItem(fListLevel);
473 fListTree->OpenItem(fListLevel);
474 fListTree->ClearViewPort();
475 fListTree->AdjustPosition(fListLevel);
478 if (fBrowser) obj->
Browse(fBrowser);
482 if (volumes && curvol) {
483 const char *curdrive;
491 while ((drive = (
TNamed *)next())) {
493 (strcmp(drive->
GetName(), curdrive) == 0) ?
494 "SetRootDir" :
"Add");
503 if (
gROOT->GetListOfFiles() && !
gROOT->GetListOfFiles()->IsEmpty())
514 fNewBrowser->Checked(obj, checked);
522 return fDrawOption->GetTextEntry()->GetText();
533 const char *ext = name ? strrchr(name,
'.') : 0;
537 if (ext && cached_spic && (cached_ext == ext)) {
543 *pic =
gClient->GetMimeTypeList()->GetIcon(name,
kTRUE);
557 *pic =
gClient->GetPicture(
"doc_t.xpm");
560 *pic =
gClient->GetPicture(
"app_t.xpm");
563 *pic =
gClient->GetPicture(
"folder_t.xpm");
566 *pic =
gClient->GetPicture(
"rootdb_t.xpm");
571 *pic =
gClient->GetPicture(
"slink_t.xpm");
585 itm = fListTree->FindChildByData(0,
gROOT->GetListOfFiles());
587 item = fListTree->FindChildByData(itm, obj);
591 if (CheckFiltered(item))
592 fFilteredItems.erase(item);
593 fListTree->DeleteItem(item);
597 item = fListTree->FindItemByObj(itm, obj);
599 fListTree->DeleteChildren(item);
606 item = fListTree->FindItemByObj(fRootDir, obj);
608 if (item && CheckFiltered(item))
609 fFilteredItems.erase(item);
610 fListTree->RecursiveDeleteItem(fRootDir, obj);
623 TCursorSwitcher cursorSwitcher(
this, fListTree);
625 UInt_t curr =
gROOT->GetListOfBrowsables()->GetSize();
626 if (!prev) prev = curr;
643 Long_t id = 0, flags = 0, modtime = 0;
647 if (!item) item = fRootDir;
653 if (obj && !obj->
TestBit(kNotDeleted)) {
656 if (CheckFiltered(curr))
657 fFilteredItems.erase(curr);
658 fListTree->DeleteItem(curr);
662 else if (obj && obj->
TestBit(kNotDeleted) &&
664 fListTree->GetPathnameFromItem(curr->
GetParent(), path);
665 if (strlen(path) > 1) {
669 if ((res == 0) && (flags & 2)) {
670 TString fullpath = FullPathName(curr);
674 if (CheckFiltered(curr))
675 fFilteredItems.erase(curr);
676 fListTree->DeleteItem(curr);
686 if (selected && selected->InheritsFrom(
"TBranch"))
689 TString actpath = FullPathName(item);
690 flags =
id = size = modtime = 0;
698 fListTree->GetPathnameFromItem(itm, path);
699 if (strlen(path) > 1) {
700 TString recpath = FullPathName(itm);
706 if (CheckFiltered(del))
707 fFilteredItems.erase(del);
708 fListTree->DeleteItem(del);
719 DoubleClicked(item, 1);
721 CheckFiltered(fListLevel,
kTRUE);
743 if ((opt == 0) || (!opt[0])) {
744 if (fRootDir == 0 && !fListTree->FindChildByName(0,
rootdir))
745 item = fRootDir = fListTree->AddItem(0,
rootdir);
748 if (strstr(opt,
"SetRootDir")) {
749 if (!fListTree->FindChildByName(0, entry))
750 item = fRootDir = fListTree->AddItem(0, entry);
752 else if (strstr(opt,
"Add")) {
757 if (!fListTree->FindChildByName(0, entry))
758 item = fListTree->AddItem(0, entry);
788 if (itm == 0)
return;
790 if ((fCnt == 0) || (olditem != itm)) {
791 olditem = item = itm;
793 if (!name) name = obj->
GetName();
794 if (fNKeys > fGroupSize) {
797 if (fListTree->FindItemByObj(where, obj))
802 if ((fNKeys > fGroupSize) && (fCnt % fGroupSize == 0)) {
807 item = fListTree->AddItem(itm, name);
810 if ((fCnt > fGroupSize) && (fCnt >= fNKeys-1)) {
814 GetObjPicture(&pic, obj);
815 if (!fListTree->FindChildByName(item, name)) {
816 TGListTreeItem *it = fListTree->AddItem(item, name, obj, pic, pic);
817 if (pic && (pic != fFileIcon) && (pic != fCachedPic))
818 fClient->FreePicture(pic);
833 if (fFilter)
delete fFilter;
835 if ((
id > 1) && (
id < 5))
837 else if ((
id < 0) || (
id > 4)) {
848 fListTree->DeleteChildren(item);
849 DoubleClicked(item, 1);
851 fListTree->ClearViewPort();
899 else if (!strcmp(item->
GetText(),
"ROOT Files")) {
913 if (topobj && topobj->
InheritsFrom(
"TApplicationRemote")) {
927 Getlinem(kInit,
"\nroot [0]");
934 Getlinem(kInit,
"\nroot [0]");
948 if (fFilteredItems.empty())
951 if (it != fFilteredItems.end()) {
953 filter = (
const char *)(*it).second;
963 filter.
Prepend(
"Showing only \'");
965 fFilterButton->SetToolTipText(filter.
Data());
969 fFilterButton->SetToolTipText(
"Filter Content...");
987 for (
sLTI_i p=fSortedItems.begin(); p!=fSortedItems.end(); ++p) {
1005 Long_t id = 0, flags = 0, modtime = 0;
1008 CheckSorted(item,
kTRUE);
1009 CheckFiltered(item,
kTRUE);
1012 TString fullpath = FullPathName(item);
1019 if (clname && strcmp(clname,
"TGeoManager")) {
1031 if (obj->InheritsFrom(
"TDirectory") || obj->InheritsFrom(
"TList"))
1041 fContextMenu->Popup(x, y, obj, fBrowser);
1045 fListTree->GetPathnameFromItem(item, path);
1046 if (strlen(path) > 3) {
1051 if (fDir)
delete fDir;
1053 fContextMenu->Popup(x, y, fDir, fBrowser);
1059 if (fFile)
delete fFile;
1061 fContextMenu->Popup(x, y, fFile, fBrowser);
1067 fListTree->ClearViewPort();
1070 if (selected && selected->InheritsFrom(
"TBranch"))
1072 if (selected && selected->InheritsFrom(
"TTree")) {
1123 TString fullpath = FullPathName(item);
1130 _splitpath(fullpath.
Data(), winDrive, winDir, winName, winExt);
1148 Int_t weirdcount = 0;
1156 infile = fopen(candidate,
"r");
1159 nchars = fread(buffer, 1, 512, infile);
1162 for (i = 0; i < nchars; i++) {
1163 if (buffer[i] & 128)
1165 if (buffer[i] ==
'\0')
1169 if ((nchars > 0) && ((weirdcount * 100 / nchars) > 30))
1188 if (img1 == 0)
return pic;
1192 if (img2) img1->
Merge(img2);
1195 merged =
gClient->GetPicturePool()->GetPicture(lnk_name.
Data(),
1197 if (img2)
delete img2;
1210 TString dirname = DirName(item);
1211 TString fullpath = FullPathName(item);
1225 fNewBrowser->SetActBrowser(
this);
1226 TCursorSwitcher switcher(
this, fListTree);
1228 CheckSorted(item,
kTRUE);
1229 CheckFiltered(item,
kTRUE);
1256 if (obj->InheritsFrom(
"TDirectory") || obj->InheritsFrom(
"TList"))
1272 while ( probj && strcmp(probj->
GetClassName(),
"TFile")) {
1276 if (probj && !strcmp(probj->
GetClassName(),
"TFile")) {
1280 TString::Format(
"((TApplicationServer *)gApplication)->BrowseFile(\"%s\");",
1288 if ((act[0] !=
'!') && (strcmp(pitem->
GetText(),
"ROOT Files"))) {
1294 if ((ext.
EndsWith(
".root")) && (strcmp(pitem->
GetText(),
"ROOT Files"))) {
1301 if (fBrowser) fBrowser->SetDrawOption(GetDrawOption());
1306 else if (fBrowser && act.
Contains(
"->Browse()")) obj->
Browse(fBrowser);
1307 else if (act.
Contains(
"->Draw()")) obj->
Draw(GetDrawOption());
1311 if (act[0] ==
'!') {
1322 else if (obj->
InheritsFrom(
"TCanvas") && fNewBrowser &&
1323 fNewBrowser->GetTabRight() &&
1324 fNewBrowser->GetTabRight()->GetTabTab(obj->
GetName())) {
1334 fListTree->ClearViewPort();
1339 flags =
id = size = modtime = 0;
1349 TList *files = dir.GetListOfFiles();
1362 if ((fname!=
"..") && (fname!=
".")) {
1363 if (!fListTree->FindChildByName(item, fname)) {
1364 itm = fListTree->AddItem(item, fname);
1369 const TGPicture *opened = 0, *l_opened = 0;
1370 const TGPicture *closed = 0, *l_closed = 0;
1371 opened = fClient->
GetPicture(
"ofolder_t.xpm");
1373 closed = fClient->
GetPicture(
"folder_t.xpm");
1375 if (l_opened && l_closed)
1377 if (opened) fClient->FreePicture(opened);
1378 if (closed) fClient->FreePicture(closed);
1379 if (l_opened) fClient->FreePicture(l_opened);
1380 if (l_closed) fClient->FreePicture(l_closed);
1393 fname = pname = file->
GetName();
1395 (fFilter && fname.
Index(*fFilter) !=
kNPOS))) {
1405 pic =
gClient->GetMimeTypeList()->GetIcon(pname,
kTRUE);
1410 if (!fListTree->FindChildByName(item, fname)) {
1411 itm = fListTree->AddItem(item, fname, pic, pic);
1412 if (pic != fFileIcon)
1413 fClient->FreePicture(pic);
1422 if (size && modtime) {
1423 char *tiptext = FormatFileInfo(fname.
Data(), size, modtime);
1436 if (is_link && lnkname.
EndsWith(
".lnk"))
1441 if (fname.EndsWith(
".root")) {
1456 if (ostr)
delete ostr;
1461 if (fBrowser) rfile->
Browse(fBrowser);
1466 else if (fname.EndsWith(
".png")) {
1468 XXExecuteDefaultAction(&
f);
1475 TGTab *tabRight = fNewBrowser->GetTabRight();
1482 fullname.ReplaceAll(
"\\",
"\\\\");
1485 (
ULong_t)embed, fullname.Data()));
1489 (
ULong_t)embed, fullname.Data()));
1492 XXExecuteDefaultAction(&
f);
1496 XXExecuteDefaultAction(&
f);
1503 XXExecuteDefaultAction(&
f);
1508 fListTree->ClearViewPort();
1520 if (fBrowser) fBrowser->SetDrawOption(GetDrawOption());
1527 if (act[0] ==
'!') {
1557 fsize = bsize = size;
1562 infos +=
TString::Format(
"Size: %lld.%lldM", fsize/1024, (fsize%1024)/103);
1564 infos +=
TString::Format(
"Size: %lld.%lldK", bsize/1024, (bsize%1024)/103);
1570 time_t loctime = (time_t) modtime;
1571 newtime = localtime(&loctime);
1575 newtime->tm_year + 1900,
1576 newtime->tm_mon+1, newtime->tm_mday,
1577 newtime->tm_hour, newtime->tm_min);
1588 const char *clname = 0;
1596 objClass = obj->IsA();
1615 objClass = obj->IsA();
1624 Bool_t xpm = xpm_magic ==
"/* ";
1625 const char *iconname = xpm ? obj->
GetName() :
name;
1631 if (fCachedPicName == iconname) {
1635 *pic =
gClient->GetMimeTypeList()->GetIcon(iconname,
kTRUE);
1636 if (!(*pic) && xpm) {
1642 gClient->GetMimeTypeList()->AddType(
"[thumbnail]", iconname, iconname, iconname,
"->Browse()");
1645 if (fCachedPic && (fCachedPic != fFileIcon))
1646 fClient->FreePicture(fCachedPic);
1652 fCachedPicName = iconname;
1664 if (item == 0)
return;
1665 fListTree->OpenItem(item);
1666 TObjArray *tokens = sPath.Tokenize(
"/");
1668 fListTree->HighlightItem(item);
1669 DoubleClicked(item, 1);
1671 fListTree->ClearViewPort();
1672 fListTree->AdjustPosition(item);
1682 if (first == drive->
GetName()) {
1694 itm = fListTree->FindChildByName(0, token);
1697 fListTree->OpenItem(item);
1699 DoubleClicked(item, 1);
1703 itm = fListTree->FindChildByName(item, token);
1706 fListTree->OpenItem(item);
1708 DoubleClicked(item, 1);
1711 itm = fListTree->AddItem(item, token);
1713 fListTree->OpenItem(item);
1715 DoubleClicked(item, 1);
1718 fListTree->HighlightItem(item);
1719 DoubleClicked(item, 1);
1721 fListTree->ClearViewPort();
1722 fListTree->AdjustPosition(item);
1732 if (fDblClick && fNewBrowser) {
1734 TGTab *tabRight = fNewBrowser->GetTabRight();
1767 snprintf(filter,
sizeof(filter),
"%s", fFilterStr.Data());
1769 "Enter filter expression:\n(empty string \"\" or \"*\" to remove filter)",
1773 if ((filter[0] == 0) && (filter[1] == 0)) {
1774 CheckFiltered(fListLevel,
kTRUE);
1777 else if (((filter[0] == 0) && (filter[1] == 1)) || !strcmp(filter,
"*")) {
1781 fFilteredItems.erase(fListLevel);
1786 fFilterStr = filter;
1789 if (CheckFiltered(fListLevel))
1790 fFilteredItems.erase(fListLevel);
1792 fFilteredItems.insert(std::make_pair(fListLevel,
StrDup(filter)));
1795 fListTree->DeleteChildren(fListLevel);
1796 DoubleClicked(fListLevel, 1);
1797 fListTree->ClearViewPort();
1798 fListTree->AdjustPosition(fListLevel);
1808 fListTree->ClearHighlighted();
1810 fListTree->HighlightItem(fListLevel);
1811 fListTree->OpenItem(fListLevel);
1812 BrowseObj(
gROOT->GetListOfFiles());
1813 fListTree->ClearViewPort();
1814 fListTree->AdjustPosition(fListLevel);
1823 if (!fListLevel)
return;
1826 if (!fListLevel->GetFirstChild()) {
1828 itemname =
StrDup(fListLevel->GetText());
1835 Bool_t is_sorted = CheckSorted(item);
1838 fListTree->SortChildren(item);
1839 fSortedItems.push_back(item);
1843 fListTree->DeleteChildren(item);
1844 DoubleClicked(item, 1);
1845 fSortedItems.remove(item);
1850 TGListTreeItem *itm = fListTree->FindChildByName(item, itemname);
1852 fListTree->ClearHighlighted();
1853 Clicked(itm, 1, 0, 0);
1855 fListTree->SetSelected(itm);
1862 fListTree->ClearViewPort();
1863 fListTree->AdjustPosition(fListLevel);
TGCompositeFrame * GetCurrentContainer() const
virtual const char * GetName() const
Returns name of object.
void RequestFilter()
Open a dialog box asking for a string to be used as filter (regexp), and add an entry in the map of f...
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
virtual Long_t ProcessLine(const char *line, Bool_t sync=kFALSE, Int_t *error=0)
Process a single command line, either a C++ statement or an interpreter command starting with a "...
TList * GetListOfBases()
Return list containing the TBaseClass(es) of a class.
static const TGPicture * MakeLinkPic(const TGPicture *pic)
Create a symlink (shortcut on Windows) icon by merging the picture passed as argument and the slink_t...
void AddKey(TGListTreeItem *itm, TObject *obj, const char *name=0)
display content of ROOT file
virtual void Resize(UInt_t w, UInt_t h)
Resize the listbox widget.
virtual TList * GetListOfKeys() const
const char * GetClassName() const
Bool_t CheckFiltered(TGListTreeItem *item, Bool_t but=kFALSE)
Check if there is a filter active on the children of the list tree item.
void Add(THist< DIMENSION, PRECISIONA > &to, THist< DIMENSION, PRECISIONB > &from)
virtual void * GetUserData() const =0
virtual UInt_t GetHeight() const
virtual const char * WorkingDirectory()
Return working directory.
TGCompositeFrame * GetTabContainer(Int_t tabIndex) const
Return container of tab with index tabIndex.
virtual TObject * DrawClone(Option_t *option="") const
Draw a clone of this object in the current pad.
Collectable string class.
virtual UInt_t GetWidth() const
virtual const char * GetIconName() const
Returns mime type name of object.
TString & ReplaceAll(const TString &s1, const TString &s2)
virtual void SetToolTipText(const char *text, Long_t delayms=500)
Set tool tip text associated with this text entry.
TClass * GetClassPointer(Bool_t load=kTRUE)
Get pointer to the base class TClass.
int GetPathInfo(const char *path, Long_t *id, Long_t *size, Long_t *flags, Long_t *modtime)
Get info about a file: id, size, flags, modification time.
Bool_t TestBit(UInt_t f) const
virtual Int_t GetEntries() const
void ApplyFilter(Int_t id)
Apply filter selected in combo box to the file tree view.
Regular expression class.
virtual Bool_t ChangeDirectory(const char *path)
Change directory.
static const char * filename()
virtual const char * GetTitle() const
Returns title of object.
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
UInt_t GetListOfKeys(TList &keys, TString inherits, TDirectory *dir=0)
virtual void Browse(TBrowser *b)
Browse object. May be overridden for another default action.
static void SingleShot(Int_t milliSec, const char *receiver_class, void *receiver, const char *method)
This static function calls a slot after a given time interval.
virtual const char * DirName(const char *pathname)
Return the directory name in pathname.
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
virtual void SetModel(TVirtualPad *pad, TObject *obj, Int_t event)
Activate object editors according to the selected object.
An abstract interface to image processing library.
virtual void Merge(const TImage *, const char *="alphablend", Int_t=0, Int_t=0)
Bool_t CheckSorted(TGListTreeItem *item, Bool_t but=kFALSE)
Check if the list tree item children are alphabetically sorted.
TString & Prepend(const char *cs)
R__EXTERN TApplication * gApplication
TObject * At(Int_t idx) const
virtual Bool_t IsDirectory(const char *dir=0) const
Check if object is a directory.
virtual char * GetObjectInfo(Int_t px, Int_t py) const
Returns string containing info about the object at position (px,py).
void AddFSDirectory(const char *entry, const char *path=0, Option_t *opt="")
Add file system directory in the list tree.
void DoubleClicked(TGListTreeItem *item, Int_t btn)
Process double clicks in TGListTree.
virtual void SetImage(const Double_t *, UInt_t, UInt_t, TImagePalette *=0)
Bool_t R_ISREG(Int_t mode)
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual Pixmap_t GetPixmap()
virtual const char * UnixPathName(const char *unixpathname)
Convert from a Unix pathname to a local pathname.
virtual void Scale(UInt_t, UInt_t)
virtual void Sort(Bool_t order=kSortAscending)
Sort linked list.
virtual void CheckItem(Bool_t=kTRUE)=0
The TRemoteObject class provides protocol for browsing ROOT objects from a remote ROOT session...
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString...
static TVirtualPadEditor * GetPadEditor(Bool_t load=kTRUE)
Returns the pad editor dialog. Static method.
virtual void Sleep(UInt_t milliSec)
Sleep milliSec milli seconds.
void ToggleSort()
Toggle the sort mode and set the "sort button" state accordingly.
virtual void SetActive(Bool_t)
The TNamed class is the base class for all named ROOT classes.
virtual void SetUserData(void *, Bool_t=kFALSE)
void AddRemoteFile(TObject *obj)
Add remote file in list tree.
const char * GetKeyClassName() const
void Clear()
Clear string without changing its capacity.
TString & Append(const char *cs)
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
void PadModified()
Slot used to switch to the tab containing the current pad/canvas (gPad) used e.g. ...
virtual TList * GetList() const
Long64_t Atoll() const
Return long long value of string.
static Bool_t IsTextFile(const char *candidate)
Returns true if given a text file Uses the specification given on p86 of the Camel book...
TString FullPathName(TGListTreeItem *item)
returns an absolute path
char * FormatFileInfo(const char *fname, Long64_t size, Long_t modtime)
Format file information to be displayed in the tooltip.
TApplication * GetAppRemote() const
void Chdir(TGListTreeItem *item)
Make object associated with item the current directory.
Describes an Operating System directory for the browser.
Pixmap_t GetPicture() const
virtual void SetTipText(const char *)
virtual void BrowseObj(TObject *obj)
Browse object.
Using a TBrowser one can browse all ROOT objects.
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot...
virtual void Browse(TBrowser *b)
Browse the content of the directory.
virtual const char * ApplicationName() const
virtual TObject * First() const
Return the first object in the list. Returns 0 when list is empty.
virtual TGMainFrame * GetMainFrame() const
void CreateBrowser()
Create the actual file browser.
R__EXTERN TSystem * gSystem
TGListTreeItem * GetNextSibling() const
void GetFilePictures(const TGPicture **pic, Int_t file_type, Bool_t is_link, const char *name)
Determine the file picture for the given file type.
virtual Int_t GetValue(const char *name, Int_t dflt)
Returns the integer value for a resource.
virtual void Refresh(Bool_t force=kFALSE)
Refresh content of the list tree.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
Bool_t BeginsWith(const char *s, ECaseCompare cmp=kExact) const
virtual Bool_t SetTab(Int_t tabIndex, Bool_t emit=kTRUE)
Brings the composite frame with the index tabIndex to the front and generate the following event if t...
virtual const char * GetText() const =0
Int_t GetEntriesFast() const
char * Form(const char *fmt,...)
virtual void RecursiveRemove(TObject *obj)
Recursively remove object.
void Clicked(TGListTreeItem *item, Int_t btn, Int_t x, Int_t y)
Process mouse clicks in TGListTree.
TString DirName(TGListTreeItem *item)
returns the directory path
The ROOT global object gROOT contains a list of all defined classes.
virtual Int_t Exec(const char *shellcmd)
Execute a command.
virtual TObject * At(Int_t idx) const
Returns the object at position idx. Returns 0 if idx is out of range.
Option_t * GetDrawOption() const
returns drawing option
mFiltered_t::iterator mFiltered_i
void Rename(const char *new_name)
Each class (see TClass) has a linked list of its base class(es).
void Selected(char *)
A ROOT File has been selected in TGHtmlBrowser.
static const char * FormatToolTip(TObject *obj, Int_t maxlen=0)
Format the tooltip information, based on the object passed in argument.
char * StrDup(const char *str)
Duplicate the string str.
TString & Remove(Ssiz_t pos)
TGListTreeItem * GetParent() const
Long_t XXExecuteDefaultAction(TObject *obj)
Execute default action for selected object (action is specified in the $HOME/.root.mimes or $ROOTSYS/etc/root.mimes file.
virtual Pixmap_t GetMask()
Describe directory structure in memory.
TGListTreeItem * GetFirstChild() const
void GotoDir(const char *path)
Go to the directory "path" and open all the parent list tree items.
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
Bool_t Disconnect(const char *signal=0, void *receiver=0, const char *slot=0)
Disconnects signal of this object from slot of receiver.
Abstract base class used by ROOT graphics editor.
virtual ~TGFileBrowser()
Destructor.
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
virtual void SetPictures(const TGPicture *, const TGPicture *)
Mother of all ROOT objects.
void CheckRemote(TGListTreeItem *item)
Check if the current list tree item points to a remote object.
virtual void Add(TObject *obj, const char *name=0, Int_t check=-1)
Add items to the browser.
virtual const char * GetTitle() const
Returns title of object.
Bool_t IsTObject() const
Return kTRUE is the class inherits from TObject.
A TSystemFile describes an operating system file.
Bool_t R_ISDIR(Int_t mode)
static Bool_t IsObjectEditable(TClass *cl)
Helper function checking if a class has a graphic properties editor.
void SetDNDSource(Bool_t onoff)
virtual TList * GetVolumes(Option_t *) const
virtual Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects)...
static TImage * Open(const char *file, EImageFileTypes type=kUnknown)
Open a specified image file.
void Checked(TObject *obj, Bool_t check)
Emits signal when double clicking on icon.
virtual Bool_t ExpandPathName(TString &path)
Expand a pathname getting rid of special shell characters like ~.
static TImage * Create()
Create an image.
Bool_t GetFileStat(FileStat_t *sbuf)
Get remote file status.
virtual const char * GetName() const
Returns name of object.
Int_t GetNumberOfTabs() const
Return number of tabs.
virtual char * ConcatFileName(const char *dir, const char *name)
Concatenate a directory and a file name. User must delete returned string.
virtual Bool_t SetImageBuffer(char **, EImageFileTypes=TImage::kPng)
void Update()
Update content of the list tree.
if(line.BeginsWith("/*"))
virtual const char * GetTitle() const
Returns title of object.
ABC describing GUI independent browser implementation protocol.
void GetObjPicture(const TGPicture **pic, TObject *obj)
Retrieve icons associated with class "name".
const char * Data() const