3.43 slider%
Implements: control<%>
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.
(->newslider% (label_) (min-value_) (max-value_) (parent_) [(callback_)] [(init-value_)] [(style_)] [(font_)] [(enabled_)] [(vert-margin_)] [(horiz-margin_)] [(min-width_)] [(min-height_)] [(stretchable-width_)] [(stretchable-height_)])slider%object
label: string (up to 200 characters) or#f
min-value: exact integer in [-10000, 10000]
max-value: exact integer in [-10000, 10000]
parent:frame%,dialog%,panel%, orpane%object
callback=: procedure of two arguments: a(lambda(se) (void))slider%object and acontrol-event%object
init-value=: exact integer in [-10000, 10000]min-value
style='(horizontal): list of symbols in'(horizontal vertical plain vertical-label horizontal-label deleted)
font=:normal-control-fontfont%object
enabled=#t: boolean
vert-margin=2: exact integer in [0, 1000]
horiz-margin=2: exact integer in [0, 1000]
min-width=graphical minimum width: exact integer in [0, 10000]
min-height=graphical minimum width: exact integer in [0, 10000]
stretchable-width=#t for: boolean'horizontalstyle, #f for'vertical
stretchable-height=#t for: boolean'verticalstyle, #f for'horizontalIf
labelis a string, it is used as the label for the slider. Otherwise, the slider does not display its label.If an ampersand (``&'') occurs in
label, it is specially parsed; under Windows and X, the character following an ampersand is underlined in the displayed control to indicate a keyboard mnemonic. (Under Mac OS X, mnemonic underlines are not shown.) The underlined mnemonic character must be a letter or a digit. The user can move the keyboard focus to the slider by typing the mnemonic when the control's top-level-window contains the keyboard focus. The user must also hold down the Meta or Alt key if the keyboard focus is currently in a control that handles normal alphanumeric input. The ampersand itself is removed fromlabelbefore it is displayed for the control; a double-ampersand inlabelis converted to a single ampersand (with no mnemonic underlining). Under Mac OS X, a parenthesized mnemonic character is removed (along with any surrounding space) before the label is displayed, since a parenthesized mnemonic is often used for non-Roman languages. Finally, any text after a tab character is removed on all platforms. Mnemonic keyboard events are handled byon-traverse-char(but not under Mac OS X).The
min-valueandmax-valuearguments specify the range of the slider, inclusive. Theinit-valueargument optionally specifies the slider's initial value. If the sequence [min-value,initial-value,maximum-value] is not increasing, anexn:fail:contractexception is raised.The
callbackprocedure is called (with the event type'slider) when the user changes the slider's value.The
styleargument must include either'verticalfor a vertical slider, or'horizontalfor a horizontal slider. Ifstyleincludes'plain, the slider does not display numbers for its range and current value to the user. Ifstyleincludes'vertical-label, then the slider is created with a label above the control; ifstyledoes not include'vertical-label(and optionally includes'horizontal-label), then the label is created to the left of the slider. Ifstyleincludes'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 callingparent'sadd-childmethod.The
fontargument determines the font for the control. For information about theenabledargument, seewindow<%>. For information about thehoriz-marginandvert-marginarguments, seesubarea<%>. For information about themin-width,min-height,stretchable-width, andstretchable-heightarguments, seearea<%>.
All Methods
accept-drop-files from window<%>
client->screen from window<%>
command from control<%>
enable from window<%>
focus from window<%>
get-client-size from window<%>
get-cursor from window<%>
get-font from control<%>
get-graphical-min-size from area<%>
get-handle from window<%>
get-height from window<%>
get-label from window<%>
get-parent from area<%>
get-plain-label from window<%>
get-size from window<%>
get-top-level-window from area<%>
get-value from slider%
get-width from window<%>
get-x from window<%>
get-y from window<%>
has-focus? from window<%>
horiz-margin from subarea<%>
is-enabled? from window<%>
is-shown? from window<%>
min-height from area<%>
min-width from area<%>
on-drop-file from window<%>
on-focus from window<%>
on-move from window<%>
on-size from window<%>
on-subwindow-char from window<%>
on-subwindow-event from window<%>
on-superwindow-enable from window<%>
on-superwindow-show from window<%>
popup-menu from window<%>
refresh from window<%>
screen->client from window<%>
set-cursor from window<%>
set-label from window<%>
set-value from slider%
show from window<%>
stretchable-height from area<%>
stretchable-width from area<%>
vert-margin from subarea<%>