12 #ifndef ROOT_TGFileBrowser
13 #define ROOT_TGFileBrowser
31 class TSystemDirectory;
33 class TGPictureButton;
35 class TGFileBrowser :
public TGMainFrame,
public TBrowserImp {
38 typedef std::list<TGListTreeItem*> sLTI_t;
39 typedef sLTI_t::iterator sLTI_i;
40 typedef sLTI_t::reverse_iterator sLTI_ri;
41 typedef std::map<TGListTreeItem*, const char *> mFiltered_t;
42 typedef mFiltered_t::iterator mFiltered_i;
45 TRootBrowser *fNewBrowser;
46 TGHorizontalFrame *fTopFrame;
47 TGHorizontalFrame *fBotFrame;
49 TGListTree *fListTree;
50 TGListTreeItem *fListLevel;
51 TGListTreeItem *fCurrentDir;
52 TGListTreeItem *fRootDir;
53 TGComboBox *fDrawOption;
54 TGComboBox *fFileType;
55 TContextMenu *fContextMenu;
56 TGPictureButton *fSortButton;
57 TGPictureButton *fRefreshButton;
58 TGPictureButton *fFilterButton;
59 const TGPicture *fRootIcon;
60 const TGPicture *fFileIcon;
61 const TGPicture *fCachedPic;
62 TString fCachedPicName;
64 TSystemDirectory *fDir;
73 mFiltered_t fFilteredItems;
79 TGFileBrowser(
const TGWindow *p, TBrowser* b=0, UInt_t w=200, UInt_t h=400);
80 virtual ~TGFileBrowser();
82 virtual void Add(TObject *obj,
const char *name = 0, Int_t check = -1);
83 virtual void BrowseObj(TObject *obj);
84 virtual void RecursiveRemove(TObject *obj);
85 virtual void Refresh(Bool_t force = kFALSE);
86 virtual void Show() { MapRaised(); }
87 Option_t *GetDrawOption()
const;
89 TRootBrowser *GetNewBrowser()
const {
return fNewBrowser; }
90 void SetNewBrowser(TRootBrowser* b) { fNewBrowser = b; }
92 void AddFSDirectory(
const char* entry,
const char* path=0, Option_t *opt=
"");
93 void AddKey(TGListTreeItem *itm, TObject *obj,
const char *name = 0);
94 void AddRemoteFile(TObject *obj);
95 void ApplyFilter(Int_t
id);
96 void Chdir(TGListTreeItem *item);
97 void Checked(TObject *obj, Bool_t check);
98 Bool_t CheckFiltered(TGListTreeItem *item, Bool_t but = kFALSE);
99 void CheckRemote(TGListTreeItem *item);
100 Bool_t CheckSorted(TGListTreeItem *item, Bool_t but = kFALSE);
101 void Clicked(TGListTreeItem *item, Int_t btn, Int_t x, Int_t y);
102 TString DirName(TGListTreeItem* item);
103 TString FullPathName(TGListTreeItem* item);
104 void DoubleClicked(TGListTreeItem *item, Int_t btn);
105 Long_t XXExecuteDefaultAction(TObject *obj);
106 char *FormatFileInfo(
const char *fname, Long64_t size, Long_t modtime);
107 void GetFilePictures(
const TGPicture **pic, Int_t file_type, Bool_t is_link,
const char *name);
108 void GetObjPicture(
const TGPicture **pic, TObject *obj);
109 void GotoDir(
const char *path);
111 void RequestFilter();
112 void Selected(
char *);
116 ClassDef(TGFileBrowser, 0)