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

> Standards:
> - MacOS-X
> - OpenStep
> - GNUstep

Description forthcoming.

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;

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;

Description forthcoming.

### altIncrementValue

- (double) altIncrementValue;

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

### closestTickMarkValueToValue:

- (double) closestTickMarkValueToValue: (double)aValue;

Description forthcoming.

### drawBarInside:flipped:

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

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;

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.

### drawKnob:

- (void) drawKnob: (NSRect)knobRect;

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.

### indexOfTickMarkAtPoint:

- (int) indexOfTickMarkAtPoint: (NSPoint)point;

Description forthcoming.

### isVertical

- (int) isVertical;

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;

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;

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.

### maxValue

- (double) maxValue;

Returns the maximum value that the slider represents.

### minValue

- (double) minValue;

Returns the minimum value that the slider represents.

### numberOfTickMarks

- (int) numberOfTickMarks;

Description forthcoming.

### rectOfTickMarkAtIndex:

- (NSRect) rectOfTickMarkAtIndex: (int)index;

Description forthcoming.

### setAllowsTickMarkValuesOnly:

- (void) setAllowsTickMarkValuesOnly: (BOOL)flag;

Description forthcoming.

### setAltIncrementValue:

- (void) setAltIncrementValue: (double)increment;

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

### setKnobThickness:

- (void) setKnobThickness: (float)thickness;

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.

### setMaxValue:

- (void) setMaxValue: (double)aDouble;

Sets the maximum value that the sliders represents to maxValue.

### setMinValue:

- (void) setMinValue: (double)aDouble;

Sets the minimum value that the sliders represents to maxValue.

### setNumberOfTickMarks:

- (void) setNumberOfTickMarks: (int)numberOfTickMarks;

Description forthcoming.

### setTickMarkPosition:

- (void) setTickMarkPosition: (NSTickMarkPosition)position;

Description forthcoming.

### setTitle:

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

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

### setTitleCell:

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

Sets the cell used to draw the title to titleCell.

### setTitleColor:

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

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

### setTitleFont:

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

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

### tickMarkPosition

- (NSTickMarkPosition) tickMarkPosition;

Description forthcoming.

### tickMarkValueAtIndex:

- (double) tickMarkValueAtIndex: (int)index;

Description forthcoming.

### title

- (NSString*) title;

Description forthcoming.

### titleCell

- (id) titleCell;

Returns the cell used to draw the title.

### titleColor

- (NSColor*) titleColor;

Returns the colour used to draw the title.

### titleFont

- (NSFont*) titleFont;

Returns the font used to draw the title.

### trackRect

- (NSRect) trackRect;

Returns the rect of the track, minus the bezel.

Up