00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef ROOT_TGuiBuilder
00013 #define ROOT_TGuiBuilder
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef ROOT_TNamed
00024 #include "TNamed.h"
00025 #endif
00026
00027 enum EGuiBldAction { kGuiBldNone, kGuiBldCtor, kGuiBldProj,
00028 kGuiBldMacro, kGuiBldFunc };
00029
00030 class TGFrame;
00031 class TGLayoutHints;
00032 class TGPicture;
00033
00034 class TGuiBldAction : public TNamed {
00035
00036 public:
00037 Int_t fType;
00038 TString fAct;
00039 const char *fPic;
00040 const TGPicture *fPicture;
00041 TGLayoutHints *fHints;
00042
00043 TGuiBldAction(const char *name = 0, const char *title = 0,
00044 Int_t type = kGuiBldCtor, TGLayoutHints *hints = 0);
00045 virtual ~TGuiBldAction();
00046
00047 ClassDef(TGuiBldAction,0)
00048 };
00049
00050
00051
00052 class TGuiBuilder {
00053
00054 protected:
00055 TGuiBldAction *fAction;
00056
00057 public:
00058 TGuiBuilder();
00059 virtual ~TGuiBuilder();
00060
00061 virtual void AddAction(TGuiBldAction *, const char * ) {}
00062 virtual void AddSection(const char * ) {}
00063 virtual TGFrame *ExecuteAction() { return 0; }
00064 virtual void SetAction(TGuiBldAction *act) { fAction = act; }
00065 TGuiBldAction *GetAction() const { return fAction; }
00066 virtual Bool_t IsExecutable() const { return fAction && !fAction->fAct.IsNull(); }
00067 virtual void Show() {}
00068 virtual void Hide() {}
00069
00070 static TGuiBuilder *Instance();
00071
00072 ClassDef(TGuiBuilder,0)
00073 };
00074
00075 R__EXTERN TGuiBuilder *gGuiBuilder;
00076
00077 #endif