#ifndef ROOT_TGuiBuilder
#define ROOT_TGuiBuilder
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
enum EGuiBldAction { kGuiBldNone, kGuiBldCtor, kGuiBldProj,
kGuiBldMacro, kGuiBldFunc };
class TGFrame;
class TGLayoutHints;
class TGPicture;
class TGuiBldAction : public TNamed {
public:
Int_t fType;
TString fAct;
const char *fPic;
const TGPicture *fPicture;
TGLayoutHints *fHints;
TGuiBldAction(const char *name = 0, const char *title = 0,
Int_t type = kGuiBldCtor, TGLayoutHints *hints = 0);
virtual ~TGuiBldAction();
ClassDef(TGuiBldAction,0)
};
class TGuiBuilder {
protected:
TGuiBldAction *fAction;
public:
TGuiBuilder();
virtual ~TGuiBuilder();
virtual void AddAction(TGuiBldAction *, const char * ) {}
virtual void AddSection(const char * ) {}
virtual TGFrame *ExecuteAction() { return 0; }
virtual void SetAction(TGuiBldAction *act) { fAction = act; }
TGuiBldAction *GetAction() const { return fAction; }
virtual Bool_t IsExecutable() const { return fAction && !fAction->fAct.IsNull(); }
virtual void Show() {}
virtual void Hide() {}
static TGuiBuilder *Instance();
ClassDef(TGuiBuilder,0)
};
R__EXTERN TGuiBuilder *gGuiBuilder;
#endif