GUIEvent
Superclass: Environment
related classes: Conductor, ConductorGUI
GUIEvent defines a default 'sytle sheet' for ConductorGUI objects. Currently, GUIEvent defines a
single Event, held in the classvar osx. (Eventually, events for linux and win32 will also be defined.)
The event defines a set of functions that create and adjust windows:
window // arguments: name, rect
nextLine // argument: win
resizeWindowToContents // argument: win
It also defines a set of values that establish default sizes for different view orientations:
h: 20, // default view height
w: 800, // default view width
labelW: 80, // width of a label and numberbox
vh: 200, // height of a vertical slider
vw: 20, // width of a vertical slider
It uses those values to define a set of fuctions that create default boundary rectangles for different views:
numericalRect: { Rect(0,0, ~labelW, ~h) },
smallNumericalRect: { Rect(0,0, ~labelW/2, ~h) },
sliderRect: { Rect(0,0, ~w, ~h) },
vsliderRect: { Rect(0,0, ~vw, ~vh) },
msliderRect: { Rect(0,0, ~w, ~vh) },
tdsliderRect: { Rect(0,0, ~vh, ~vh) },
movieRect: { Rect(0,0, 240, 320) },
labelRect: { Rect(0,0, ~labelW, ~h) },
popupRect: { Rect(0,0, ~labelW, ~h) },
listRect: { Rect(0,0, ~labelW, ~h) },
radioButtonsRect: { Rect(0,0,10,~h) },
It defines a set of view functions that all take window, name, cv, and rect as arguments. The
argument cv can be single CV or an array. In the latter case, the array is iterated and each
element receives its own view. If rect is defined, it overrides the default Rects defined above.
Below are the keys of the functions that call SCViews directly.
// primitives: items that directly use SCView classes
label // SCStaticText
numberBox // SCNumberBox
smallNumberBox // SCNumberBox
slider // SCSlider
rangeSlider // SCRangeSlider
twodSlider // SC2DSlider
popup // SCPopupMenu
list // SCListView
movie // SCMovieView
popup // SCPopupMenu
scmultislider // SCMultiSliderView
knob // SCKnob, uses SCCompositeView
vnumerical // SCNumberBox, uses SCCompositeView
Another set of keys define labeled guis in terms of the primitives above:
// horizontal orientation
nslider // slider with label and numerical
rslider // range slider with label, needs 2 CVs
numerical // numberBox
smallNumerical // smallNumberBox
radiobuttons // automatically scaled to range of the cv
multislider // scmultislider, CV should have multiple values
// vertical orientation
vslider // slider
vrslider // Vertical rslider, needs 2 CVs
tdslider // needs 2 CVs
// these are primitives that require SV's
popup // SCPopupView
list // SCListView
Of course, this collection of functions is readily extensible, either by adding new keys to the
ConductorGUI or to GUIEvent-osx.