12 #ifndef ROOT_TRootGuiBuilder
13 #define ROOT_TRootGuiBuilder
25 enum EGuiBuilderMenuIds {
37 kGUIBLD_WINDOW_CASCADE,
38 kGUIBLD_WINDOW_OPAQUE,
39 kGUIBLD_WINDOW_ARRANGE,
41 kGUIBLD_HELP_CONTENTS,
51 class TGDockableFrame;
55 class TGuiBldDragManager;
60 class TGPictureButton;
65 class TRootGuiBuilder :
public TGuiBuilder,
public TGMainFrame {
67 friend class TGuiBldDragManager;
70 TGuiBldDragManager *fManager;
71 TGButton *fActionButton;
74 TGMdiMainFrame *fMain;
75 TGDockableFrame *fToolDock;
76 TGDockableFrame *fShutterDock;
77 TGMdiMenuBar *fMenuBar;
78 TGPopupMenu *fMenuFile;
79 TGPopupMenu *fMenuWindow;
80 TGPopupMenu *fMenuEdit;
81 TGPopupMenu *fMenuHelp;
82 TGStatusBar *fStatusBar;
84 TGMdiFrame *fEditable;
85 TGuiBldEditor *fEditor;
86 const TGPicture *fIconPic;
87 TGPictureButton *fStartButton;
91 static TGGC *fgBgndPopup;
92 static TGGC *fgBgndPopupHlght;
95 void EnableLassoButtons(Bool_t on = kTRUE);
96 void EnableSelectedButtons(Bool_t on = kTRUE);
97 void EnableEditButtons(Bool_t on = kTRUE);
99 TGButton *FindActionButton(
const char *name,
const char *section);
102 TRootGuiBuilder(
const TGWindow *p = 0);
103 virtual ~TRootGuiBuilder();
105 virtual void AddAction(TGuiBldAction *act,
const char *sect);
106 virtual void AddMacro(
const char *macro, TImage *img);
107 virtual void AddSection(
const char *sect);
108 virtual TGFrame *ExecuteAction();
109 virtual void HandleButtons();
110 virtual void Show() { MapRaised(); }
112 virtual void ChangeSelected(TGFrame *f);
113 virtual void Update();
114 virtual Bool_t IsSelectMode()
const;
115 virtual Bool_t IsGrabButtonDown()
const;
116 virtual Bool_t OpenProject(Event_t *event = 0);
117 virtual Bool_t SaveProject(Event_t *event = 0);
118 virtual Bool_t NewProject(TString type =
"");
119 virtual Bool_t HandleKey(Event_t *event);
120 virtual void HandleMenu(Int_t
id);
121 virtual void CloseWindow();
122 virtual void MaybeCloseWindow();
123 virtual void HandleWindowClosed(Int_t
id);
124 virtual void UpdateStatusBar(
const char *text = 0);
125 virtual void EraseStatusBar();
126 virtual void SwitchToolbarButton();
128 TGMdiFrame *FindEditableMdiFrame(
const TGWindow *win);
129 TGuiBldEditor *GetEditor()
const {
return fEditor; }
130 TGDockableFrame *GetToolDock()
const {
return fToolDock; }
131 TGMdiMainFrame *GetMdiMain()
const {
return fMain; }
132 TGMdiFrame *GetEditable()
const {
return fEditable; }
133 TGuiBldDragManager *GetManager()
const {
return fManager; }
135 static ULong_t GetBgnd();
136 static TGGC *GetBgndGC();
138 static ULong_t GetPopupBgnd();
139 static TGGC *GetPopupBgndGC();
141 static ULong_t GetPopupHlght();
142 static TGGC *GetPopupHlghtGC();
144 static void PropagateBgndColor(TGFrame *frame, Pixel_t color);
146 static TGFrame *HSplitter();
147 static TGFrame *VSplitter();
148 static TGPopupMenu *CreatePopup();
149 static TGFrame *BuildListTree();
150 static TGFrame *BuildCanvas();
151 static TGFrame *BuildShutter();
152 static TGFrame *BuildTextEdit();
153 static TGFrame *BuildTab();
154 static TGFrame *BuildListBox();
155 static TGFrame *BuildComboBox();
156 static TGFrame *BuildH3DLine();
157 static TGFrame *BuildV3DLine();
158 static TGFrame *BuildHScrollBar();
159 static TGFrame *BuildVScrollBar();
160 static TGFrame *BuildHProgressBar();
161 static TGFrame *BuildVProgressBar();
164 ClassDef(TRootGuiBuilder,0)