Class: Fox::FXDockSite
- Inherits:
-
FXPacker
- Object
- FXObject
- FXId
- FXDrawable
- FXWindow
- FXComposite
- FXPacker
- Fox::FXDockSite
- Defined in:
- rdoc-sources/FXDockSite.rb
Overview
The dock site widget is a widget where dock bars can be docked.
Dock site widgets are typically embedded inside the main window, placed
against those sides where docking of toolbars is to be allowed.
Dock bars placed inside a dock site are laid out in horizontal or vertical bands
called galleys. A toolbar with the LAYOUT_DOCK_SAME hint is preferentially placed
on the same galley as its previous sibling. A dock bar with the LAYOUT_DOCK_NEXT is
always placed on the next galley.
Each galley will have at least one dock bar shown in it. Several dock bars
may be placed side-by-side inside one galley, unless there is insufficient
room. If there is insufficient room to place another dock bar, that dock bar
will be moved to the next galley, even though its LAYOUT_DOCK_NEXT option
is not set. This implies that when the main window is resized, and more room
becomes available, it will jump back to its preferred galley.
Within a galley, dock bars will be placed from left to right, at the given
x and y coordinates, with the constraints that the dock bar will stay within
the galley, and do not overlap each other. It is possible to use LAYOUT_FILL_X
and/or LAYOUT_FILL_Y to stretch a toolbar to the available space on its galley.
The galleys are oriented horizontally if the dock site is placed inside
a top level window using LAYOUT_SIDE_TOP or LAYOUT_SIDE_BOTTOM, and
vertically oriented if placed with LAYOUT_SIDE_LEFT or LAYOUT_SIDE_RIGHT.
Dock Site Options
DOCKSITE_WRAPDockbars are wrapped to another galley when not enough space on current galley
DOCKSITE_NO_WRAPNever wrap dockbars to another galley even if not enough space
Instance Attribute Summary
Attributes inherited from FXPacker
#baseColor, #borderColor, #borderWidth, #frameStyle, #hSpacing, #hiliteColor, #packingHints, #padBottom, #padLeft, #padRight, #padTop, #shadowColor, #vSpacing
Attributes inherited from FXWindow
#accelTable, #backColor, #defaultCursor, #dragCursor, #first, #focus, #key, #last, #layoutHints, #next, #numChildren, #owner, #parent, #prev, #root, #selector, #shell, #target, #x, #y
Attributes inherited from FXDrawable
Attributes inherited from FXId
Instance Method Summary collapse
-
#dockToolBar(bar, barx, bary) ⇒ Object
The dock site is informed that the given bar has been docked at the given coordinates.
-
#initialize(p, opts = 0, x = 0, y = 0, width = 0, height = 0, padLeft = 0, padRight = 0, padTop = 0, padBottom = 0, hSpacing = 0, vSpacing = 0) ⇒ FXDockSite
constructor
Construct a toolbar dock layout manager.
-
#moveToolBar(bar, barx, bary) ⇒ Object
Move tool bar, changing its options to suit the new position.
-
#undockToolBar(bar) ⇒ Object
The dock site is informed that the given bar has been removed.
-
#wrapGalleys=(wrap) ⇒ Object
If wrap is
true, allow the wrapping of dockbars (i.e. set theDOCKSITE_WRAPoption.). -
#wrapGalleys? ⇒ Boolean
Return
trueif theDOCKSITE_WRAPoption is set, indicating that dockbars will be wrapped to another galley if there's not enough space on current galley.
Methods inherited from FXComposite
#maxChildHeight, #maxChildWidth
Methods inherited from FXWindow
#acceptDrop, #acquireClipboard, #acquireSelection, #active?, #addHotKey, #after?, after?, #before?, before?, #beginDrag, #canFocus?, #changeFocus, #childAtIndex, #childOf?, #children, #clearDragRectangle, #clearShape, colorType, colorTypeName, commonAncestor, #composeContext, #composite?, #contains?, #containsChild?, #create, #createComposeContext, #cursorPosition, #default?, #defaultHeight, #defaultWidth, deleteType, deleteTypeName, #destroy, #destroyComposeContext, #detach, #didAccept, #disable, #doesSaveUnder?, #dragging?, #dropDisable, #dropEnable, #dropEnabled?, #dropFinished, #dropTarget?, #each_child, #each_child_recursive, #enable, #enabled?, #endDrag, #forceRefresh, #getChildAt, #getDNDData, #getHeightForWidth, #getWidthForHeight, #grab, #grabKeyboard, #grabbed?, #grabbedKeyboard?, #handleDrag, #hasClipboard?, #hasFocus?, #hasSelection?, #height, #height=, #hide, imageType, #inFocusChain?, #indexOfChild, #initial?, #inquireDNDAction, #inquireDNDTypes, #killFocus, #layout, #linkAfter, #linkBefore, #lower, #move, octetType, octetTypeName, #offeredDNDType?, #position, #raiseWindow, #recalc, #releaseClipboard, #releaseSelection, #remHotKey, #removeChild, #repaint, #reparent, #resize, #scroll, #setCursorPosition, #setDNDData, #setDefault, #setDragRectangle, #setFocus, #setInitial, #setShape, #shell?, #show, #shown?, stringType, textType, textTypeName, #tr, #translateCoordinatesFrom, #translateCoordinatesTo, #underCursor?, #ungrab, #ungrabKeyboard, #update, urilistType, urilistTypeName, utf16Type, utf16TypeName, utf8Type, utf8TypeName, #visible=, #width, #width=
Methods included from Responder2
Methods inherited from FXDrawable
Methods inherited from FXId
#create, #created?, #destroy, #detach, #runOnUiThread
Methods inherited from FXObject
#bind, #handle, #load, #save, subclasses
Constructor Details
#initialize(p, opts = 0, x = 0, y = 0, width = 0, height = 0, padLeft = 0, padRight = 0, padTop = 0, padBottom = 0, hSpacing = 0, vSpacing = 0) ⇒ FXDockSite
Construct a toolbar dock layout manager. Passing LAYOUT_SIDE_TOP or LAYOUT_SIDE_BOTTOM
causes the toolbar dock to be oriented horizontally. Passing LAYOUT_SIDE_LEFT or
LAYOUT_SIDE_RIGHT causes it to be oriented vertically.
35 36 |
# File 'rdoc-sources/FXDockSite.rb', line 35 def initialize(p, opts=0, x=0, y=0, width=0, height=0, padLeft=0, padRight=0, padTop=0, padBottom=0, hSpacing=0, vSpacing=0) # :yields: theDockSite end |
Instance Method Details
#dockToolBar(bar, barx, bary) ⇒ Object
The dock site is informed that the given bar has been docked at the given coordinates. The default implementation determines where to insert the newly docked bar and adjusts the layout options of the bars accordingly.
Parameters:
bara reference to the newly docked dockbar Fox::FXDockBarFox::FXDockBar
barxx-coordinate of the docking position [Integer]
baryy-coordinate of the docking position [Integer]
62 |
# File 'rdoc-sources/FXDockSite.rb', line 62 def dockToolBar(, before); end |
#moveToolBar(bar, barx, bary) ⇒ Object
Move tool bar, changing its options to suit the new position. Used by the toolbar dragging to rearrange the toolbars inside the toolbar dock.
Parameters:
bara reference to the dockbar that's being dragged Fox::FXDockBar
barxcurrent x-coordinate of the dockbar [Integer]
bary current y-coordinate of the dockbar [Integer]
49 |
# File 'rdoc-sources/FXDockSite.rb', line 49 def moveToolBar(, , ); end |
#undockToolBar(bar) ⇒ Object
The dock site is informed that the given bar has been removed. In the default implementation, the dock site fixes the layout options of the remaining bars so they stay in the same place if possible.
Parameters:
bara reference to the removed dockbar Fox::FXDockBar
88 |
# File 'rdoc-sources/FXDockSite.rb', line 88 def undockToolBar(); end |
#wrapGalleys=(wrap) ⇒ Object
If wrap is true, allow the wrapping of dockbars (i.e. set the
DOCKSITE_WRAP option.)
94 |
# File 'rdoc-sources/FXDockSite.rb', line 94 def wrapGalleys=(wrap); end |
#wrapGalleys? ⇒ Boolean
Return true if the DOCKSITE_WRAP option is set, indicating that
dockbars will be wrapped to another galley if there's not enough space on
current galley.
101 |
# File 'rdoc-sources/FXDockSite.rb', line 101 def wrapGalleys?; end |