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

- +preferredScrollerStyle
- +scrollerWidth
- +scrollerWidthForControlSize:
- -arrowsPosition
- -checkSpaceForParts
- -controlSize
- -controlTint
- -drawArrow:highlight:
- -drawKnob
- -drawKnobSlot
- -drawKnobSlotInRect:highlight:
- -drawParts
- -flashScroller
- -highlight:
- -hitPart
- -knobProportion
- -knobStyle
- -rectForPart:
- -scrollerStyle
- -setArrowsPosition:
- -setControlSize:
- -setControlTint:
- -setFloatValue:knobProportion:
- -setKnobProportion:
- -setKnobStyle:
- -setScrollerStyle:
- -testPart:
- -trackKnob:
- -trackScrollButtons:
- -usableParts

### preferredScrollerStyle

+ (NSScrollerStyle) preferredScrollerStyle;
Availability: MacOS-X 10.7.0
Description forthcoming.

### scrollerWidth

+ (CGFloat) 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:

+ (CGFloat) 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.

### drawKnobSlotInRect: highlight:

- (void) drawKnobSlotInRect: (NSRect)slotRect highlight: (BOOL)flag;
Availability: MacOS-X 10.5.0
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: .

### flashScroller

- (void) flashScroller;
Availability: Gui 1.30.0
Shows the scroller if it's an overlay scroller. If your theme supports overlay scrollers, you must override this method.

### 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

- (CGFloat) knobProportion;
Availability: OpenStep

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

### knobStyle

- (NSScrollerKnobStyle) knobStyle;
Availability: MacOS-X 10.7.0
The scroller knob style. By default, NSScrollerStyleDefault. If your theme implements other scroller styles, you must override this method. You may use the ivar _knobStyle for this.

### rectForPart:

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

### scrollerStyle

- (NSScrollerStyle) scrollerStyle;
Availability: MacOS-X 10.7.0
The scroller style. By default, NSScrollerStyleDefault. If your theme implements other scroller styles, you must override this method. You may use the ivar _scrollerStyle for this.

### 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: (CGFloat)ratio;
Availability: MacOS-X 10.0.0 removed at MacOS-X 10.5.0
Description forthcoming.

### setKnobProportion:

- (void) setKnobProportion: (CGFloat)proportion;
Availability: MacOS-X 10.5.0
Description forthcoming.

### setKnobStyle:

- (void) setKnobStyle: (NSScrollerKnobStyle)style;
Availability: MacOS-X 10.7.0
Sets the scroller knob style. In the default theme, this must be NSScrollerKnobStyleDefault. If your theme implements other scroller knob styles, you must override this method. You may use the ivar _scrollerKnobStyle for this.

### setScrollerStyle:

- (void) setScrollerStyle: (NSScrollerStyle)style;
Availability: MacOS-X 10.7.0
Sets the scroller style. In the default theme, this must be NSScrollerStyleDefault. If your theme implements other scroller styles, you must override this method. You may use the ivar _scrollerStyle for this.

### 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.

### _doubleValue

@protected double _doubleValue;
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.

### _knobProportion

@protected CGFloat _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.

### _knobStyle

@protected NSScrollerKnobStyle _knobStyle;
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 CGFloat _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.

### _scrollerStyle

@protected NSScrollerStyle _scrollerStyle;
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.

### struct _scFlagsType

@protected struct _scFlagsType struct _scFlagsType;
Availability: OpenStep
Description forthcoming.

Up