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 *before=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
 

Enumeration values:
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
 

Enumeration values:
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 before = 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-2005 Jeroen van der Zijp