SCDoc: Use proper static string constants instead of comparing string literals.
[supercollider.git] / SCClassLibrary / QtCollider / QEnvelopeView.sc
bloba28f0603f479e2fb9929735711694198ea0c1411
1 QEnvelopeView : QView
3   var <editable, <step, <grid, <gridOn = false;
4   var <fillColor;
5   var <drawLines = true, <drawRects = true;
6   var <metaAction;
8   *qtClass {^'QcGraph'}
10   editable_ { arg aBool;
11     editable = aBool;
12     this.setProperty( \editable, aBool );
13   }
15   setEditable { arg index, flag;
16     this.invokeMethod( \setEditableAt, [index, flag] );
17   }
19   step_ { arg aFloat;
20     step = aFloat;
21     this.setProperty( \step, aFloat );
22   }
24   keepHorizontalOrder {
25     ^this.getProperty( \horizontalOrder ) != 0;
26   }
28   keepHorizontalOrder_ { arg bool;
29     this.setProperty( \horizontalOrder, if(bool){1}{0} );
30   }
32   elasticSelection {
33     ^this.getProperty( \selectionForm ) == 0;
34   }
36   elasticSelection_ { arg bool;
37     this.setProperty( \selectionForm, if(bool){0}{1} );
38   }
40   value {
41     ^this.getProperty( \value );
42   }
44   value_ { arg anArray;
45     this.setProperty( \value, anArray );
46   }
48   valueAction_ { arg anArray;
49     this.setProperty( \value, anArray );
50     this.doAction;
51   }
53   index {
54     ^this.getProperty( \index );
55   }
57   index_ { arg index;
58     ^this.setProperty( \index, index );
59   }
61   lastIndex { ^this.getProperty( \lastIndex ); }
63   selectIndex { arg index;
64     if( index < 0 ){
65       this.invokeMethod( \deselectAll );
66     }{
67       this.invokeMethod( \select, [index,false] );
68     };
69     this.index = index;
70   }
72   deselectIndex { arg index;
73     this.invokeMethod( \deselect, index );
74   }
76   x {
77     ^this.getProperty( \x );
78   }
80   x_ { arg aFloat;
81     this.setProperty( \x, aFloat );
82   }
84   y {
85     ^this.getProperty( \y );
86   }
88   y_ { arg aFloat;
89     this.setProperty( \y, aFloat );
90   }
92   currentvalue { ^this.y }
94   currentvalue_ { arg aFloat;
95     this.y_( aFloat );
96   }
98   setString { arg index, string;
99     this.invokeMethod( \setStringAt, [index, string] );
100   }
102   strings_ { arg anArray;
103     this.setProperty( \strings, anArray );
104   }
106   curves { this.nonimpl( "curves" ); }
108   curves_ { arg curves;
109     this.invokeMethod( \setCurves,
110       if(curves.size > 0) { [curves.collect{|c| QCurve(c)}] } { QCurve(curves) }
111     );
112   }
114   setEnv { arg env;
115     var times = [0] ++ env.times.integrate;
116     if( times.last > 0 ) {times = times / times.last};
117     this.value = [times, env.levels];
118     this.curves = env.curves;
119   }
121   grid_ { arg aPoint;
122     grid = aPoint;
123     this.setProperty( \grid, aPoint );
124   }
126   gridOn_ { arg aBool;
127     gridOn = aBool;
128     this.setProperty( \gridOn, aBool );
129   }
131   connect { arg source, targets;
132     this.invokeMethod( \connectElements, [source, targets] );
133   }
135   gridColor { ^this.getProperty(\gridColor) }
136   gridColor_ { arg color; this.setProperty( \gridColor, color ) }
138   selectionColor { ^this.getProperty(\selectionColor) }
139   selectionColor_ { arg color; this.setProperty(\selectionColor, color) }
141   strokeColor { ^this.getProperty(\strokeColor) }
142   strokeColor_ { arg color; this.setProperty( \strokeColor, color ) }
144   fillColor_ { arg aColor;
145     fillColor = aColor;
146     this.setProperty( \fillColor, aColor );
147   }
149   setFillColor { arg index, color;
150     this.invokeMethod( \setFillColorAt, [index, color] );
151   }
153   colors_ { arg strokeColor, fillColor;
154     this.strokeColor_( strokeColor );
155     this.fillColor_( fillColor );
156   }
158   drawLines_ { arg aBool;
159     drawLines = aBool;
160     this.setProperty( \drawLines, aBool );
161   }
163   drawRects_ { arg aBool;
164     drawRects = aBool;
165     this.setProperty( \drawRects, aBool );
166   }
168   style { ^this.getProperty(\style) }
170   style_ { arg style;
171     if (style.isNumber.not) {
172       style = style.switch (
173         \dots, 0,
174         \rects, 1,
175         0
176       );
177     };
178     style = style.clip(0,1).asInteger;
179     this.setProperty(\style, style)
180   }
182   thumbWidth_ { arg width;
183     this.setProperty( \thumbWidth, width.asInteger; );
184   }
186   thumbHeight_ { arg height;
187     this.setProperty( \thumbHeight, height.asInteger; );
188   }
190   thumbSize_ { arg size;
191     this.setProperty( \thumbSize, size.asInteger; );
192   }
194   setThumbWidth { arg index, width;
195     this.invokeMethod(\setThumbWidthAt, [index, width.asInteger])
196   }
198   setThumbHeight { arg index, height;
199     this.invokeMethod(\setThumbHeightAt, [index, height.asInteger])
200   }
202   setThumbSize { arg index, size;
203     this.invokeMethod(\setThumbSizeAt, [index, size.asInteger])
204   }
206   metaAction_ { arg function;
207     this.manageMethodConnection( metaAction, function, 'metaAction()', \doMetaAction );
208     metaAction = function;
209   }
211   doMetaAction {
212     metaAction.value(this);
213   }
215   defaultGetDrag {
216     ^this.value;
217   }
218   defaultCanReceiveDrag { ^true; }
219   defaultReceiveDrag {
220     this.value = QView.currentDrag;
221   }