Class: Fox::FXSpring

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

Overview

The spring widgets, when properly embedded side by side in a horizontal frame or vertical frame widget, behave like a set of connected springs of various lengths.

The third and fourth arguments to the FXSpring.new method (relw and relh) determine the “length” of the spring. You can also change these settings after the widget is constructed using the #relativeWidth and #relativeHeight accessor methods. The actual length that you specify is not really important; the only thing that counts is the relative length of one spring widget to that of another, although the length does determine the default size. The special value zero may be given for relw (or relh) to cause the spring to calculate its default width (height) normally, just like the FXPacker base class does.

In a typical scenario, either the relative width or height is set to zero, an the flag LAYOUT_FILL_X or LAYOUT_FILL_Y is passed. When placed inside a horizontal frame, the LAYOUT_FILL_X together with the relative widths of the springs will cause a fixed width-ratio between the springs.

You also can mix normal controls and springs together in a horizontal or vertical frames to provide arbitrary stretchable spacing between widgets; in this case, the springs do not need to have any children. Since the spring widget is derived from the FXPacker layout manager, it provides the same layout behavior as FXPacker.

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, relw = 0, relh = 0, x = 0, y = 0, width = 0, height = 0, padLeft = DEFAULT_SPACING, padRight = DEFAULT_SPACING, padTop = DEFAULT_SPACING, padBottom = DEFAULT_SPACING, hSpacing = DEFAULT_SPACING, vSpacing = DEFAULT_SPACING) ⇒ FXSpring

Return an initialized FXSpring instance.

Parameters:

p

the parent widget for this spring Fox::FXComposite

relw

the relative width [Integer]

relh

the relative height [Integer]

opts

the options [Integer]

x

initial x-position [Integer]

y

initial y-position [Integer]

width

initial width [Integer]

height

initial height [Integer]

padLeft

left-side padding (in pixels) [Integer]

padRight

right-side padding (in pixels) [Integer]

padTop

top-side padding (in pixels) [Integer]

padBottom

bottom-side padding (in pixels) [Integer]

hSpacing

horizontal spacing (in pixels) [Integer]

vSpacing

vertical spacing (in pixels) [Integer]



57
58
# File 'rdoc-sources/FXSpring.rb', line 57

def initialize(p, opts=0, relw=0, relh=0, x=0, y=0, width=0, height=0, padLeft=DEFAULT_SPACING, padRight=DEFAULT_SPACING, padTop=DEFAULT_SPACING, padBottom=DEFAULT_SPACING, hSpacing=DEFAULT_SPACING, vSpacing=DEFAULT_SPACING) # :yields: theSpring
end

Instance Attribute Details

#relativeHeightObject

Relative height [Integer]



35
36
37
# File 'rdoc-sources/FXSpring.rb', line 35

def relativeHeight
  @relativeHeight
end

#relativeWidthObject

Relative width [Integer]



32
33
34
# File 'rdoc-sources/FXSpring.rb', line 32

def relativeWidth
  @relativeWidth
end