Up

# NSScroller

### Authors

Ovidiu Predescu (`ovidiu@net-community.com`)
Felipe A. Rodriguez (`far@ix.netcom.com`)
Richard Frith-Macdonald (`richard@brainstorm.co.uk`)

Copyright: (C) 1996 Free Software Foundation, Inc.

# Software documentation for the NSScroller class

## NSScroller : NSControl

> Declared in:
>   AppKit/NSScroller.h

> Conforms to:
>   NSCoding

Availability: OpenStep

TODO Description

Instance Variables
Method summary

- +scrollerWidth
- +scrollerWidthForControlSize:
- -arrowsPosition
- -checkSpaceForParts
- -controlSize
- -controlTint
- -drawArrow:highlight:
- -drawKnob
- -drawKnobSlot
- -drawParts
- -highlight:
- -hitPart
- -knobProportion
- -rectForPart:
- -setArrowsPosition:
- -setControlSize:
- -setControlTint:
- -setFloatValue:knobProportion:
- -testPart:
- -trackKnob:
- -trackScrollButtons:
- -usableParts

### scrollerWidth

+ (float) scrollerWidth;
Availability: OpenStep

Returns the NSScroller's width. By default 18.

Subclasses can override this to provide different scrollbar width. But you may need to also override -drawParts .

### scrollerWidthForControlSize:

+ (float) scrollerWidthForControlSize: (NSControlSize)controlSize;
Availability: MacOS-X 10.0.0
Description forthcoming.

### arrowsPosition

- (NSScrollArrowPosition) arrowsPosition;
Availability: OpenStep

Returns the position of the NSScroller's arrows used for scrolling By default the arrow position is set to NSScrollerArrowsMinEnd if the scrolletr is a horizontal scroller and NSScrollerArrowsMaxEnd if the scroller is a vertical scroller. See NSScrollArrowPosition for more informations.

See Also: -arrowsPosition

### checkSpaceForParts

- (void) checkSpaceForParts;
Availability: OpenStep
Description forthcoming.

### controlSize

- (NSControlSize) controlSize;
Availability: MacOS-X 10.0.0
Description forthcoming.

### controlTint

- (NSControlTint) controlTint;
Availability: MacOS-X 10.0.0
Description forthcoming.

### drawArrow: highlight:

- (void) drawArrow: (NSScrollerArrow)whichButton highlight: (BOOL)flag;
Availability: OpenStep

(Un)Highlight the button specified by whichButton. whichButton should be NSScrollerDecrementArrow or NSScrollerIncrementArrow

See Also: [NSCell -setHighlighted:] [NSCell -drawWithFrame:inView:]

### drawKnob

- (void) drawKnob;
Availability: OpenStep

Draws the knob

### drawKnobSlot

- (void) drawKnobSlot;
Availability: OpenStep
Description forthcoming.

### drawParts

- (void) drawParts;
Availability: OpenStep
Cache images for scroll arrows and knob. If you override +scrollerWidth you may need to override this as well (to provide images for the new width). However, if you do so, you must currently also override -drawArrow:highlight: and -drawKnob: .

### highlight:

- (void) highlight: (BOOL)flag;
Availability: OpenStep

Highlights the button whose under the mouse. Does nothing if the mouse is not under a button

See Also: -drawArrow:highlight:

### hitPart

- (NSScrollerPart) hitPart;
Availability: OpenStep

Returns the part of the NSScroller that have been hit (mouse down) See NSScrollerPart for more information

See Also: -highlight: [NSResponder -mouseDown:]

### knobProportion

- (float) knobProportion;
Availability: OpenStep

Returns a float value (between 0.0 and 1.0) indicating the ratio between the NSScroller length and the knob length

### rectForPart:

- (NSRect) rectForPart: (NSScrollerPart)partCode;
Availability: OpenStep
Description forthcoming.

### setArrowsPosition:

- (void) setArrowsPosition: (NSScrollArrowPosition)where;
Availability: OpenStep

Sets the position of the NSScroller arrows used for scrolling to where and marks self for display. By default the arrow position is set to NSScrollerArrowsMinEnd if the scroller is a horizontal scroller and NSScrollerArrowsMaxEnd if the scroller is a vertical scroller. See NSScrollArrowPosition for more informations.

See Also: -arrowsPosition

### setControlSize:

- (void) setControlSize: (NSControlSize)controlSize;
Availability: MacOS-X 10.0.0
Description forthcoming.

### setControlTint:

- (void) setControlTint: (NSControlTint)controlTint;
Availability: MacOS-X 10.0.0
Description forthcoming.

### setFloatValue: knobProportion:

- (void) setFloatValue: (float)aFloat knobProportion: (float)ratio;
Availability: OpenStep
Description forthcoming.

### testPart:

- (NSScrollerPart) testPart: (NSPoint)thePoint;
Availability: OpenStep

Returns the NSScroller's part under the point thePoint. See NSScrollerPart for more informations

### trackKnob:

- (void) trackKnob: (NSEvent*)theEvent;
Availability: OpenStep
Description forthcoming.

### trackScrollButtons:

- (void) trackScrollButtons: (NSEvent*)theEvent;
Availability: OpenStep
Description forthcoming.

### usableParts

- (NSUsableScrollerParts) usableParts;
Availability: OpenStep
Description forthcoming.

## Instance Variables for NSScroller Class

### _action

@protected SEL _action;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _arrowsPosition

@protected NSScrollArrowPosition _arrowsPosition;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _cacheValid

@protected BOOL _cacheValid;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _floatValue

@protected float _floatValue;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _hitPart

@protected NSScrollerPart _hitPart;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _isEnabled

@protected BOOL _isEnabled;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _isHorizontal

@protected BOOL _isHorizontal;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _knobProportion

@protected float _knobProportion;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _pendingKnobProportion

@protected float _pendingKnobProportion;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _target

@protected id _target;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _usableParts

@protected NSUsableScrollerParts _usableParts;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

Up