13 Switchable Button
(require mrlib/switchable-button) |
|
superclass: canvas% |
A switchable-button% control displays
and icon and a string label. It toggles between
display of just the icon and a display with the
label and the icon side-by-side.
The panel:discrete-sizes-mixin explicitly
uses switchable-button%s via their
get-small-width,
get-large-width, and
get-without-label-small-width methods.
See panel:discrete-sizes-mixin for more details.
constructor
(new switchable-button% [label label] [bitmap bitmap] [callback callback] [ [alternate-bitmap alternate-bitmap] [vertical-tight? vertical-tight?] [min-width-includes-label? min-width-includes-label?]] ...superclass-args...) → (is-a?/c switchable-button%) label : (or/c string? (is-a?/c bitmap%) #f) bitmap : (is-a?/c bitmap%) callback : (-> (is-a?/c switchable-button%) any/c) alternate-bitmap : (is-a?/c bitmap%) = bitmap vertical-tight? : boolean? = #f min-width-includes-label? : boolean? = #f The callback is called when the button is pressed. The label and bitmap are used as discussed above.If alternate-bitmap is supplied, then it is used when the label is not visible (via a call to set-label-visible). If it is not supplied, both modes show bitmap.
If the vertical-tight? argument is #t, then the button takes up as little as possible vertical space.
If the min-width-includes-label? is #t, then the minimum width includes both the bitmap and the label. Otherwise, it includes only the bitmap.
method
(send a-switchable-button set-label-visible visible?) → void?
visible? : boolean? Sets the visibility of the string part of the label.Calls the button’s callback function.
method
(send a-switchable-button get-button-label) → string?
Returns the label of this button.
method
(send a-switchable-button get-large-width)
→ exact-nonnegative-integer? Returns the width of the button when it would show both the label and the bitmap and when it is in label-visible mode (i.e., when set-label-visible has been called with #t).
method
(send a-switchable-button get-small-width)
→ exact-nonnegative-integer? Returns the width of the button when it would show both just the bitmap (not the alternate bitmap), and when it is in label-visible mode (i.e., when set-label-visible has been called with #t).
method
(send a-switchable-button get-without-label-small-width)
→ exact-nonnegative-integer? Returns the width of the button when it is not in label-visible mode (i.e., when set-label-visible has been called with #f).