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_WRAP
-
Dockbars are wrapped to another galley when not enough space on current galley
DOCKSITE_NO_WRAP
-
Never 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_WRAP
option.). -
#wrapGalleys? ⇒ Boolean
Return
true
if theDOCKSITE_WRAP
option 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:
bar
-
a reference to the newly docked dockbar Fox::FXDockBarFox::FXDockBar
barx
-
x-coordinate of the docking position [Integer]
bary
-
y-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:
bar
-
a reference to the dockbar that’s being dragged Fox::FXDockBar
barx
-
current 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:
bar
-
a 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 |