Up

# NSSliderCell

### Authors

Ovidiu Predescu (`ovidiu@net-community.com`)

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

# Class Description

An NSSliderCell controls the behaviour and appearance of an associated NSSlider, or a single slider in an NSMatrix. Tick marks are defined in the official standard, but are not implemented in GNUstep.

An NSSliderCell can be customized through its `set...` methods. If these do not provide enough customization, a subclass can be created, which overrides any of the follwing methods: `knobRectFlipped:`, `drawBarInside:flipped:`, `drawKnob:`, or `prefersTrackingUntilMouseUp`.

## NSSliderCell : NSActionCell

> Declared in:
>   AppKit/NSSliderCell.h

> Conforms to:
>   NSCoding

Availability: OpenStep
Description forthcoming.

Instance Variables
Method summary

- +prefersTrackingUntilMouseUp
- -allowsTickMarkValuesOnly
- -altIncrementValue
- -closestTickMarkValueToValue:
- -drawBarInside:flipped:
- -drawKnob
- -drawKnob:
- -indexOfTickMarkAtPoint:
- -isVertical
- -knobRectFlipped:
- -knobThickness
- -maxValue
- -minValue
- -numberOfTickMarks
- -rectOfTickMarkAtIndex:
- -setAllowsTickMarkValuesOnly:
- -setAltIncrementValue:
- -setKnobThickness:
- -setMaxValue:
- -setMinValue:
- -setNumberOfTickMarks:
- -setTickMarkPosition:
- -setTitle:
- -setTitleCell:
- -setTitleColor:
- -setTitleFont:
- -tickMarkPosition
- -tickMarkValueAtIndex:
- -title
- -titleCell
- -titleColor
- -titleFont
- -trackRect

### prefersTrackingUntilMouseUp

+ (BOOL) prefersTrackingUntilMouseUp;
Availability: OpenStep

The default implementation returns `YES`, so that the slider continues to track the user's movement even if the cursor leaves the slider's track.

Do not call this method directly. Override it in subclasses where the tracking behaviour needs to be different.

### allowsTickMarkValuesOnly

- (BOOL) allowsTickMarkValuesOnly;
Availability: MacOS-X 10.0.0
Description forthcoming.

### altIncrementValue

- (double) altIncrementValue;
Availability: OpenStep

Returns the value by which the slider is incremented when the user holds down the ALT key.

See Also: -setAltIncrementValue:

### closestTickMarkValueToValue:

- (double) closestTickMarkValueToValue: (double)aValue;
Availability: MacOS-X 10.0.0
Description forthcoming.

### drawBarInside: flipped:

- (void) drawBarInside: (NSRect)rect flipped: (BOOL)flipped;
Availability: OpenStep

Draws the slider's track, not including the bezel, in aRect flipped indicates whether the control view has a flipped coordinate system.

Do not call this method directly, it is provided for subclassing only.

### drawKnob

- (void) drawKnob;
Availability: OpenStep

Calculates the rect in which to draw the knob, then calls `drawKnob:` Before calling this method, a `lockFocus` message must be sent to the cell's control view.

When subclassing NSSliderCell, do not override this method. Override `drawKnob:` instead.

See Also: -drawKnob:

### drawKnob:

- (void) drawKnob: (NSRect)knobRect;
Availability: OpenStep

Draws the knob in knobRect. Before calling this method, a `lockFocus` message must be sent to the cell's control view.

Do not call this method directly. It is included for subclassing only.

See Also: -drawKnob

### indexOfTickMarkAtPoint:

- (int) indexOfTickMarkAtPoint: (NSPoint)point;
Availability: MacOS-X 10.0.0
Description forthcoming.

### isVertical

- (int) isVertical;
Availability: OpenStep
Returns whether or not the slider is vertical. If, for some reason, this cannot be determined, for such reasons as the slider is not yet displayed, this method returns -1. Generally, a slider is considered vertical if its height is greater than its width.

### knobRectFlipped:

- (NSRect) knobRectFlipped: (BOOL)flipped;
Availability: OpenStep

Returns the rect in which to draw the knob, based on the coordinate system of the NSSlider or NSMatrix this NSSliderCell is associated with. flipped indicates whether or not that coordinate system is flipped, which can be determined by sending the `isFlipped` message to the associated NSSlider or NSMatrix.

Do not call this method directly. It is included for subclassing only.

### knobThickness

- (float) knobThickness;
Availability: OpenStep

