Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FX::FXDockBar Class Reference

A dock bar widget can be docked inside a dock site widget, or floated around freely. More...

#include <FXDockBar.h>

Inheritance diagram for FX::FXDockBar:

FX::FXPacker FX::FXComposite FX::FXWindow FX::FXDrawable FX::FXId FX::FXObject FX::FXToolBar FX::FXMenuBar

List of all members.

Public Types

enum  {
  ID_DOCK_FLOAT = FXPacker::ID_LAST,
  ID_DOCK_TOP,
  ID_DOCK_BOTTOM,
  ID_DOCK_LEFT,
  ID_DOCK_RIGHT,
  ID_DOCK_FLIP,
  ID_TOOLBARGRIP,
  ID_TIMER,
  ID_LAST
}
enum  {
  ALLOW_NOWHERE = 0,
  ALLOW_TOP = 1,
  ALLOW_BOTTOM = 2,
  ALLOW_LEFT = 4,
  ALLOW_RIGHT = 8,
  ALLOW_HORIZONTAL = ALLOW_TOP|ALLOW_BOTTOM,
  ALLOW_VERTICAL = ALLOW_LEFT|ALLOW_RIGHT,
  ALLOW_EVERYWHERE = ALLOW_HORIZONTAL|ALLOW_VERTICAL
}

Public Member Functions

 FXDockBar (FXComposite *p, FXComposite *q, FXuint opts=LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X, FXint x=0, FXint y=0, FXint w=0, FXint h=0, FXint pl=3, FXint pr=3, FXint pt=2, FXint pb=2, FXint hs=DEFAULT_SPACING, FXint vs=DEFAULT_SPACING)
 FXDockBar (FXComposite *p, FXuint opts, FXint x=0, FXint y=0, FXint w=0, FXint h=0, FXint pl=2, FXint pr=3, FXint pt=3, FXint pb=2, FXint hs=DEFAULT_SPACING, FXint vs=DEFAULT_SPACING)
FXbool isDocked () const
FXbool insideDock (FXDockSite *docksite, FXint barx, FXint bary)
void setDryDock (FXComposite *dry)
void setWetDock (FXComposite *wet)
FXCompositegetDryDock () const
FXCompositegetWetDock () const
FXDockSitefindDockAtSide (FXuint side=LAYOUT_SIDE_TOP)
FXDockSitefindDockNear (FXint rootx, FXint rooty)
virtual void dock (FXDockSite *docksite, FXWindow *other=NULL, FXbool notify=false)
virtual void dock (FXDockSite *docksite, FXint localx, FXint localy, FXbool notify)
virtual void undock (FXint rootx, FXint rooty, FXbool notify=false)
void allowedSides (FXuchar allow)
FXuchar allowedSides () const
virtual void save (FXStream &store) const
virtual void load (FXStream &store)
virtual ~FXDockBar ()


Detailed Description

A dock bar widget can be docked inside a dock site widget, or floated around freely.

Users can move, undock, and dock the dock bar widget by means of a handle such as a tool bar grip. When docking, the dock bar sends a SEL_DOCKED message to its target; when undocking, it sends a SEL_FLOATED message. In either case the dock site involved is passed in the void* pointer argument of the message.


Member Enumeration Documentation

anonymous enum

Enumerator:
ID_DOCK_FLOAT  Undock the dock bar.
ID_DOCK_TOP  Dock on the top.
ID_DOCK_BOTTOM  Dock on the bottom.
ID_DOCK_LEFT  Dock on the left.
ID_DOCK_RIGHT  Dock on the right.
ID_DOCK_FLIP  Flip orientation.
ID_TOOLBARGRIP  Tool bar grip.
ID_TIMER 
ID_LAST 

anonymous enum

Enumerator:
ALLOW_NOWHERE  Don't allow docking anywhere.
ALLOW_TOP  Docking at the top only.
ALLOW_BOTTOM  Docking at the bottom only.
ALLOW_LEFT  Docking at the left only.
ALLOW_RIGHT  Docking at the right only.
ALLOW_HORIZONTAL  Docking at the top and bottom.
ALLOW_VERTICAL  Docking at the left and right.
ALLOW_EVERYWHERE  Docking can be everywhere.


