class TGuiBuilder


 TGuiBuilder



                ROOT GUI Builder principles


  With the GUI builder, we try to make the next step from WYSIWYG
  to embedded editing concept - WYSIWYE ("what you see is what you edit").
  The ROOT GUI Builder allows modifying real GUI objects.
  For example, one can edit the existing GUI application created by
  $ROOTSYS/tutorials/gui/guitest.C.
  GUI components can be added to a design area from a widget palette,
  or can be borrowed from another application.
  One can drag and and drop TCanvas's menu bar into the application.
  GUI objects can be resized and dragged, copied and pasted.
  ROOT GUI Builder allows changing the layout, snap to grid, change object's
  layout order via the GUI Builder toolbar, or by options in the right-click
  context menus.
  A final design can be immediatly tested and used, or saved as a C++ macro.
  For example, it's possible to rearrange buttons in control bar,
  add separators etc. and continue to use a new fancy control bar in the
  application.



  The following is a short description of the GUI Builder actions and key shortcuts:

   o Press Ctrl-Double-Click to start/stop edit mode
   o Press Double-Click to activate quick edit action (defined in root.mimes)

                 Selection, grabbing, dropping

    It is possible to select, drag any frame and drop it to any frame

   o Click left mouse button or Ctrl-Click to select an object to edit.
   o Press right mouse button to activate context menu
   o Mutiple selection (grabbing):
      - draw lasso and press Return key
      - press Shift key and draw lasso
   o Dropping:
      - select frame and press Ctrl-Return key
   o Changing layout order:
      - select frame and use arrow keys to change layout order
   o Alignment:
      - draw lasso and press arrow keys (or Shift-Arrow key) to align frames

                    Key shortcuts

   o Return      - grab selected frames
   o Ctrl-Return - drop frames
   o Del         - delete selected frame
   o Shift-Del   - crop action
   o Ctrl-X      - cut action
   o Ctrl-C      - copy action
   o Ctrl-V      - paste action
   o Ctrl-R      - replace action
   o Ctrl-L      - compact layout
   o Ctrl-B      - break layout
   o Ctrl-H      - switch horizontal-vertical layout
   o Ctrl-G      - switch on/off grid
   o Ctrl-S      - save action
   o Ctrl-O      - open and execute a ROOT macro file. GUI components created
                   after macro execution will be emebedded to currently edited
                   design area.
   o Ctrl-N      - create new main frame


/* */

Function Members (Methods)

public:
TGuiBuilder()
TGuiBuilder(const TGuiBuilder&)
virtual~TGuiBuilder()
virtual voidAddAction(TGuiBldAction*, const char*)
virtual voidAddSection(const char*)
static TClass*Class()
virtual TGFrame*ExecuteAction()
TGuiBldAction*GetAction() const
virtual voidHide()
static TGuiBuilder*Instance()
virtual TClass*IsA() const
virtual Bool_tIsExecutable() const
TGuiBuilder&operator=(const TGuiBuilder&)
virtual voidSetAction(TGuiBldAction* act)
virtual voidShow()
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)

Data Members

protected:
TGuiBldAction*fActioncurrent action

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGuiBuilder(const TGuiBuilder& )
 constructor
~TGuiBuilder()
 destructor
TGuiBuilder * Instance()
 return an instance of TGuiBuilder object
TGuiBuilder(const TGuiBuilder& )
void AddAction(TGuiBldAction* , const char* )
{}
void AddSection(const char* )
{}
TGFrame * ExecuteAction()
{ return 0; }
void SetAction(TGuiBldAction* act)
{ fAction = act; }
TGuiBldAction * GetAction()
{ return fAction; }
Bool_t IsExecutable()
{ return fAction && !fAction->fAct.IsNull(); }
void Show()
{}
void Hide()
{}

Author: Valeriy Onuchin 12/08/04
Last change: root/gui:$Id: TGuiBuilder.h 23115 2008-04-10 13:35:37Z rdm $
Last generated: 2008-06-25 08:46
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.