source: trunk/MagicSoft/Mars/mbase/MStatusArray.h @ 9532

Last change on this file since 9532 was 9532, checked in by tbretz, 10 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    void     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
30public:
31    MStatusArray() : TObjArray() { }
32    MStatusArray(const MStatusDisplay &d);
33    ~MStatusArray();
34
35    TObject *DisplayIn(Option_t *o=0) const;         // *MENU*
36    void     DisplayIn(MStatusDisplay &d, const char *tab=0) const;
37    TObject *Display() const { return DisplayIn(); } // *MENU*
38
39    TCanvas *FindCanvas(const char *name) const;
40
41    TObject *FindObjectInCanvas(const char *object, const char *base, const char *canvas) const;
42    TObject *FindObjectInCanvas(const char *object, const char *canvas) const;
43
44    void Print(Option_t *o="") const;
45    void Print(const Option_t *o, Option_t *) const         { Print(o); }
46    void Print(const Option_t *o, Int_t) const              { Print(o); }
47    void Print(const Option_t *o, const char*, Int_t) const { Print(o); }
48    void Print(const Option_t *o, TPRegexp&, Int_t) const   { Print(o); }
49
50    TObject *FindObject(const char *object, const char *base) const;
51    TObject *FindObject(const char *object) const;
52    TObject *FindObject(const TObject *) const { return 0; }
53
54    Int_t Read(const char *name=NULL);
55    Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0) const;
56    Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0)
57    {
58        return const_cast<const MStatusArray*>(this)->Write(name, option, bufsize);
59    }
60
61    void EnableTH1Workaround(const TCollection *list=0) const;
62    void Delete(Option_t *option="");
63
64    void RecursiveRemove(TVirtualPad *p, TObject *o);
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.