NAME
FLTK::Button - Push button widget
Description
Buttons generate callbacks when they are clicked by the user. You control exactly when and how by changing the values for when()
:
FLTK::WHEN_NEVER
The callback is not done, insteadchanged()
is turned on.
Buttons can also generate callbacks in response to FLTK::SHORTCUT
events. The button can either have an explicit shortcut()
value or a letter shortcut can be indicated in the label()
with an &
character before it. For the label shortcut it does not matter if Alt
is held down, but if you have an input field in the same window, the user will have to hold down the Alt
key so that the input field does not eat the event first as an FLTK::KEY
event.
Functions
HIDDEN
default_style
-
Get the style
-
Set the style.
new
-
Creates a new
FLTK::Button
object. Obviously.
value
-
Change the
value()
. Redraws the button and returns true if the new value is different. This is the same function asWidget::state()
. See alsoWidget::set()
,Widget::clear()
, andWidget::setonly()
.If you turn it on, a normal button will draw pushed-in, until the user clicks it and releases it.
-
The current value.
true
means it is pushed down,false
means it is not pushed down. The ToggleButton subclass provides the ability for the user to change this value permanently, otherwise it is just temporary while the user is holding the button down.This is the same as Widget::state().
Subclassing FLTK::Button
Blah, blah, blah...
draw( $glyph_width )
This function provides a mess of back-compatabilty and Windows emulation to subclasses of Button to draw with. It will draw the button according to the current state of being pushed and it's state()
. If non-zero is passed for GLYPH_WIDTH
then the glyph()
is drawn in that space on the left (or on the right if negative), and it assummes the glyph indicates the state()
, so the box is only used to indicate the pushed state.
Author
Sanko Robinson <sanko@cpan.org> - http://sankorobinson.com/
License and Legal
Copyright (C) 2008-2010 by Sanko Robinson <sanko@cpan.org>
This program is free software; you can redistribute it and/or modify it under the terms of The Artistic License 2.0. See the LICENSE file included with this distribution or notes on the Artistic License 2.0 for clarification.
When separated from the distribution, all original POD documentation is covered by the Creative Commons Attribution-Share Alike 3.0 License. See the clarification of the CCA-SA3.0.