Newer
Older
module Fox
#
# The toggle button provides a two-state button, which toggles between the
# on and the off state each time it is pressed. For each state, the toggle
# button has a unique icon and text label.
#
# === Events
#
# The following messages are sent by FXToggleButton to its target:
#
Lars Kanis
committed
# +SEL_COMMAND+:: sent when the toggle button is pressed.
# +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.
Lars Kanis
committed
# +TOGGLEBUTTON_AUTOGRAY+:: Automatically gray out when not updated
# +TOGGLEBUTTON_AUTOHIDE+:: Automatically hide toggle button when not updated
# +TOGGLEBUTTON_TOOLBAR+:: Toolbar style toggle button [flat look]
# +TOGGLEBUTTON_KEEPSTATE+:: Draw button according to state
Lars Kanis
committed
# +TOGGLEBUTTON_NORMAL+:: <tt>FRAME_RAISED|FRAME_THICK|JUSTIFY_NORMAL|ICON_BEFORE_TEXT</tt>
#
class FXToggleButton < FXLabel
# Alternate text, shown when toggled [String]
Lars Kanis
committed
attr_accessor :altText
# Alternate icon, shown when toggled {FXIcon}
Lars Kanis
committed
attr_accessor :altIcon
# Toggled state [+true+ or +false+]
Lars Kanis
committed
attr_accessor :state
# Alternate status line help text, shown when toggled [String]
Lars Kanis
committed
attr_accessor :altHelpText
# Alternate tool tip message, shown when toggled [String]
Lars Kanis
committed
attr_accessor :altTipText
Lars Kanis
committed
attr_accessor :toggleStyle
#
# Return an initialized FXToggleButton instance.
#
# ==== Parameters:
#
# +p+:: the parent window for this toggle button {FXComposite}
Lars Kanis
committed
# <tt>text1</tt>:: the text for this toggle button's first state [String]
# <tt>text2</tt>:: the text for this toggle button's second state [String]
# <tt>icon1</tt>:: the icon, if any, for this toggle button's first state {FXIcon}
# <tt>icon2</tt>:: the icon, if any, for this toggle button's second state {FXIcon}
# +target+:: the message target, if any, for this toggle button {FXObject}
Lars Kanis
committed
# +selector+:: the message identifier for this toggle button [Integer]
# +opts+:: toggle button 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]
#
def initialize(p, text1, text2, icon1=nil, icon2=nil, target=nil, selector=0, opts=TOGGLEBUTTON_NORMAL, x=0, y=0, width=0, height=0, padLeft=DEFAULT_PAD, padRight=DEFAULT_PAD, padTop=DEFAULT_PAD, padBottom=DEFAULT_PAD) # :yields: theToggleButton
end
end
end