Explicitly include a boost "windows" folder even on linux
[supercollider.git] / HelpSource / Classes / NumberBox.schelp
blobc05fda100691b6a095ba0aec2e8719da245f93e6
1 CLASS:: NumberBox
2 redirect:: implClass
3 summary:: A view displaying a modifiable numerical value.
4 categories:: GUI>Views
6 DESCRIPTION::
8 A view that displays a numerical value and allows to modify it by typing the value in, and incrementing or decrementing it using the keyboard, or mouse.
10 Using the keyboard, the value will change on each arrow key press by the amount defined by link::#-step::.
12 Mouse scrolling is performed by pressing a mouse button inside the view and dragging the mouse vertically. The value will change according to the mouse cursor movement, in steps defined by link::#-scroll_step::.
14 By default, holding down the Shift, Ctrl, or Alt key while incrementing or decrementing the value will multiply the steps by 100, 10, or 0.1 respectively, though you can customize this by setting link::#-shift_scale::, link::#-ctrl_scale::, or link::#-alt_scale::. Scrolling can be enabled or disabled by modifying the link::#-scroll:: variable.
19 CLASSMETHODS::
21 PRIVATE:: key
26 INSTANCEMETHODS::
31 SUBSECTION:: Data
33 METHOD:: value
34         Numerical value between 0 and 1.
36         argument::
37                 A Float.
39 METHOD:: valueAction
40         Sets link::#-value:: to the argument and triggeres link::#-action::.
42 METHOD:: increment
43         Increments the value by link::#-step:: multiplied by 'factor'.
45         argument:: factor
46                 Any number.
48 METHOD:: decrement
49         Decrements the value by link::#-step:: multiplied by 'factor'.
51         argument:: factor
52                 Any number.
54 METHOD:: string
55         Text to be displayed instead of the numerical value. Setting link::#-value:: after this will display the value again.
57         argument::
58                 A String.
60 METHOD:: object
61         If link::#-setBoth:: is true, setting this variable also sets link::#-string:: to the argument interpreted link::Classes/Object#-asString#as String::.
63         argument::
64                 Any object, typically one which makes sense to display as a string, such as a Float.
66 METHOD:: setBoth
67         A variable stating whether setting link::#-object:: will also set link::#-string::.
69         argument::
70                 A Boolean.
75 SUBSECTION:: Restrictions on data
77 METHOD:: clipLo
78         The lowest numerical value allowed. Trying to set a lower value will clip it to this.
80         argument::
81                 A Float.
83 METHOD:: clipHi
84         The highest numerical value allowed. Trying to set a higher value will clip it to this.
86         argument::
87                 A Float.
89 METHOD:: minDecimals
90         The minimum amount of decimal places displayed. If the value can be completely described with less decimal places, zeros will be appended until reaching this.
92         argument::
93                 An Integer.
95 METHOD:: maxDecimals
96         The maximum amount of decimal places displayed. The value will always be rounded to this amount of decimals.
98         argument::
99                 An Integer.
101 METHOD:: decimals
102         Sets both link::#-minDecimals:: and link::#-maxDecimals:: to the argument.
104         argument::
105                 An Integer.
110 SUBSECTION:: Appearance
112 METHOD:: align
113         The alignment of the displayed value.
115         argument::
116                 One of the following symbols: \centered, \left, or \right.
118 METHOD:: stringColor
119         The color used to display the value before it is ever changed by user interaction.
121         argument::
122                 A Color.
124 METHOD:: normalColor
125         The color used to display the value after is has been typed in.
127         argument::
128                 A Color.
130 METHOD:: typingColor
131         The color used to display the value while it is being typed in.
133         argument::
134                 A Color.
139 SUBSECTION:: Interaction
141 METHOD:: step
142         The amount by which the value will changed when link::#-increment:: or link::#-decrement:: is called, or when related keys are pressed.
144         argument::
145                 A Float.
147 METHOD:: scroll_step
148         The amount by which the value will changed when scrolled using the mouse.
150         argument::
151                 A Float.
153 METHOD:: shift_scale
154         The factor by which link::#-step:: or link::#-scroll_step:: is multiplied when incrementing or decrementing the value using keyboard or mouse while the Shift key is pressed.
156         argument::
157                 A Float.
159 METHOD:: ctrl_scale
160         The factor by which link::#-step:: or link::#-scroll_step:: is multiplied when incrementing or decrementing the value using keyboard or mouse while the Ctrl key is pressed.
162         argument::
163                 A Float.
165 METHOD:: alt_scale
166         The factor by which link::#-step:: or link::#-scroll_step:: is multiplied when incrementing or decrementing the value using keyboard or mouse while the Alt key is pressed.
168         argument::
169                 A Float.
173 SUBSECTION:: Actions
175 METHOD:: action
176         The action object evaluated whenever the user changes the value by interacting with the view.
178 METHOD:: defaultKeyDownAction
180         Any key representing a character that can make part of a floating point number representation will initiated the editing of the value. Pressing Return (or Enter) will finish the editing and store the value typed in as a Float.
182         Aside from that, this method implements the default effects of key presses as follows:
184         table::
185         ## strong::Key::   || strong::Effect::
186         ## up arrow        || increment
187         ## down arrow      || decrement
188         ## right arrow     || increment
189         ## left arrow      || decrement
190         ::
194 SUBSECTION:: Drag and drop
196 METHOD:: defaultGetDrag
197         returns::
198                 The link::#-value::.
200 METHOD:: defaultCanReceiveDrag
201         returns::
202                 True if the current drag data is a number.
204 METHOD:: defaultReceiveDrag
205         Sets link::#-valueAction:: to the current drag data.