Object <- Viewable <- Box <- DateChooser |
|
|
AboutToHide AboutToShow CalcInsidePart CanAcceptCoupon Confirm Draw GetHorizInset |
Idle NoticeMonthChanged SetTextStyle TextStyle Touch TrackDay |
|
Editable Index Target |
| Field | Type | |
|---|---|---|
| Viewable: | superview: | Viewable |
| relativeOrigin: | Dot | |
| contentSize: | Dot | |
| viewFlags: | Flags | |
| labelStyle: | TextStyle | |
| color: | Unsigned | |
| altColor: | Unsigned | |
| shadow: | Shadow | |
| sound: | Playable | |
| HasBorder: | border: | Border |
| DateChooser: | editable: | Boolean |
| highlightToday: | Boolean | |
| tightBorder: | Boolean | |
| drawGrid: | Boolean | |
| drawYear: | Boolean | |
| confirmOnTouch: | Boolean | |
| target: | Object | |
| index: | Unsigned | |
| date: | Signed | |
| yearStyle: | TextStyle | |
| dayStyle: | TextStyle | |
| arrows: | Image | |
| highlightArrow: | Unsigned |
instance DateChooser 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; editable: false; highlightToday: false; tightBorder: false; drawGrid: false; drawYear: false; confirmOnTouch: false; target: nilObject; index: 0; date: 0; yearStyle: nilObject; dayStyle: nilObject; arrows: nilObject; highlightArrow: 0; end instance;
Define Class DateChooser; inherits from Box; inherits interface from EditsTarget; field editable: Boolean, getter; field highlightToday: Boolean; field tightBorder: Boolean; field drawGrid: Boolean; field drawYear: Boolean; field confirmOnTouch: Boolean; field target: Object, weak, getter; // object whose date is being chosen; use iSystem to affect and reflect current date field index: Unsigned, getter; // index passed to IndexedDate() and SetIndexedDate() field date: Signed; // selected date field yearStyle: TextStyle; // text style in which to draw year and month field dayStyle: TextStyle; // text style in which to draw day names and numbers field arrows: Image; // image of right arrow (left arrow is flipped from this) field highlightArrow: Unsigned; // which arrow is highlighted? (0,1,2,3,4 = none, month right, month left, year right, year left) // targeting attribute Index: Unsigned, safe; overrides SetTarget; overrides Confirm; // call to accept currently selected date operation NoticeMonthChanged(var date: Unsigned; previousMonth: Boolean); // do special work when the date's month has been changed // does nothing at this level // appearance and interaction attribute Editable: Boolean, safe; overrides AboutToHide, AboutToShow; // calls Confirm to update target and synchronize date with target overrides CalcInsidePart; // returns partMonth or partYear or calls inherited method overrides CanAcceptCoupon; // permits textStyle and inherited coupons overrides Draw; // draws a calendar with arrows to change year & month overrides Idle; // synchronizes date with target overrides TextStyle, SetTextStyle; // yearStyle, dayStyle, or calls inherited overrides Touch; // selects the touched date, or changes year or month operation GetHorizInset(): Signed, intrinsic; operation TrackDay(grid: Box; numRows: SignedShort; numColumns: SignedShort; monthDays: SignedShort; firstWeekday: SignedShort; touchInput: TouchInput), intrinsic; end class;