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

FX::FXDockBar Class Reference

#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
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

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.

Set parent when docked.

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

Set parent when floating.

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

Return parent when docked.

Return parent when floating.

Search for dock against given side of main window.

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.

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