00001 // @(#)root/base:$Id: TFolder.h 27436 2009-02-12 14:54:52Z rdm $ 00002 // Author: Rene Brun 02/09/2000 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TFolder 00013 #define ROOT_TFolder 00014 00015 00016 ////////////////////////////////////////////////////////////////////////// 00017 // // 00018 // TFolder // 00019 // // 00020 // Describe a folder: a list of objects and folders // 00021 // // 00022 ////////////////////////////////////////////////////////////////////////// 00023 00024 #ifndef ROOT_TNamed 00025 #include "TNamed.h" 00026 #endif 00027 00028 class TCollection; 00029 class TBrowser; 00030 00031 00032 class TFolder : public TNamed { 00033 00034 protected: 00035 TCollection *fFolders; //pointer to the list of folders 00036 Bool_t fIsOwner; //true if folder own its contained objects 00037 00038 private: 00039 TFolder(const TFolder &folder); //folders cannot be copied 00040 void operator=(const TFolder &); 00041 00042 public: 00043 00044 TFolder(); 00045 TFolder(const char *name, const char *title); 00046 virtual ~TFolder(); 00047 virtual void Add(TObject *obj); 00048 TFolder *AddFolder(const char *name, const char *title, TCollection *collection=0); 00049 virtual void Browse(TBrowser *b); 00050 virtual void Clear(Option_t *option=""); 00051 virtual void Copy(TObject &) const { MayNotUse("Copy(TObject &)"); } 00052 virtual const char *FindFullPathName(const char *name) const; 00053 virtual const char *FindFullPathName(const TObject *obj) const; 00054 virtual TObject *FindObject(const char *name) const; 00055 virtual TObject *FindObject(const TObject *obj) const; 00056 virtual TObject *FindObjectAny(const char *name) const; 00057 TCollection *GetListOfFolders() const { return fFolders; } 00058 Bool_t IsFolder() const { return kTRUE; } 00059 Bool_t IsOwner() const; 00060 virtual void ls(Option_t *option="") const; // *MENU* 00061 virtual Int_t Occurence(const TObject *obj) const; 00062 virtual void RecursiveRemove(TObject *obj); 00063 virtual void Remove(TObject *obj); 00064 virtual void SaveAs(const char *filename="",Option_t *option="") const; // *MENU* 00065 virtual void SetOwner(Bool_t owner=kTRUE); 00066 00067 ClassDef(TFolder,1) //Describe a folder: a list of objects and folders 00068 }; 00069 00070 #endif