<?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="NSScroller" up="Gui">
  <head>
    <title>NSScroller</title>
    <author name="Ovidiu Predescu">
      <email address="ovidiu@net-community.com">
        ovidiu@net-community.com
      </email>
    </author>
    <author name="Felipe A. Rodriguez">
      <email address="far@ix.netcom.com">
        far@ix.netcom.com
      </email>
    </author>
    <author name="Richard Frith-Macdonald">
      <email address="richard@brainstorm.co.uk">
        richard@brainstorm.co.uk
      </email>
    </author>
    <copy>1996 Free Software Foundation, Inc.</copy>
  </head>
  <body>
    <front><contents /></front>
    <chapter>
      <heading>
        Software documentation for the NSScroller class
      </heading>
      <class name="NSScroller" super="NSControl" ovadd="1.0.0">
        <declared>AppKit/NSScroller.h</declared>
        <conform>NSCoding</conform>
        <desc>
          <p>
            TODO Description
          </p>
        </desc>
        <ivariable type="SEL" name="_action" 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="NSScrollArrowPosition" name="_arrowsPosition" 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="_doubleValue" 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="NSScrollerPart" name="_hitPart" 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="CGFloat" name="_knobProportion" 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="NSScrollerKnobStyle" name="_knobStyle" 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="CGFloat" name="_pendingKnobProportion" 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="NSScrollerStyle" name="_scrollerStyle" 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="_target" 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="NSUsableScrollerParts" name="_usableParts" 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="struct _scFlagsType" name="struct _scFlagsType" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </ivariable>
        <method type="NSScrollerStyle" factory="yes" ovadd="10.7.0">
          <sel>preferredScrollerStyle</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="CGFloat" factory="yes" ovadd="1.0.0">
          <sel>scrollerWidth</sel>
          <desc>
            <p>
              Returns the NSScroller's width. By default 18.
            </p>
            <p>
              Subclasses can override this to provide
              different scrollbar width. But you may need to
              also override
              <ref type="method" id="-drawParts">
                -drawParts
              </ref>
              .
            </p>
          </desc>
        </method>
        <method type="CGFloat" factory="yes" ovadd="10.0.0">
          <sel>scrollerWidthForControlSize:</sel>
          <arg type="NSControlSize">controlSize</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSScrollArrowPosition" ovadd="1.0.0">
          <sel>arrowsPosition</sel>
          <desc>
            <p>
              Returns the position of the NSScroller's arrows
              used for scrolling By default the arrow position is
              set to
              <ref type="type" id="NSScrollArrowPosition">
                NSScrollerArrowsMinEnd
              </ref>
              if the scrolletr is a horizontal scroller and
              <ref type="type" id="NSScrollArrowPosition">
                NSScrollerArrowsMaxEnd
              </ref>
              if the scroller is a vertical scroller. See
              <ref type="type" id="NSScrollArrowPosition">
                NSScrollArrowPosition
              </ref>
              for more informations.
            </p>
            <p>
              See Also:
              <ref type="method" id="-arrowsPosition">
                -arrowsPosition
              </ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>checkSpaceForParts</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSControlSize" ovadd="10.0.0">
          <sel>controlSize</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSControlTint" ovadd="10.0.0">
          <sel>controlTint</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>drawArrow:</sel>
          <arg type="NSScrollerArrow">whichButton</arg>
          <sel>highlight:</sel>
          <arg type="BOOL">flag</arg>
          <desc>
            <p>
              (Un)Highlight the button specified by
              <var>whichButton</var>. <var>whichButton</var>
              should be
              <ref type="type" id="NSScrollerArrow">
                NSScrollerDecrementArrow
              </ref>
              or
              <ref type="type" id="NSScrollerArrow">
                NSScrollerIncrementArrow
              </ref>
            </p>
            <p>
              See Also:
              <ref type="method" id="-setHighlighted:" class="NSCell">
                [NSCell -setHighlighted:]
              </ref>
              <ref type="method" id="-drawWithFrame:inView:" class="NSCell">[NSCell -drawWithFrame:inView:]</ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>drawKnob</sel>
          <desc>
            <p>
              Draws the knob
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>drawKnobSlot</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="10.5.0">
          <sel>drawKnobSlotInRect:</sel>
          <arg type="NSRect">slotRect</arg>
          <sel>highlight:</sel>
          <arg type="BOOL">flag</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>drawParts</sel>
          <desc>
            Cache images for scroll arrows and knob. If you
            override
            <ref type="method" id="+scrollerWidth">
              +scrollerWidth
            </ref>
            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
            <ref type="method" id="-drawArrow:highlight:">
              -drawArrow:highlight:
            </ref>
            and <ref type="method" id="-drawKnob:">-drawKnob:</ref>
            .
          </desc>
        </method>
        <method type="void" gvadd="1.30.0">
          <sel>flashScroller</sel>
          <desc>
            Shows the scroller if it's an overlay scroller. If
            your theme supports overlay scrollers, you must
            override this method.
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>highlight:</sel>
          <arg type="BOOL">flag</arg>
          <desc>
            <p>
              Highlights the button whose under the mouse.
              Does nothing if the mouse is not under a button
            </p>
            <p>
              See Also:
              <ref type="method" id="-drawArrow:highlight:">
                -drawArrow:highlight:
              </ref>
            </p>
          </desc>
        </method>
        <method type="NSScrollerPart" ovadd="1.0.0">
          <sel>hitPart</sel>
          <desc>
            <p>
              Returns the part of the NSScroller that have been
              hit (mouse down) See
              <ref type="type" id="NSScrollerPart">
                NSScrollerPart
              </ref>
              for more information
            </p>
            <p>
              See Also:
              <ref type="method" id="-highlight:">
                -highlight:
              </ref>
              <ref type="method" id="-mouseDown:" class="NSResponder">
                [NSResponder -mouseDown:]
              </ref>
            </p>
          </desc>
        </method>
        <method type="CGFloat" ovadd="1.0.0">
          <sel>knobProportion</sel>
          <desc>
            <p>
              Returns a <strong>float</strong> value (between
              0.0 and 1.0) indicating the ratio between the
              NSScroller length and the knob length
            </p>
          </desc>
        </method>
        <method type="NSScrollerKnobStyle" ovadd="10.7.0">
          <sel>knobStyle</sel>
          <desc>
            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.
          </desc>
        </method>
        <method type="NSRect" ovadd="1.0.0">
          <sel>rectForPart:</sel>
          <arg type="NSScrollerPart">partCode</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSScrollerStyle" ovadd="10.7.0">
          <sel>scrollerStyle</sel>
          <desc>
            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.
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setArrowsPosition:</sel>
          <arg type="NSScrollArrowPosition">where</arg>
          <desc>
            <p>
              Sets the position of the NSScroller arrows used for
              scrolling to <var>where</var> and marks self
              for display. By default the arrow position is set to
              <ref type="type" id="NSScrollArrowPosition">
                NSScrollerArrowsMinEnd
              </ref>
              if the scroller is a horizontal scroller and
              <ref type="type" id="NSScrollArrowPosition">
                NSScrollerArrowsMaxEnd
              </ref>
              if the scroller is a vertical scroller. See
              <ref type="type" id="NSScrollArrowPosition">
                NSScrollArrowPosition
              </ref>
              for more informations.
            </p>
            <p>
              See Also:
              <ref type="method" id="-arrowsPosition">
                -arrowsPosition
              </ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0">
          <sel>setControlSize:</sel>
          <arg type="NSControlSize">controlSize</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0">
          <sel>setControlTint:</sel>
          <arg type="NSControlTint">controlTint</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0" ovrem="10.5.0">
          <sel>setFloatValue:</sel>
          <arg type="float">aFloat</arg>
          <sel>knobProportion:</sel>
          <arg type="CGFloat">ratio</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="10.5.0">
          <sel>setKnobProportion:</sel>
          <arg type="CGFloat">proportion</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="10.7.0">
          <sel>setKnobStyle:</sel>
          <arg type="NSScrollerKnobStyle">style</arg>
          <desc>
            Sets the scroller knob <var>style</var>. 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.
          </desc>
        </method>
        <method type="void" ovadd="10.7.0">
          <sel>setScrollerStyle:</sel>
          <arg type="NSScrollerStyle">style</arg>
          <desc>
            Sets the scroller <var>style</var>. 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.
          </desc>
        </method>
        <method type="NSScrollerPart" ovadd="1.0.0">
          <sel>testPart:</sel>
          <arg type="NSPoint">thePoint</arg>
          <desc>
            <p>
              Returns the NSScroller's part under the point
              <var>thePoint</var>. See
              <ref type="type" id="NSScrollerPart">
                NSScrollerPart
              </ref>
              for more informations
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>trackKnob:</sel>
          <arg type="NSEvent*">theEvent</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>trackScrollButtons:</sel>
          <arg type="NSEvent*">theEvent</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSUsableScrollerParts" ovadd="1.0.0">
          <sel>usableParts</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
      </class>
    </chapter>
  </body>
</gsdoc>
