00001 //------------------------------------------------------------- 00002 // Go4 Release Package v3.04-01 (build 30401) 00003 // 28-November-2008 00004 //--------------------------------------------------------------- 00005 // The GSI Online Offline Object Oriented (Go4) Project 00006 // Experiment Data Processing at EE department, GSI 00007 //--------------------------------------------------------------- 00008 // 00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI 00010 // Planckstr. 1, 64291 Darmstadt, Germany 00011 //Contact: http://go4.gsi.de 00012 //---------------------------------------------------------------- 00013 //This software can be used under the license agreements as stated 00014 //in Go4License.txt file which is part of the distribution. 00015 //---------------------------------------------------------------- 00016 #ifndef TGO4BROWSERITEM_H 00017 #define TGO4BROWSERITEM_H 00018 00019 #include "TFolder.h" 00020 00021 #include "RVersion.h" 00022 00023 class TIterator; 00024 class TGo4BrowserProxy; 00025 class TGo4RootBrowserProxy; 00026 00027 class TGo4BrowserItem : public TFolder { 00028 public: 00029 TGo4BrowserItem(); 00030 TGo4BrowserItem(const char* name, const char* title); 00031 TGo4BrowserItem(TGo4BrowserItem* parent, TGo4BrowserItem* previtem, const char* name, const char* title); 00032 virtual ~TGo4BrowserItem(); 00033 00034 virtual void Browse(TBrowser* b); 00035 virtual void DrawItem(); // *MENU* 00036 virtual void CopyToWorkspace(); // *MENU* 00037 virtual void DeleteItem(); // *MENU* 00038 virtual void SetMonitorOn(); // *MENU* 00039 virtual void SetMonitorOff(); // *MENU* 00040 virtual void ToggleMonitoring(Int_t sec); // *MENU* 00041 virtual void StartAnalysis(); // *MENU* 00042 virtual void StopAnalysis(); // *MENU* 00043 00044 TGo4BrowserItem* GetParent() const { return fParent; } 00045 00046 void SetBrowser(TGo4BrowserProxy* br, TGo4RootBrowserProxy* br2); 00047 00048 TGo4BrowserItem* firstChild(); 00049 TGo4BrowserItem* nextChild(); 00050 void deleteChild(TGo4BrowserItem* item); 00051 void deleteChilds(); 00052 00053 void SetItemClass(const char* name) { fItemClass = name; } 00054 const char* GetItemClass() const { return fItemClass.Data(); } 00055 00056 void SetIsFolder(Bool_t b) { fIsFolder = b; } 00057 virtual Bool_t IsFolder() const { return fIsFolder; } 00058 00059 virtual const char* GetIconName() const { return fIconName.Data(); } 00060 void SetIconName(const char* name) { fIconName = name; } 00061 00062 void ProduceFullName(TString& fullname); 00063 TString GetFullName(); 00064 00065 virtual const char* ClassName() const { return GetItemClass(); } 00066 virtual void Delete(Option_t* option = ""); 00067 virtual void SetName(const char* name); 00068 virtual void SetTitle(const char* title = ""); 00069 virtual void ls(Option_t* option = "*") const; 00070 #if ROOT_VERSION_CODE < ROOT_VERSION(5,13,6) 00071 virtual void SaveAs(const char* filename = ""); 00072 #else 00073 virtual void SaveAs(const char* filename = "", Option_t *option = ""); 00074 #endif 00075 virtual void DrawClass() const; 00076 virtual TObject* DrawClone(Option_t* option = "") const; 00077 virtual void Dump() const; 00078 virtual void Inspect() const; 00079 virtual void SetDrawOption(Option_t* option = ""); 00080 protected: 00081 00082 void SetMonitorFlag(Bool_t on); 00083 00084 TGo4BrowserItem* fParent; 00085 TIterator* fIter; 00086 TString fItemClass; 00087 TString fIconName; 00088 Bool_t fIsFolder; 00089 00090 TGo4BrowserProxy* fBrowser; 00091 TGo4RootBrowserProxy* fRootBrowser; 00092 00093 ClassDef(TGo4BrowserItem,1); 00094 }; 00095 00096 #endif 00097 00098 //----------------------------END OF GO4 SOURCE FILE ---------------------