SCDoc: Use proper static string constants instead of comparing string literals.
[supercollider.git] / SCClassLibrary / QtCollider / QListView.sc
blob8861353aabf53634bd2fbd240be08115441565ca
1 QListView : QItemViewBase {
2   var <colors;
3   var <enterKeyAction;
5   *qtClass { ^'QcListWidget' }
7   mouseDownEvent { arg x, y, modifiers, buttonNumber, clickCount;
8     // Override QView:mouseDownEvent:
9     // If Ctrl / Cmd is pressed, try to start the drag after this event
10     // is processed, so that current item can be changed before.
11     if( (modifiers & QKeyModifiers.control) > 0 ) {
12       AppClock.sched( 0, {this.beginDrag(x,y)} );
13     };
15     modifiers = QKeyModifiers.toCocoa(modifiers);
16     ^this.mouseDown( x, y, modifiers, buttonNumber, clickCount );
17   }
19   selectionMode_ { arg mode;
20     var m;
21     m = mode.switch(
22       \none, {0},
23       \single, {1},
24       \multi, {2},
25       \extended, {3},
26       \contiguous, {4}
27     );
28     if( m == 0 ) {
29       this.invokeMethod( \clearSelection );
30       this.setProperty( \currentRow, -1 );
31       this.setProperty( \focusPolicy, 0 );
32     };
33     this.setProperty( \selectionMode, m );
34   }
36   selectionMode {
37     var modes = [\none, \single, \multi, \extended, \contiguous];
38     var m = this.getProperty( \selectionMode );
39     ^modes[m];
40   }
42   value {
43     var v = this.getProperty( \currentRow );
44     if( v < 0 ) { ^nil } { ^v };
45   }
47   value_ { arg val;
48     this.setProperty( \currentRow, val ? -1 );
49   }
51   background { ^this.palette.base; }
52   background_ { arg color; this.palette = this.palette.base_(color); }
54   stringColor {
55     ^this.palette.baseText;
56   }
58   stringColor_ { arg color;
59     this.palette = this.palette.baseText_(color);
60   }
62   selectedStringColor {
63     ^this.palette.highlightText;
64   }
66   selectedStringColor_ { arg color;
67     this.palette = this.palette.highlightText_(color);
68   }
70   hiliteColor {
71     ^this.palette.highlight;
72   }
74   hiliteColor_ { arg color;
75     this.palette = this.palette.highlight_(color);
76   }
78   enterKeyAction_ { arg func;
79     this.manageMethodConnection( enterKeyAction, func, 'returnPressed()', 'enterKey' );
80     enterKeyAction = func;
81   }
83   enterKey {
84     enterKeyAction.value( this );
85   }
87   colors_ { arg colorArray;
88     colors = colorArray;
89     this.setProperty( \colors, colorArray );
90   }
92   defaultGetDrag { ^this.value; }
93   defaultCanReceiveDrag { ^QView.currentDrag.isNumber; }
94   defaultReceiveDrag {
95     this.valueAction = QView.currentDrag;
96   }