![]() |
Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members
|
A dock bar widget can be docked inside a dock site widget, or floated around freely. More...
#include <FXDockBar.h>
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 | |
| long | onCmdUndock (FXObject *, FXSelector, void *) |
| long | onUpdUndock (FXObject *, FXSelector, void *) |
| long | onCmdDockTop (FXObject *, FXSelector, void *) |
| long | onUpdDockTop (FXObject *, FXSelector, void *) |
| long | onCmdDockBottom (FXObject *, FXSelector, void *) |
| long | onUpdDockBottom (FXObject *, FXSelector, void *) |
| long | onCmdDockLeft (FXObject *, FXSelector, void *) |
| long | onUpdDockLeft (FXObject *, FXSelector, void *) |
| long | onCmdDockRight (FXObject *, FXSelector, void *) |
| long | onUpdDockRight (FXObject *, FXSelector, void *) |
| long | onUpdDockFlip (FXObject *, FXSelector, void *) |
| long | onBeginDragGrip (FXObject *, FXSelector, void *) |
| long | onEndDragGrip (FXObject *, FXSelector, void *) |
| long | onDraggedGrip (FXObject *, FXSelector, void *) |
| long | onPopupMenu (FXObject *, FXSelector, void *) |
| long | onDockTimer (FXObject *, FXSelector, void *) |
| 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. | |
| 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. | |
| FXbool | isDocked () const |
| Return true if docked. | |
| FXbool | insideDock (FXDockSite *docksite, FXint barx, FXint bary) |
| Check if the dock bar would dock or undock if at locaton barx, bary. | |
| void | setDryDock (FXComposite *dry) |
| Set parent when docked. | |
| void | setWetDock (FXComposite *wet) |
| Set parent when floating. | |
| FXComposite * | getDryDock () const |
| Return parent when docked. | |
| FXComposite * | getWetDock () const |
| Return parent when floating. | |
| FXDockSite * | findDockAtSide (FXuint side=LAYOUT_SIDE_TOP) |
| Search for dock against given side of main window. | |
| FXDockSite * | findDockNear (FXint rootx, FXint rooty) |
| Search for dock close to coordinates rootx, rooty. | |
| virtual void | dock (FXDockSite *docksite, FXWindow *other=NULL, FXbool notify=false) |
| Dock the bar against the given side, after some other widget. | |
| virtual void | dock (FXDockSite *docksite, FXint localx, FXint localy, FXbool notify) |
| Dock the bar against the given side, near the given position relative to the toolbar dock's origin. | |
| virtual void | undock (FXint rootx, FXint rooty, FXbool notify=false) |
| Undock or float the bar. | |
| void | allowedSides (FXuchar allow) |
| Change set of sides (a combination of ALLOW_TOP, ALLOW_LEFT, etc.), where docking is allowed. | |
| FXuchar | allowedSides () const |
| Return set of sides where docking is allowed. | |
| virtual void | save (FXStream &store) const |
| Save toolbar to a stream. | |
| virtual void | load (FXStream &store) |
| Load toolbar from a stream. | |
| virtual | ~FXDockBar () |
| Destroy. | |
Protected Types | |
| enum | { DRAG_NONE = 0, DRAG_TOP = 1, DRAG_BOTTOM = 2, DRAG_LEFT = 4, DRAG_RIGHT = 8, DRAG_TOPLEFT = (DRAG_TOP|DRAG_LEFT), DRAG_TOPRIGHT = (DRAG_TOP|DRAG_RIGHT), DRAG_BOTTOMLEFT = (DRAG_BOTTOM|DRAG_LEFT), DRAG_BOTTOMRIGHT = (DRAG_BOTTOM|DRAG_RIGHT) } |
Protected Member Functions | |
| FXbool | isAllowable (FXuint hints) const |
Protected Attributes | |
| FXComposite * | drydock |
| FXComposite * | wetdock |
| FXint | gripx |
| FXint | gripy |
| FXuchar | allowed |
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.
| anonymous enum |
| anonymous enum |
| 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.
| 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.
| 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.
| 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.
| 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.
|
|