SCDoc: Use proper static string constants instead of comparing string literals.
[supercollider.git] / SCClassLibrary / QtCollider / QDialog.sc
blob963edef69439847523fbd1fe2497757f97e6867c
1 QFileDialog : QObject {
2   *qtClass { ^'QcFileDialog' }
4   *new { arg okFunc, cancelFunc, fileMode, acceptMode, stripResult = false;
6     var me = super.new( [fileMode, acceptMode] );
8     if( okFunc.notNil ) {
9       me.connectFunction( 'accepted(VariantList)', {
10         |me, result|
11         if( stripResult )
12           { okFunc.performList(\value, result) }
13           { okFunc.value(result) }
14       });
15     };
17     if( cancelFunc.notNil ) {
18       me.connectFunction( 'rejected()', { cancelFunc.value() } );
19     };
21     me.invokeMethod('show', synchronous:false);
23     ^me;
24   }
27 QDialog {
28   *implementsClass {^'Dialog'}
30   *getPaths { arg okFunc, cancelFunc, allowsMultiple=true;
31     var fileMode;
32     if( allowsMultiple ) { fileMode = 3 } { fileMode = 1 };
33     ^QFileDialog.new( okFunc, cancelFunc, fileMode, 0 );
34   }
36   *openPanel { arg okFunc, cancelFunc, multipleSelection=false;
37     var fileMode;
38     if( multipleSelection ) { fileMode = 3 } { fileMode = 1 };
39     ^QFileDialog.new( okFunc, cancelFunc, fileMode, 0, stripResult:multipleSelection.not );
40   }
42   *savePanel { arg okFunc, cancelFunc;
43     ^QFileDialog.new( okFunc, cancelFunc, 0, 1, stripResult:true );
44   }