[operations] [attributes] [fields] [template] [definition]
[implementation] [documentation]
To use the search tool you need to use a browser which supports JAVA (c)

[next] [prev] [superclass] [next peer] [prev peer] [subclass] [index] [hierarchy]

DateChooser

inherits from Box
inherits interface from EditsTarget

Object <- Viewable <- Box <- DateChooser



Operations

Get list of all operations

AboutToHide
AboutToShow
CalcInsidePart
CanAcceptCoupon
Confirm
Draw
GetHorizInset
Idle
NoticeMonthChanged
SetTextStyle
TextStyle
Touch
TrackDay


Attributes

Get list of all attributes

Editable
Index
Target


Fields

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 template

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;

Class definition

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;