2 * This is the Cocoa framework GUI implementation
3 * for Mac OS X. It can be accessed from the GUI
4 * class using GUI.cocoa, GUI.fromID( \cocoa ) or GUI.get( \cocoa ).
6 * @version 0.14, 17-Jan-08
12 Class.initClassTree( Event );
13 extraClasses = Event.new;
14 Class.initClassTree( GUI );
20 *put { arg key, object;
21 extraClasses.put( key, object );
24 *doesNotUnderstand { arg selector ... args;
25 ^extraClasses.perform( selector, *args );
28 ///////////////// Common -> GUI /////////////////
30 *freqScope { ^SCFreqScopeWindow }
31 *freqScopeView { ^SCFreqScope }
32 *scopeView { ^SCScope }
33 *stethoscope { ^SCStethoscope }
35 ///////////////// Common -> GUI -> Base /////////////////
38 *compositeView { ^SCCompositeView }
39 *hLayoutView { ^SCHLayoutView }
40 *vLayoutView { ^SCVLayoutView }
44 *staticText { ^SCStaticText }
45 *numberBox { ^SCNumberBox }
46 *scrollView { ^SCScrollView }
49 *rangeSlider { ^SCRangeSlider }
50 *slider2D { ^SC2DSlider }
51 *tabletSlider2D { ^SC2DTabletSlider }
52 *popUpMenu { ^SCPopUpMenu }
53 *listView { ^SCListView }
54 *dragSource { ^SCDragSource }
55 *dragSink { ^SCDragSink }
56 *dragBoth { ^SCDragBoth }
57 *textField { ^SCTextField }
58 *userView { ^SCUserView }
59 *multiSliderView { ^SCMultiSliderView }
60 *envelopeView { ^SCEnvelopeView }
61 *tabletView { ^SCTabletView }
62 *soundFileView { ^SCSoundFileView }
63 *movieView { ^SCMovieView }
64 *textView { ^SCTextView }
65 *quartzComposerView { ^SCQuartzComposerView }
66 *ezScroller { ^EZScroller }
67 *ezSlider { ^EZSlider }
68 *ezListView { ^EZListView }
69 *ezPopUpMenu { ^EZPopUpMenu}
70 *ezNumber { ^EZNumber}
71 *ezRanger { ^EZRanger }
72 *menuItem { ^CocoaMenuItem }
78 ///////////////// Common -> Audio /////////////////
83 *mouseButton { ^MouseButton }
84 *keyState { ^KeyState }
86 ///////////////// Common -> OSX /////////////////
89 *dialog { ^CocoaDialog }
92 ///////////////// extras /////////////////
94 // checkBox: SCCheckBox,
95 // tabbedPane: SCTabbedPane
97 ///////////////// crucial /////////////////
98 // no longer needed b/c SwingOSC can add the StartRow class directly
99 // as of at least 0.56
100 // *startRow { ^StartRow }
102 ///////////////// support methods with different GUI scheme implementations /////////////////
103 *stringBounds { |string, font|
104 ^string.prBounds(Rect.new, font)