[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]

HasBuiltInScrollArrows

mixes in with Viewable
mixes in with HasScrolling

HasBuiltInScrollArrows



Operations

Get list of all operations

DirtyScrollArrows
DotInWhichScrollArrow
Draw
DrawScrollArrows
HandleTouchInScrollArrows
ScrollArrowImage
ScrollArrowPositions
Touch


Attributes

Get list of all attributes

CanDrawIn
ScrollsHorizontally
UseBuiltInScrollArrows


Fields

No fields are defined by HasBuiltInScrollArrows or any of its superclasses.


Instance template

Class HasBuiltInScrollArrows cannot be instantiated.


Class definition

Define Class HasBuiltInScrollArrows;
    mixes in with Viewable, HasScrolling;
    
    operation DirtyScrollArrows(), noFail;
        // calls DirtyBox on the enclosing box of each scroll arrow
        // call to force a redraw of the scroll arrow area without redrawing entire content
        // override rarely
        
    operation DotInWhichScrollArrow(probe: Dot): ScrollArrowType;
        // returns which scroll arrow (or none) probe is in
        // possible values are scrollBackArrow, scrollForwardArrow, and noScrollArrow   
    
    operation DrawScrollArrows(), noFail;
        // draws scroll arrows
        // called from Draw
        // sometimes call from overrides of Draw if not calling inherited Draw for other reasons
        // override rarely
    
    operation HandleTouchInScrollArrows(touchInput: TouchInput): Boolean;
        // if UseBuiltInScrollArrows is false, returns false
        // if start point of <touchInput> was in back or forward arrow, handles the touch and returns true
        // else returns false
        // called from HasBuiltInScrollArrows_Touch, and from touch methods of subclasses that override touch
        // override rarely
        
    operation ScrollArrowImage(backArrow: Boolean): Image;
        // call to get image of scroll arrow from scroll direction
        // returns iScrollUpArrow if <backArrow> is true, iDownScrollArrow otherwise
        // override rarely to use different images; the two images should be the same size
        
    operation ScrollArrowPositions(var backArrowPosition: Dot; var forwardArrowPosition: Dot);
        // fills in position parameters with dots in upper right and lower right of self's content box
        // override sometimes to position scroll arrows elsewhere
    
    attribute ScrollsHorizontally: Boolean, readOnly;
        // distinguishes between up-and-down scrolling and left-and-right scrolling
        // returns false
        // override sometimes to return true for subclasses that scroll horizontally
        // overriders should also override ScrollArrowImage and probably ScrollArrowPositions since
        // default implementations are designed for vertical scrolling
    
    attribute UseBuiltInScrollArrows: Boolean, readOnly;
        // returns true
        // override sometimes to let subclass use built-in scroll arrows on an instance-by-instance basis
    
    overrides CanDrawIn;
        // returns kDontDrawHere if current touch is in built-in scroll arrows,
        // otherwise returns result of inherited method
    overrides Draw;
        // draws scroll arrows after calling inherited method
    overrides Touch;
        // calls HandleTouchInScrollArrows. If it returns false, calls inherited method.
    
end class;