linux: shared memory interface - link with librt
[supercollider.git] / HelpSource / Classes / Slider.schelp
blob8250146330ad2ab3e1cef84c383c98dabc334d79
1 CLASS:: Slider
2 redirect:: implClass
3 summary:: A view consisting of a sliding handle.
4 categories:: GUI>Views
6 DESCRIPTION::
8 A view that allows setting a numerical value by means of moving a sliding handle. It can have horizontal or vertical orientation, meaning the direction in which the handle moves.
13 CLASSMETHODS::
15 PRIVATE:: key
17 METHOD:: new
19         When a new Slider is created, its link::#-orientation:: is determined by the initial size: if it is wider than high, the orientation will be horizontal, otherwise it will be vertical.
25 INSTANCEMETHODS::
29 SUBSECTION:: Data
31 METHOD:: value
32         Numerical value between 0 and 1, represented by the handle position within the groove.
34         argument::
35                 A Float.
37 METHOD:: valueAction
38         Sets link::#-value:: and triggeres link::#-action::.
40 METHOD:: increment
41         Increments the value by link::#-step:: multiplied by 'factor'.
43         argument:: factor
44                 Any number.
46 METHOD:: decrement
47         Decrements the value by link::#-step:: multiplied by 'factor'.
49         argument:: factor
50                 Any number.
55 SUBSECTION:: Appearance
57 METHOD:: orientation
58         The orientation of the Slider - the direction in which the handle moves. The default value depends on the size of the view when created.
60         argument::
61                 One of the two Symbols: \horizontal or \vertical.
63 METHOD:: thumbSize
64         The size of the handle - its width or height, depending on link::#-orientation::.
66         argument::
67                 An Integer amount of pixels.
69 METHOD:: knobColor
70         The color of the handle.
72         argument::
73                 A Color.
77 SUBSECTION:: Interaction
79 METHOD:: step
80         The amount by which the value will changed when link::#-increment:: or link::#-decrement:: is called, or when related keys are pressed.
82         argument::
83                 A Float.
85 METHOD:: pixelStep
86         The absolute amount by which the value would change if the handle moved by one pixel.
88         returns::
89                 A Float.
91 METHOD:: shift_scale
92         The factor by which link::#-step:: is multiplied when incrementing or decrementing the value by keyboard while the Shift key is pressed.
94         argument::
95                 A Float.
97 METHOD:: ctrl_scale
98         The factor by which link::#-step:: is multiplied when incrementing or decrementing the value by keyboard while the Ctrl key is pressed.
100         argument::
101                 A Float.
103 METHOD:: alt_scale
104         The factor by which link::#-step:: is multiplied when incrementing or decrementing the value by keyboard while the Alt key is pressed.
106         argument::
107                 A Float.
110 SUBSECTION:: Actions
112 METHOD:: action
113         The action object evaluated whenever the user moves the handle.
115 METHOD:: defaultKeyDownAction
117         Implements the default effects of key presses as follows:
119         table::
120         ## strong::Key::   || strong::Effect::
121         ## r               || valueAction_(1.0.rand)
122         ## n               || valueAction_(0)
123         ## x               || valueAction_(1)
124         ## c               || valueAction_(0.5)
125         ## ]               || increment
126         ## [               || decrement
127         ## up arrow        || increment
128         ## down arrow      || decrement
129         ## right arrow     || increment
130         ## left arrow      || decrement
131         ::
135 SUBSECTION:: Drag and drop
137 METHOD:: defaultGetDrag
138         returns::
139                 The link::#-value::.
141 METHOD:: defaultCanReceiveDrag
142         returns::
143                 True if the current drag data is a number.
145 METHOD:: defaultReceiveDrag
146         Sets link::#-valueAction:: to the current drag data.