Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TFolder.h
Go to the documentation of this file.
1 // @(#)root/base:$Id$
2 // Author: Rene Brun 02/09/2000
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TFolder
13 #define ROOT_TFolder
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TFolder //
19 // //
20 // Describe a folder: a list of objects and folders //
21 // //
22 //////////////////////////////////////////////////////////////////////////
23 
24 #include "TNamed.h"
25 
26 class TCollection;
27 class TBrowser;
28 
29 
30 class TFolder : public TNamed {
31 
32 protected:
33  TCollection *fFolders; //pointer to the list of folders
34  Bool_t fIsOwner; //true if folder own its contained objects
35 
36 private:
37  TFolder(const TFolder &folder); //folders cannot be copied
38  void operator=(const TFolder &);
39 
40 public:
41 
42  TFolder();
43  TFolder(const char *name, const char *title);
44  virtual ~TFolder();
45  virtual void Add(TObject *obj);
46  TFolder *AddFolder(const char *name, const char *title, TCollection *collection=0);
47  virtual void Browse(TBrowser *b);
48  virtual void Clear(Option_t *option="");
49  virtual void Copy(TObject &) const { MayNotUse("Copy(TObject &)"); }
50  virtual const char *FindFullPathName(const char *name) const;
51  virtual const char *FindFullPathName(const TObject *obj) const;
52  virtual TObject *FindObject(const char *name) const;
53  virtual TObject *FindObject(const TObject *obj) const;
54  virtual TObject *FindObjectAny(const char *name) const;
55  TCollection *GetListOfFolders() const { return fFolders; }
56  Bool_t IsFolder() const { return kTRUE; }
57  Bool_t IsOwner() const;
58  virtual void ls(Option_t *option="") const; // *MENU*
59  virtual Int_t Occurence(const TObject *obj) const;
60  virtual void RecursiveRemove(TObject *obj);
61  virtual void Remove(TObject *obj);
62  virtual void SaveAs(const char *filename="",Option_t *option="") const; // *MENU*
63  virtual void SetOwner(Bool_t owner=kTRUE);
64 
65  ClassDef(TFolder,1) //Describe a folder: a list of objects and folders
66 };
67 
68 #endif