// @(#)root/guibuilder:$Name: $:$Id: TRootGuiBuilder.h,v 1.2 2004/12/09 22:55:06 brun Exp $
// Author: Valeriy Onuchin 12/09/04
/*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TRootGuiBuilder
#define ROOT_TRootGuiBuilder
//////////////////////////////////////////////////////////////////////////
// //
// TRootGuiBuilder //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TGFrame
#include "TGFrame.h"
#endif
#ifndef ROOT_TGuiBuilder
#include "TGuiBuilder.h"
#endif
class TGShutter;
class TGMdiMainFrame;
class TGDockableFrame;
class TGMdiMenuBar;
class TGPopupMenu;
class TGStatusBar;
class TGuiBldDragManager;
class TGToolBar;
class TGMdiFrame;
class TGuiBldEditor;
class TRootGuiBuilder : public TGuiBuilder, public TGMainFrame {
private:
TGuiBldDragManager *fManager; // drag and drop manager
TGToolBar *fToolBar; // guibuider toolbar
TGShutter *fShutter; // widget palette
TGMdiMainFrame *fMain; // main mdi frame
TGDockableFrame *fToolDock; // dockable frame where toolbar is located
TGDockableFrame *fShutterDock; // dockable frame where widget palette is located
TGMdiMenuBar *fMenuBar; // guibuildere menu bar
TGPopupMenu *fMenuFile; // "File" popup menu
TGPopupMenu *fMenuWindow; // "Window" popup menu
TGPopupMenu *fMenuHelp; // "Help" popup menu
TGStatusBar *fStatusBar; // guibuilder status bar
TGFrame *fSelected; // selected frame
TGMdiFrame *fEditable; // mdi frame where editted frame is located
TGuiBldEditor *fEditor; // frame property editor
void InitMenu();
void EnableLassoButtons(Bool_t on = kTRUE);
void EnableSelectedButtons(Bool_t on = kTRUE);
void EnableEditButtons(Bool_t on = kTRUE);
void BindKeys();
public:
TRootGuiBuilder(const TGWindow *p = 0);
virtual ~TRootGuiBuilder();
virtual void AddAction(TGuiBldAction *act, const char *sect);
virtual void AddSection(const char *sect);
virtual TGFrame *ExecuteAction();
virtual void HandleButtons();
virtual void Show() { MapRaised(); }
virtual void Hide();
virtual void ChangeSelected(TGFrame *f);
virtual void Update();
virtual Bool_t IsSelectMode() const;
virtual Bool_t IsGrabButtonDown() const;
virtual Bool_t OpenProject(Event_t *event = 0);
virtual Bool_t SaveProject(Event_t *event = 0);
virtual Bool_t NewProject(Event_t *event = 0);
virtual Bool_t HandleKey(Event_t *event);
virtual void HandleMenu(Int_t id);
virtual void CloseWindow();
virtual void HandleWindowClosed(Int_t id);
virtual void UpdateStatusBar(const char *text = 0);
virtual void EraseStatusBar();
TGMdiFrame *FindEditableMdiFrame(const TGWindow *win);
TGuiBldEditor *GetEditor() const { return fEditor; }
static TGFrame *HSplitter();
static TGFrame *VSplitter();
ClassDef(TRootGuiBuilder,0) // ROOT GUI Builder
};
#endif
syntax highlighted by Code2HTML, v. 0.9.1