On this page:
new
get-value
set-value
Inherited methods:
from control<%>
command
from subwindow<%>
reparent
from window<%>
accept-drop-files
client->screen
enable
focus
get-client-handle
get-client-size
get-cursor
get-handle
get-height
get-label
get-plain-label
get-size
get-width
get-x
get-y
has-focus?
is-enabled?
is-shown?
on-drop-file
on-focus
on-move
on-size
on-subwindow-char
on-subwindow-event
on-subwindow-focus
on-superwindow-enable
on-superwindow-show
popup-menu
refresh
screen->client
set-cursor
set-label
show
warp-pointer
from area<%>
get-graphical-min-size
get-parent
get-top-level-window
min-height
min-width
stretchable-height
stretchable-width
from subarea<%>
horiz-margin
vert-margin

class

slider% : class?

  superclass: object%

  extends: 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.

constructor

(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? #f)
  min-value : (integer-in -10000 10000)
  max-value : (integer-in -10000 10000)
  parent : 
(or/c (is-a?/c frame%) (is-a?/c dialog%)
      (is-a?/c panel%) (is-a?/c pane%))
  callback : ((is-a?/c slider%) (is-a?/c control-event%) . -> . any)
   = (lambda (b e) (void))
  init-value : (integer-in -10000 10000) = min-value
  style : 
(listof (or/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<%>.

method

(send a-slider get-value)  (integer-in -10000 10000)

Gets the current slider value.

method

(send a-slider set-value value)  void?

  value : (integer-in -10000 10000)
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.