Class: Fox::FXButton
- Defined in:
- rdoc-sources/FXButton.rb
Overview
A button provides a push button, with optional icon and/or text label. When pressed, the button widget sends a SEL_COMMAND
to its target. Passing the BUTTON_TOOLBAR
style option gives buttons a “flat” look, and causes the edge of the button to be raised when the cursor moves over it. Passing BUTTON_DEFAULT
allows the button to become the default button in a dialog, when the focus moves to it. The default widget in a dialog is the widget which will accept the Return key when it is pressed. The BUTTON_INITIAL
flag makes the button the default widget when the focus moves to a widget which can not itself be a default widget. There should be only a single button in the dialog which is the initial default; typically this is the OK or Close button. The option BUTTON_AUTOGRAY
(BUTTON_AUTOHIDE
) causes the button to be grayed out (hidden) if its handler does not respond to the SEL_UPDATE
message. This is useful when messages are delegated, for example when using a multiple document interface, where the ultimate destination of a message can be changed.
Events
The following messages are sent by FXButton to its target:
SEL_KEYPRESS
-
sent when a key goes down; the message data is an FXEvent instance.
SEL_KEYRELEASE
-
sent when a key goes up; the message data is an FXEvent instance.
SEL_LEFTBUTTONPRESS
-
sent when the left mouse button goes down; the message data is an FXEvent instance.
SEL_LEFTBUTTONRELEASE
-
sent when the left mouse button goes up; the message data is an FXEvent instance.
SEL_COMMAND
-
sent when the button is clicked.
Button state bits
STATE_UP
-
Button is up
STATE_DOWN
-
Button is down
STATE_ENGAGED
-
Button is engaged
STATE_UNCHECKED
-
Same as
STATE_UP
(used for check buttons or radio buttons) STATE_CHECKED
-
Same as
STATE_ENGAGED
(used for check buttons or radio buttons)
Button flags
BUTTON_AUTOGRAY
-
Automatically gray out when not updated
BUTTON_AUTOHIDE
-
Automatically hide button when not updated
BUTTON_TOOLBAR
-
Toolbar style button [flat look]
BUTTON_DEFAULT
-
May become default button when receiving focus
BUTTON_INITIAL
-
This button is the initial default button
BUTTON_NORMAL
-
Default button flags (
FRAME_RAISED|FRAME_THICK|JUSTIFY_NORMAL|ICON_BEFORE_TEXT
)
Direct Known Subclasses
FXMDIDeleteButton, FXMDIMaximizeButton, FXMDIMinimizeButton, FXMDIRestoreButton, FXPicker
Instance Attribute Summary collapse
-
#buttonStyle ⇒ Object
Button style flags (some combination of
BUTTON_AUTOGRAY
,BUTTON_AUTOHIDE
, etc.) [Integer]. -
#state ⇒ Object
Button state (one of
STATE_UP
,STATE_DOWN
, etc.) [Integer].
Attributes inherited from FXLabel
#font, #helpText, #icon, #iconPosition, #justify, #text, #textColor, #tipText
Attributes inherited from FXFrame
#baseColor, #borderColor, #borderWidth, #frameStyle, #hiliteColor, #padBottom, #padLeft, #padRight, #padTop, #shadowColor
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
-
#initialize(parent, text, icon = nil, target = nil, selector = 0, opts = BUTTON_NORMAL, x = 0, y = 0, width = 0, height = 0, padLeft = DEFAULT_PAD, padRight = DEFAULT_PAD, padTop = DEFAULT_PAD, padBottom = DEFAULT_PAD) ⇒ FXButton
constructor
Construct button with specified text and icon.
Methods inherited from FXLabel
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(parent, text, icon = nil, target = nil, selector = 0, opts = BUTTON_NORMAL, x = 0, y = 0, width = 0, height = 0, padLeft = DEFAULT_PAD, padRight = DEFAULT_PAD, padTop = DEFAULT_PAD, padBottom = DEFAULT_PAD) ⇒ FXButton
Construct button with specified text and icon.
56 57 |
# File 'rdoc-sources/FXButton.rb', line 56 def initialize(parent, text, icon=nil, target=nil, selector=0, opts=BUTTON_NORMAL, x=0, y=0, width=0, height=0, padLeft=DEFAULT_PAD, padRight=DEFAULT_PAD, padTop=DEFAULT_PAD, padBottom=DEFAULT_PAD) # :yields: theButton end |
Instance Attribute Details
#buttonStyle ⇒ Object
Button style flags (some combination of BUTTON_AUTOGRAY
, BUTTON_AUTOHIDE
, etc.) [Integer]
53 54 55 |
# File 'rdoc-sources/FXButton.rb', line 53 def @buttonStyle end |
#state ⇒ Object
Button state (one of STATE_UP
, STATE_DOWN
, etc.) [Integer]
50 51 52 |
# File 'rdoc-sources/FXButton.rb', line 50 def state @state end |