Returns the thickness of the slider's knob. This value is in pixels, and is the size of the knob along the slider's track.

See Also: -setKnobThickness:

### maxValue

- (double) maxValue;
Availability: OpenStep

Returns the maximum value that the slider represents.

See Also: -setMaxValue:

### minValue

- (double) minValue;
Availability: OpenStep

Returns the minimum value that the slider represents.

See Also: -setMinValue:

### numberOfTickMarks

- (int) numberOfTickMarks;
Availability: MacOS-X 10.0.0
Description forthcoming.

### rectOfTickMarkAtIndex:

- (NSRect) rectOfTickMarkAtIndex: (int)index;
Availability: MacOS-X 10.0.0
Description forthcoming.

### setAllowsTickMarkValuesOnly:

- (void) setAllowsTickMarkValuesOnly: (BOOL)flag;
Availability: MacOS-X 10.0.0
Description forthcoming.

### setAltIncrementValue:

- (void) setAltIncrementValue: (double)increment;
Availability: OpenStep

Sets the value by which the slider will be be incremented when with the ALT key down to increment.

See Also: -altIncrementValue

### setKnobThickness:

- (void) setKnobThickness: (float)thickness;
Availability: OpenStep

Sets the thickness of the knob to thickness, in pixels. This value sets the amount of space which the knob takes up in the slider's track.

See Also: -knobThickness

### setMaxValue:

- (void) setMaxValue: (double)aDouble;
Availability: OpenStep

Sets the maximum value that the sliders represents to maxValue.

See Also: -maxValue

### setMinValue:

- (void) setMinValue: (double)aDouble;
Availability: OpenStep

Sets the minimum value that the sliders represents to maxValue.

See Also: -minValue

### setNumberOfTickMarks:

- (void) setNumberOfTickMarks: (int)numberOfTickMarks;
Availability: MacOS-X 10.0.0
Description forthcoming.

### setTickMarkPosition:

- (void) setTickMarkPosition: (NSTickMarkPosition)position;
Availability: MacOS-X 10.0.0
Description forthcoming.

### setTitle:

- (void) setTitle: (NSString*)title;
Availability: OpenStep

Sets the title of the slider to barTitle. This title is displayed on the slider's track, behind the knob.

See Also: -title

### setTitleCell:

- (void) setTitleCell: (NSCell*)aCell;
Availability: OpenStep

Sets the cell used to draw the title to titleCell.

See Also: -titleCell

### setTitleColor:

- (void) setTitleColor: (NSColor*)color;
Availability: OpenStep

Sets the colour with which the title will be drawn to color.

See Also: -titleColor

### setTitleFont:

- (void) setTitleFont: (NSFont*)font;
Availability: OpenStep

Sets the font with which the title will be drawm to font.

See Also: -titleFont

### tickMarkPosition

- (NSTickMarkPosition) tickMarkPosition;
Availability: MacOS-X 10.0.0
Description forthcoming.

### tickMarkValueAtIndex:

- (double) tickMarkValueAtIndex: (int)index;
Availability: MacOS-X 10.0.0
Description forthcoming.

### title

- (NSString*) title;
Availability: OpenStep

Returns the title of the slider. This title is displayed on the slider's track, behind the knob.

See Also: -setTitle:

### titleCell

- (id) titleCell;
Availability: OpenStep

Returns the cell used to draw the title.

See Also: -setTitleCell:

### titleColor

- (NSColor*) titleColor;
Availability: OpenStep

Returns the colour used to draw the title.

See Also: -setTitleColor:

### titleFont

- (NSFont*) titleFont;
Availability: OpenStep

Returns the font used to draw the title.

See Also: -setTitleFont:

### trackRect

- (NSRect) trackRect;
Availability: OpenStep
Returns the rect of the track, minus the bezel.

## Instance Variables for NSSliderCell Class

### _allowsTickMarkValuesOnly

@protected BOOL _allowsTickMarkValuesOnly;
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.

### _altIncrementValue

@protected float _altIncrementValue;
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.

### _isVertical

@protected BOOL _isVertical;
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.

### _knobCell

@protected id _knobCell;
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.

### _maxValue

@protected float _maxValue;
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.

### _minValue

@protected float _minValue;
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.

### _numberOfTickMarks

@protected int _numberOfTickMarks;
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.

### _tickMarkPosition

@protected NSTickMarkPosition _tickMarkPosition;
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.

### _titleCell

@protected id _titleCell;
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.

### _trackRect

@protected NSRect _trackRect;
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