scide: LookupDialog - redo lookup on classes after partial lookup
[supercollider.git] / SCClassLibrary / Common / GUI / osx / scide_scapp / Base / SCQuartzComposerView.sc
blob658985eed39a204db1237de2260c07fc333f625f
1 SCQuartzComposerView : SCView{
2         var <path, <inputKeys, <outputKeys;
4         start{
5                 this.setProperty(\start);
6         }
8         stop{
9                 this.setProperty(\stop);
10         }
12         path_{|argpath|
13                 path = argpath;
14                 this.setProperty(\loadCompositionFromFile, argpath);
15                 inputKeys = this.getProperty(\getInputKeys).collect(_.asSymbol);
16                 outputKeys = this.getProperty(\getOutputKeys).collect(_.asSymbol);
17         }
19         openInQC{ ("open" + path.quote).unixCmd }
21         setInputValue{|key, value|
22                 this.setProperty(\setInputValue, [key.asSymbol, value]);
23         }
25         getInputValue{|key|
26                 ^this.getProperty(\getInputValue, key.asSymbol);
27         }
29         getOutputValue{|key|
30                 ^this.getProperty(\getOutputValue, key.asSymbol);
31         }
33 //      erase{
34 //              this.setProperty(\erase);
35 //      }
37 //      eraseColor_{|color|
38 //              this.setProperty(\eraseColor, color);
39 //      }
41         maxFPS_{|rate|
42                 this.setProperty(\setMaxRenderingFrameRate, rate);
43         }
45         // check if the method corresponds to a port key
46         // if not call super
47         doesNotUnderstand { arg selector ... args;
48                 if(selector.isSetter && inputKeys.includes(selector.asGetter), {
49                         this.setInputValue(selector.asGetter, *args); ^this;},
50                         {
51                                 if(outputKeys.includes(selector), {^this.getOutputValue(selector)}, {
52                                         if(inputKeys.includes(selector), {^this.getInputValue(selector)})
53                                 })
54                         }
55                 );
56                 super.doesNotUnderstand(selector, *args);
57         }