source: trunk/Mars/mbase/MStatusArray.h@ 18679

Last change on this file since 18679 was 9580, checked in by tbretz, 15 years ago
*** empty log message ***
File size: 2.3 KB
Line 
1#ifndef MARS_MStatusArray
2#define MARS_MStatusArray
3
4#ifndef ROOT_TObjArray
5#include <TObjArray.h>
6#endif
7
8class TClass;
9class TCanvas;
10class TVirtualPad;
11
12class MStatusDisplay;
13
14class MStatusArray : public TObjArray
15{
16private:
17 enum {
18 kMyCanDelete = BIT(30)
19 };
20
21 void SetCleanup(TObject *obj) const;
22 Bool_t RecursiveDelete(TVirtualPad *p, const char id=0) const;
23
24 void SetCanDelete(const TCollection *list) const;
25 void SetMyCanDelete(const TCollection *list) const;
26 void ResetMyCanDelete(const TCollection *list) const;
27 void PrintObjectsInPad(const TCollection *list, const TString &name, Int_t lvl=0) const;
28 TObject *FindObjectInPad(TVirtualPad *pad, const char *object, TClass *base) const;
29 void RecursiveRemove(TCollection *c, TObject *o);
30
31public:
32 MStatusArray() : TObjArray() { }
33 MStatusArray(const MStatusDisplay &d);
34 ~MStatusArray();
35
36 TObject *DisplayIn(Option_t *o=0) const; // *MENU*
37 void DisplayIn(MStatusDisplay &d, const char *tab=0) const;
38 TObject *Display() const { return DisplayIn(); } // *MENU*
39
40 TCanvas *FindCanvas(const char *name) const;
41
42 TObject *FindObjectInCanvas(const char *object, const char *base, const char *canvas) const;
43 TObject *FindObjectInCanvas(const char *object, const char *canvas) const;
44
45 void Print(Option_t *o="") const;
46 void Print(const Option_t *o, Option_t *) const { Print(o); }
47 void Print(const Option_t *o, Int_t) const { Print(o); }
48 void Print(const Option_t *o, const char*, Int_t) const { Print(o); }
49 void Print(const Option_t *o, TPRegexp&, Int_t) const { Print(o); }
50
51 TObject *FindObject(const char *object, const char *base) const;
52 TObject *FindObject(const char *object) const;
53 TObject *FindObject(const TObject *) const { return 0; }
54
55 Int_t Read(const char *name=NULL);
56 Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0) const;
57 Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0)
58 {
59 return const_cast<const MStatusArray*>(this)->Write(name, option, bufsize);
60 }
61
62 void EnableTH1Workaround(const TCollection *list=0) const;
63 void Delete(Option_t *option="");
64
65 void RecursiveRemove(TObject *o);
66
67 ClassDef(MStatusArray, 0) // Helper class for status display
68};
69
70#endif
Note: See TracBrowser for help on using the repository browser.