Newer
Older
module Fox
#
# A button provides a push button, with optional icon and/or text label.
# When pressed, the button widget sends a <tt>SEL_COMMAND</tt> to its target.
# Passing the <tt>BUTTON_TOOLBAR</tt> style option gives buttons a "flat" look, and
# causes the edge of the button to be raised when the cursor moves over it.
# Passing <tt>BUTTON_DEFAULT</tt> 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 <tt>BUTTON_INITIAL</tt> 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 <tt>BUTTON_AUTOGRAY</tt> (<tt>BUTTON_AUTOHIDE</tt>) causes the button to be grayed
# out (hidden) if its handler does not respond to the <tt>SEL_UPDATE</tt> message.
# This is useful when messages are delegated, for example when using a
# multiple document interface, where the ultimate destination of a message
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# 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 (<tt>FRAME_RAISED|FRAME_THICK|JUSTIFY_NORMAL|ICON_BEFORE_TEXT</tt>)
#
class FXButton < FXLabel
# Button state (one of +STATE_UP+, +STATE_DOWN+, etc.) [Integer]
attr_accessor :state
# Button style flags (some combination of +BUTTON_AUTOGRAY+, +BUTTON_AUTOHIDE+, etc.) [Integer]
attr_accessor :buttonStyle
# Construct button with specified _text_ and _icon_.
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
end
end