A slider object is a panel item with a handle that the user can
drag to change the control’s value. Each slider has a fixed minimum
and maximum value.
Whenever the user changes the value of a slider, its callback
procedure is invoked. A callback procedure is provided as an
initialization argument when each slider is created.
(new slider% | | [label label] | | | | [min-value min-value] | | | | [max-value max-value] | | | | [parent parent] | | | [ | [callback callback] | | | | [init-value init-value] | | | | [style style] | | | | [font font] | | | | [enabled enabled] | | | | [vert-margin vert-margin] | | | | [horiz-margin horiz-margin] | | | | [min-width min-width] | | | | [min-height min-height] | | | | [stretchable-width stretchable-width] | | | | [stretchable-height stretchable-height]]) | |
|
→ (is-a?/c slider%) |
label : (or/c label-string? false/c) |
min-value : (integer-in -10000 10000) |
max-value : (integer-in -10000 10000) |
|
|
init-value : (integer-in -10000 10000) = min-value |
| style | | : | | (listof (one-of/c 'horizontal 'vertical 'plain | 'vertical-label 'horizontal-label | 'deleted)) |
| | | | = | | '(horizontal) |
|
font : (is-a?/c font%) = normal-control-font |
enabled : any/c = #t |
vert-margin : (integer-in 0 1000) = 2 |
horiz-margin : (integer-in 0 1000) = 2 |
min-width : (integer-in 0 10000) = graphical-minimum-width |
min-height : (integer-in 0 10000) = graphical-minimum-height |
stretchable-width : any/c = (memq 'horizontal style) |
stretchable-height : any/c = (memq 'vertical style) |
If label is a string, it is used as the label for the slider.
Otherwise, the slider does not display its label.
If & occurs in label, it
is specially parsed as for button%.
The min-value and max-value arguments specify the
range of the slider, inclusive. The init-value argument
optionally specifies the slider’s initial value. If the sequence
[min-value, initial-value, maximum-value]
is not increasing, an exn:fail:contract exception is raised.
The callback procedure is called (with the event type
'slider) when the user changes the slider’s value.
The style argument must include either 'vertical for
a vertical slider, or 'horizontal for a horizontal
slider. If style includes 'plain, the slider does
not display numbers for its range and current value to the user.
If style includes 'vertical-label, then the slider is
created with a label above the control; if style does not include
'vertical-label (and optionally includes 'horizontal-label), then the
label is created to the left of the slider. If style includes 'deleted, then the slider is created as hidden,
and it does not affect its parent’s geometry; the slider can be made active later by calling
parent’s add-child method.
The font argument determines the font for the control. For information about the enabled argument, see window<%>. For information about the horiz-margin and vert-margin
arguments, see subarea<%>. For information about the
min-width, min-height, stretchable-width, and
stretchable-height arguments, see area<%>.
Gets the current slider value.
Sets the value (and displayed position) of the slider. (The control’s
callback procedure is not invoked.) If value is
outside the slider’s minimum and maximum range, an exn:fail:contract exception is raised.
A slider’s value can be changed
by the user clicking the control, and such changes do not go through this method; use the control callback procedure (provided as an initialization argument) to
monitor value changes.