Constructor & Destructor Documentation

FX::FXDockBar::FXDockBar ( FXComposite p,
FXComposite q,
FXuint  opts = LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X,
FXint  x = 0,
FXint  y = 0,
FXint  w = 0,
FXint  h = 0,
FXint  pl = 3,
FXint  pr = 3,
FXint  pt = 2,
FXint  pb = 2,
FXint  hs = DEFAULT_SPACING,
FXint  vs = DEFAULT_SPACING 
)

Construct a floatable dock bar, with a default parent p and an alternate parent q.

To allow docking and dragging the default parent p must be of type FXDockSite, and the alternate parent q must be of type FXToolBarShell. Normally, the dock bar is docked under a window p of type FXDockSite. When floated, the toolbar can be docked under window q, which is usually an kind of FXToolBarShell window.

FX::FXDockBar::FXDockBar ( FXComposite p,
FXuint  opts,
FXint  x = 0,
FXint  y = 0,
FXint  w = 0,
FXint  h = 0,
FXint  pl = 2,
FXint  pr = 3,
FXint  pt = 3,
FXint  pb = 2,
FXint  hs = DEFAULT_SPACING,
FXint  vs = DEFAULT_SPACING 
)

Construct a non-floatable dock bar.

The dock bar can not be undocked.

virtual FX::FXDockBar::~FXDockBar (  )  [virtual]

Destroy.


Member Function Documentation

FXbool FX::FXDockBar::isDocked (  )  const

Return true if docked.

FXbool FX::FXDockBar::insideDock ( FXDockSite docksite,
FXint  barx,
FXint  bary 
)

Check if the dock bar would dock or undock if at locaton barx, bary.

void FX::FXDockBar::setDryDock ( FXComposite dry  ) 

Set parent when docked.

If it was docked, reparent under the new docking window.

void FX::FXDockBar::setWetDock ( FXComposite wet  ) 

Set parent when floating.

If it was undocked, then reparent under the new floating window.

FXComposite* FX::FXDockBar::getDryDock (  )  const [inline]

Return parent when docked.

FXComposite* FX::FXDockBar::getWetDock (  )  const [inline]

Return parent when floating.

FXDockSite* FX::FXDockBar::findDockAtSide ( FXuint  side = LAYOUT_SIDE_TOP  ) 

Search for dock against given side of main window.

FXDockSite* FX::FXDockBar::findDockNear ( FXint  rootx,
FXint  rooty 
)

Search for dock close to coordinates rootx, rooty.

virtual void FX::FXDockBar::dock ( FXDockSite docksite,
FXWindow other = NULL,
FXbool  notify = false 
) [virtual]

Dock the bar against the given side, after some other widget.

However, if after is -1, it will be docked as the innermost bar just before the work-area, while if after is 0, if will be docked as the outermost bar.

Reimplemented in FX::FXToolBar.

virtual void FX::FXDockBar::dock ( FXDockSite docksite,
FXint  localx,
FXint  localy,
FXbool  notify 
) [virtual]

Dock the bar against the given side, near the given position relative to the toolbar dock's origin.

Reimplemented in FX::FXToolBar.

virtual void FX::FXDockBar::undock ( FXint  rootx,
FXint  rooty,
FXbool  notify = false 
) [virtual]

Undock or float the bar.

The initial position of the wet dock is a few pixels below and to the right of the original docked position.

void FX::FXDockBar::allowedSides ( FXuchar  allow  )  [inline]

Change set of sides (a combination of ALLOW_TOP, ALLOW_LEFT, etc.

), where docking is allowed. The default is to allow docking on all sides.

FXuchar FX::FXDockBar::allowedSides (  )  const [inline]

Return set of sides where docking is allowed.

virtual void FX::FXDockBar::save ( FXStream store  )  const [virtual]

Save toolbar to a stream.

Reimplemented from FX::FXPacker.

virtual void FX::FXDockBar::load ( FXStream store  )  [virtual]

Load toolbar from a stream.

Reimplemented from FX::FXPacker.

Copyright © 1997-2009 Jeroen van der Zijp