... <- Box <- Window <- TitledWindow <- GadgetWindow <- LessonWindow |
|
|
AboutToHide BalloonDot ExtendBottomToFitContent MoveOutOfTargetsWay SetStep ZoomFromWhere |
|
DoneButton KeepFrontmost NextButton |
| Field | Type | |
|---|---|---|
| Viewable: | superview: | Viewable |
| relativeOrigin: | Dot | |
| contentSize: | Dot | |
| viewFlags: | Flags | |
| labelStyle: | TextStyle | |
| color: | Unsigned | |
| altColor: | Unsigned | |
| shadow: | Shadow | |
| sound: | Playable | |
| HasBorder: | border: | Border |
| Window: | canCoexist: | Boolean |
| persistentWindow: | Boolean | |
| dontAutoExtend: | Boolean | |
| ignoreGrid: | Boolean | |
| closeAfterTouch: | Boolean | |
| closeBeforeTouch: | Boolean | |
| autoPosition: | Boolean | |
| noCloseBox: | Boolean | |
| downArrowVisible: | Boolean | |
| upArrowVisible: | Boolean | |
| rightArrowVisible: | Boolean | |
| leftArrowVisible: | Boolean | |
| autoMoveContents: | Boolean | |
| searchable: | Boolean | |
| customTitleColor: | Boolean | |
| scaleWindowTitle: | Boolean | |
| noBuiltInArrows: | Boolean | |
| noZoom: | Boolean | |
| autoCopyWindow: | Boolean | |
| TitledWindow: | titleColor: | Unsigned |
| titleHeight: | Micron | |
| dependents: | ObjectList | |
| BalloonSpout: | balloonDot: | Dot |
| GadgetWindow: | target: | Object |
| LessonWindow: | lessonTitle: | Text |
| titleViewText: | TextField | |
| stepViewText: | TextField | |
| nextButton: | Button | |
| stopButton: | Button | |
| doneButton: | Button | |
| currentStep: | LessonStep |
instance LessonWindow tag; relativeOrigin: <0.0,0.0>; contentSize: <0.0,0.0>; viewFlags: 0x00000000; labelStyle: nilObject; color: 0; altColor: 0; shadow: nilObject; sound: nilObject; border: nilObject; canCoexist: false; persistentWindow: false; dontAutoExtend: false; ignoreGrid: false; closeAfterTouch: false; closeBeforeTouch: false; autoPosition: false; noCloseBox: false; downArrowVisible: false; upArrowVisible: false; rightArrowVisible: false; leftArrowVisible: false; autoMoveContents: false; searchable: false; customTitleColor: false; scaleWindowTitle: false; noBuiltInArrows: false; noZoom: false; autoCopyWindow: false; titleColor: 0; titleHeight: <0.0>; dependents: nilObject; balloonDot: <0.0,0.0>; target: nilObject; lessonTitle: nilObject; titleViewText: nilObject; stepViewText: nilObject; nextButton: nilObject; stopButton: nilObject; doneButton: nilObject; currentStep: nilObject; end instance;
Define Class LessonWindow; inherits from GadgetWindow; field lessonTitle: Text; // the (non-viewable) text for lesson title field titleViewText: TextField; // displays lesson title + step number field stepViewText: TextField; // displays lesson step text field nextButton: Button, getter; // pressing this advances the lesson to the next step field stopButton: Button; // pressing this asks the user if they want to end the lesson prematurely field doneButton: Button, getter; // pressing this ends the lesson after it has been completed field currentStep: LessonStep; // the step currently executing overrides AboutToHide; // empties text from fields when hiding overrides ExtendBottomToFitContent; // keeps buttons near bottom overrides KeepFrontmost; // returns true if no stopButton (to distinguish special-use boot lesson window) overrides ZoomFromWhere; // returns false (never zooms) operation MoveOutOfTargetsWay(step: Object): Boolean; // adjust window position to avoid target operation SetStep(newStep: Object; newStepNum: Unsigned; stepCount: Unsigned), safe, common; attribute DoneButton: Button, readOnly; // for lesson steps whose target is the done button of the lesson window attribute NextButton: Button, readOnly; // for lesson steps whose target is the next button of the lesson window overrides BalloonDot; end class;