00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef ROOT_TGShutter
00013 #define ROOT_TGShutter
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef ROOT_TGFrame
00028 #include "TGFrame.h"
00029 #endif
00030 #ifndef ROOT_TGCanvas
00031 #include "TGCanvas.h"
00032 #endif
00033 #ifndef ROOT_TGWidget
00034 #include "TGWidget.h"
00035 #endif
00036
00037
00038 class TGButton;
00039 class TGCanvas;
00040 class TTimer;
00041 class TList;
00042
00043
00044
00045 class TGShutterItem : public TGVerticalFrame, public TGWidget {
00046
00047 friend class TGShutter;
00048
00049 protected:
00050 TGButton *fButton;
00051 TGCanvas *fCanvas;
00052 TGFrame *fContainer;
00053 TGLayoutHints *fL1, *fL2;
00054
00055 private:
00056 TGShutterItem(const TGShutterItem&);
00057 TGShutterItem& operator=(const TGShutterItem&);
00058
00059 public:
00060 TGShutterItem(const TGWindow *p = 0, TGHotString *s = 0, Int_t id = -1,
00061 UInt_t options = 0);
00062 virtual ~TGShutterItem();
00063
00064 TGButton *GetButton() const { return fButton; }
00065 TGFrame *GetContainer() const { return fCanvas->GetContainer(); }
00066 virtual void Selected() { Emit(" Selected()"); }
00067
00068 virtual void SavePrimitive(ostream &out, Option_t *option = "");
00069
00070 ClassDef(TGShutterItem,0)
00071 };
00072
00073
00074
00075 class TGShutter : public TGCompositeFrame {
00076
00077 protected:
00078 TTimer *fTimer;
00079 TGShutterItem *fSelectedItem;
00080 TGShutterItem *fClosingItem;
00081 TList *fTrash;
00082 Int_t fHeightIncrement;
00083 Int_t fClosingHeight;
00084 Int_t fClosingHadScrollbar;
00085 UInt_t fDefWidth;
00086 UInt_t fDefHeight;
00087
00088 private:
00089 TGShutter(const TGShutter&);
00090 TGShutter& operator=(const TGShutter&);
00091
00092 public:
00093 TGShutter(const TGWindow *p = 0, UInt_t options = kSunkenFrame);
00094 virtual ~TGShutter();
00095
00096 virtual void AddItem(TGShutterItem *item);
00097 virtual void RemoveItem(const char *name);
00098 virtual TGShutterItem *AddPage(const char *item = "Page");
00099 virtual void RemovePage();
00100 virtual void RenamePage(const char *name);
00101 virtual Bool_t HandleTimer(TTimer *t);
00102 virtual void Layout();
00103 virtual void SetLayoutManager(TGLayoutManager*) { }
00104 TGShutterItem *GetSelectedItem() const { return fSelectedItem; }
00105 TGShutterItem *GetItem(const char *name);
00106 virtual void SetSelectedItem(TGShutterItem *item);
00107 virtual void SetSelectedItem(const char *name);
00108 virtual void EnableItem(const char *name, Bool_t on = kTRUE);
00109
00110 virtual TGDimension GetDefaultSize() const;
00111 virtual void SetDefaultSize(UInt_t w, UInt_t h);
00112
00113 virtual void SavePrimitive(ostream &out, Option_t *option = "");
00114
00115 virtual Bool_t ProcessMessage(Long_t cmd, Long_t parm1, Long_t parm2);
00116 virtual void Selected(TGShutterItem *item) { Emit(" Selected(TGShutterItem*)", item); }
00117
00118 ClassDef(TGShutter,0)
00119 };
00120
00121 #endif