Class: Fox::FXSwitcher

Inherits:
FXPacker show all
Defined in:
rdoc-sources/FXSwitcher.rb

Overview

The FXSwitcher layout manager automatically arranges its child windows such that one of them is placed on top; all other child windows are hidden. Switcher provides a convenient method to conserve screen real-estate by arranging several GUI panels to appear in the same space, depending on context. Switcher ignores all layout hints from its children; all children are stretched according to the switcher layout managers own size. When the SWITCHER_HCOLLAPSE or SWITCHER_VCOLLAPSE options are used, the switcher's default size is based on the width or height of the current child, instead of the maximum width or height of all of the children.

Events

The following messages are sent by FXSwitcher to its target:

SEL_COMMAND

sent whenever the current (topmost) child window changes; the message data is an integer indicating the new current window's index.

Switcher options

SWITCHER_HCOLLAPSE

Collapse horizontally to width of current child

SWITCHER_VCOLLAPSE

Collapse vertically to height of current child

Message identifiers

ID_OPEN_FIRST

x

ID_OPEN_SECOND

x

ID_OPEN_THIRD

x

ID_OPEN_FOURTH

x

ID_OPEN_FIFTH

x

ID_OPEN_SIXTH

x

ID_OPEN_SEVENTH

x

ID_OPEN_EIGHTH

x

ID_OPEN_NINETH

x

ID_OPEN_TENTH

x

ID_OPEN_LAST

x

Instance Attribute Summary collapse

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

#height, #visual, #width

Attributes inherited from FXId

#app, #userData, #xid

Instance Method Summary collapse

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

#connect

Methods inherited from FXDrawable

#resize

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 = DEFAULT_SPACING, padRight = DEFAULT_SPACING, padTop = DEFAULT_SPACING, padBottom = DEFAULT_SPACING) ⇒ FXSwitcher

Return an initialized FXSwitcher instance.

Parameters:

p

the parent window for this switcher Fox::FXComposite

opts

switcher options [Integer]

x

initial x-position [Integer]

y

initial y-position [Integer]

width

initial width [Integer]

height

initial height [Integer]

padLeft

internal padding on the left side, in pixels [Integer]

padRight

internal padding on the right side, in pixels [Integer]

padTop

internal padding on the top side, in pixels [Integer]

padBottom

internal padding on the bottom side, in pixels [Integer]


67
68
# File 'rdoc-sources/FXSwitcher.rb', line 67

def initialize(p, opts=0, x=0, y=0, width=0, height=0, padLeft=DEFAULT_SPACING, padRight=DEFAULT_SPACING, padTop=DEFAULT_SPACING, padBottom=DEFAULT_SPACING) # :yields: theSwitcher
end

Instance Attribute Details

#currentObject

Current child window's index [Integer]


46
47
48
# File 'rdoc-sources/FXSwitcher.rb', line 46

def current
  @current
end

#switcherStyleObject

Switcher style flags [Integer]


49
50
51
# File 'rdoc-sources/FXSwitcher.rb', line 49

def switcherStyle
  @switcherStyle
end

Instance Method Details

#setCurrent(index, notify = false) ⇒ Object

Raise the child window at index to the top of the stack. If notify is true, a SEL_COMMAND message is sent to the switcher's message target Raises IndexError if index is out of bounds.


75
# File 'rdoc-sources/FXSwitcher.rb', line 75

def setCurrent(index, notify=false); end