<?xml version="1.0"?>
<!DOCTYPE gsdoc PUBLIC "-//GNUstep//DTD gsdoc 1.0.4//EN" "http://www.gnustep.org/gsdoc-1_0_4.dtd">
<gsdoc base="NSSliderCell" up="Gui">
  <head>
    <title>NSSliderCell</title>
    <author name="Ovidiu Predescu">
      <email address="ovidiu@net-community.com">
        ovidiu@net-community.com
      </email>
    </author>
    <copy>1996,1999 Free Software Foundation, Inc.</copy>
  </head>
  <body>
    <front><contents /></front>
    <chapter>
      <heading><strong>Class</strong> Description</heading>
      <p>
        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.
      </p>
      <p>
        An NSSliderCell can be customized through its
        <code>set...</code> methods. If these do not provide
        enough customization, a subclass can be created, which
        overrides any of the follwing methods:
        <code>knobRectFlipped:</code>,
        <code>drawBarInside:flipped:</code>,
        <code>drawKnob:</code>, or
        <code>prefersTrackingUntilMouseUp</code>.
      </p>
      <class name="NSSliderCell" super="NSActionCell" ovadd="1.0.0">
        <declared>AppKit/NSSliderCell.h</declared>
        <conform>NSCoding</conform>
        <desc>
          <em>Description forthcoming.</em>
        </desc>
        <ivariable type="BOOL" name="_allowsTickMarkValuesOnly" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="double" name="_altIncrementValue" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="BOOL" name="_isVertical" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="id" name="_knobCell" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="double" name="_maxValue" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="double" name="_minValue" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSInteger" name="_numberOfTickMarks" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSTickMarkPosition" name="_tickMarkPosition" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="id" name="_titleCell" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSRect" name="_trackRect" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSSliderType" name="_type" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="double" name="_value" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <method type="BOOL" factory="yes" ovadd="1.0.0">
          <sel>prefersTrackingUntilMouseUp</sel>
          <desc>
            <p>
              The default implementation returns <code>YES</code>,
              so that the slider continues to track the user's
              movement even if the cursor leaves the slider's
              track.
            </p>
            <p>
              Do not call this method directly. Override it in
              subclasses where the tracking behaviour needs
              to be different.
            </p>
          </desc>
        </method>
        <method type="BOOL" ovadd="10.0.0">
          <sel>allowsTickMarkValuesOnly</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="double" ovadd="1.0.0">
          <sel>altIncrementValue</sel>
          <desc>
            <p>
              Returns the value by which the slider is
              incremented when the user holds down the ALT
              key.
            </p>
            <p>
              See Also:
              <ref type="method" id="-setAltIncrementValue:">
                -setAltIncrementValue:
              </ref>
            </p>
          </desc>
        </method>
        <method type="double" ovadd="10.0.0">
          <sel>closestTickMarkValueToValue:</sel>
          <arg type="double">aValue</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>drawBarInside:</sel>
          <arg type="NSRect">rect</arg>
          <sel>flipped:</sel>
          <arg type="BOOL">flipped</arg>
          <desc>
            <p>
              Draws the slider's track, not including the bezel,
              in <var>aRect</var> <var>flipped</var> indicates
              whether the control view has a <var>flipped</var>
              coordinate system.
            </p>
            <p>
              Do not call this method directly, it is provided for
              subclassing only.
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>drawKnob</sel>
          <desc>
            <p>
              Calculates the rect in which to draw the knob,
              then calls <code>drawKnob:</code> Before calling
              this method, a <code>lockFocus</code> message must
              be sent to the cell's control view.
            </p>
            <p>
              When subclassing NSSliderCell, do not override this
              method. Override <code>drawKnob:</code> instead.
            </p>
            <p>
              See Also:
              <ref type="method" id="-drawKnob:">
                -drawKnob:
              </ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>drawKnob:</sel>
          <arg type="NSRect">knobRect</arg>
          <desc>
            <p>
              Draws the knob in <var>knobRect</var>. Before
              calling this method, a <code>lockFocus</code>
              message must be sent to the cell's control view.
            </p>
            <p>
              Do not call this method directly. It is included for
              subclassing only.
            </p>
            <p>
              See Also:
              <ref type="method" id="-drawKnob">
                -drawKnob
              </ref>
            </p>
          </desc>
        </method>
        <method type="NSInteger" ovadd="10.0.0">
          <sel>indexOfTickMarkAtPoint:</sel>
          <arg type="NSPoint">point</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSInteger" ovadd="1.0.0">
          <sel>isVertical</sel>
          <desc>
            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.
          </desc>
        </method>
        <method type="NSRect" ovadd="1.0.0">
          <sel>knobRectFlipped:</sel>
          <arg type="BOOL">flipped</arg>
          <desc>
            <p>
              Returns the rect in which to draw the knob, based
              on the coordinate system of the NSSlider or NSMatrix
              this NSSliderCell is associated with.
              <var>flipped</var> indicates whether or not that
              coordinate system is <var>flipped</var>, which
              can be determined by sending the
              <code>isFlipped</code> message to the associated
              NSSlider or NSMatrix.
            </p>
            <p>
              Do not call this method directly. It is included for
              subclassing only.
            </p>
          </desc>
        </method>
        <method type="CGFloat" ovadd="1.0.0">
          <sel>knobThickness</sel>
          <desc>
            <p>
              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.
            </p>
            <p>
              See Also:
              <ref type="method" id="-setKnobThickness:">
                -setKnobThickness:
              </ref>
            </p>
          </desc>
        </method>
        <method type="double" ovadd="1.0.0">
          <sel>maxValue</sel>
          <desc>
            <p>
              Returns the maximum value that the slider
              represents.
            </p>
            <p>
              See Also:
              <ref type="method" id="-setMaxValue:">
                -setMaxValue:
              </ref>
            </p>
          </desc>
        </method>
        <method type="double" ovadd="1.0.0">
          <sel>minValue</sel>
          <desc>
            <p>
              Returns the minimum value that the slider
              represents.
            </p>
            <p>
              See Also:
              <ref type="method" id="-setMinValue:">
                -setMinValue:
              </ref>
            </p>
          </desc>
        </method>
        <method type="NSInteger" ovadd="10.0.0">
          <sel>numberOfTickMarks</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSRect" ovadd="10.0.0">
          <sel>rectOfTickMarkAtIndex:</sel>
          <arg type="NSInteger">index</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0">
          <sel>setAllowsTickMarkValuesOnly:</sel>
          <arg type="BOOL">flag</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setAltIncrementValue:</sel>
          <arg type="double">increment</arg>
          <desc>
            <p>
              Sets the value by which the slider will be be
              incremented when with the ALT key down to
              <var>increment</var>.
            </p>
            <p>
              See Also:
              <ref type="method" id="-altIncrementValue">
                -altIncrementValue
              </ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setKnobThickness:</sel>
          <arg type="CGFloat">thickness</arg>
          <desc>
            <p>
              Sets the <var>thickness</var> of the knob to
              <var>thickness</var>, in pixels. This value sets
              the amount of space which the knob takes up in the
              slider's track.
            </p>
            <p>
              See Also:
              <ref type="method" id="-knobThickness">
                -knobThickness
              </ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setMaxValue:</sel>
          <arg type="double">aDouble</arg>
          <desc>
            <p>
              Sets the maximum value that the sliders represents
              to <var>maxValue</var>.
            </p>
            <p>
              See Also:
              <ref type="method" id="-maxValue">
                -maxValue
              </ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setMinValue:</sel>
          <arg type="double">aDouble</arg>
          <desc>
            <p>
              Sets the minimum value that the sliders represents
              to <var>maxValue</var>.
            </p>
            <p>
              See Also:
              <ref type="method" id="-minValue">
                -minValue
              </ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0">
          <sel>setNumberOfTickMarks:</sel>
          <arg type="NSInteger">numberOfTickMarks</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setSliderType:</sel>
          <arg type="NSSliderType">type</arg>
          <desc>
            <p>
              Sets the <var>type</var> of the slider: linear or
              circular.
            </p>
            <p>
              See Also:
              <ref type="method" id="-sliderType">
                -sliderType
              </ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0">
          <sel>setTickMarkPosition:</sel>
          <arg type="NSTickMarkPosition">position</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setTitle:</sel>
          <arg type="NSString*">title</arg>
          <desc>
            <p>
              Sets the <var>title</var> of the slider to
              <var>barTitle</var>. This <var>title</var> is
              displayed on the slider's track, behind the
              knob.
            </p>
            <p>
              See Also: <ref type="method" id="-title">-title</ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setTitleCell:</sel>
          <arg type="NSCell*">aCell</arg>
          <desc>
            <p>
              Sets the cell used to draw the title to
              <var>titleCell</var>.
            </p>
            <p>
              See Also:
              <ref type="method" id="-titleCell">
                -titleCell
              </ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setTitleColor:</sel>
          <arg type="NSColor*">color</arg>
          <desc>
            <p>
              Sets the colour with which the title will be drawn
              to <var>color</var>.
            </p>
            <p>
              See Also:
              <ref type="method" id="-titleColor">
                -titleColor
              </ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setTitleFont:</sel>
          <arg type="NSFont*">font</arg>
          <desc>
            <p>
              Sets the <var>font</var> with which the title will
              be drawm to <var>font</var>.
            </p>
            <p>
              See Also:
              <ref type="method" id="-titleFont">
                -titleFont
              </ref>
            </p>
          </desc>
        </method>
        <method type="NSSliderType" ovadd="1.0.0">
          <sel>sliderType</sel>
          <desc>
            <p>
              Returns the slider type: linear or circular.
            </p>
            <p>
              See Also:
              <ref type="method" id="-setSliderType:">
                -setSliderType:
              </ref>
            </p>
          </desc>
        </method>
        <method type="NSTickMarkPosition" ovadd="10.0.0">
          <sel>tickMarkPosition</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="double" ovadd="10.0.0">
          <sel>tickMarkValueAtIndex:</sel>
          <arg type="NSInteger">index</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSString*" ovadd="1.0.0">
          <sel>title</sel>
          <desc>
            <p>
              Returns the title of the slider. This title is
              displayed on the slider's track, behind the
              knob.
            </p>
            <p>
              See Also:
              <ref type="method" id="-setTitle:">
                -setTitle:
              </ref>
            </p>
          </desc>
        </method>
        <method type="id" ovadd="1.0.0">
          <sel>titleCell</sel>
          <desc>
            <p>
              Returns the cell used to draw the title.
            </p>
            <p>
              See Also:
              <ref type="method" id="-setTitleCell:">
                -setTitleCell:
              </ref>
            </p>
          </desc>
        </method>
        <method type="NSColor*" ovadd="1.0.0">
          <sel>titleColor</sel>
          <desc>
            <p>
              Returns the colour used to draw the title.
            </p>
            <p>
              See Also:
              <ref type="method" id="-setTitleColor:">
                -setTitleColor:
              </ref>
            </p>
          </desc>
        </method>
        <method type="NSFont*" ovadd="1.0.0">
          <sel>titleFont</sel>
          <desc>
            <p>
              Returns the font used to draw the title.
            </p>
            <p>
              See Also:
              <ref type="method" id="-setTitleFont:">
                -setTitleFont:
              </ref>
            </p>
          </desc>
        </method>
        <method type="NSRect" ovadd="1.0.0">
          <sel>trackRect</sel>
          <desc>
            Returns the rect of the track, minus the bezel.
          </desc>
        </method>
      </class>
    </chapter>
  </body>
</gsdoc>
