<!-- $XConsortium: ScrollBA.sgm /main/13 1996/09/30 13:23:57 rws $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->

<RefEntry Id="CDEMMA.MAN385.rsml.1">
<RefMeta>
<RefEntryTitle>XmScrollBar</RefEntryTitle>
<ManVolNum>library call</ManVolNum>
</RefMeta>
<RefNameDiv>
<RefName><Classname>XmScrollBar</Classname></RefName>
<RefPurpose>The ScrollBar widget class
<IndexTerm>
<Primary>XmScrollBar</Primary>
</IndexTerm><IndexTerm>
<Primary>widget class</Primary>
<Secondary>ScrollBar</Secondary>
</IndexTerm></RefPurpose>
</RefNameDiv>
<!-- -->
<!-- @OSF_COPYRIGHT@-->
<!-- COPYRIGHT NOTICE-->
<!-- Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.-->
<!-- ALL RIGHTS RESERVED (MOTIF). See the file named COPY.MOTIF.DOC for-->
<!-- the full copyright text.-->
<!-- -->
<!-- HISTORY-->
<!-- -->
<!-- **-->
<!-- **-->
<!-- **  (c) Copyright 1989, 1990, 1992 by Open Software Foundation, Inc.-->
<!-- **      All Rights Reserved.-->
<!-- **-->
<!-- **  (c) Copyright 1987, 1988, 1989, by Hewlett-Packard Company-->
<!-- **-->
<!-- **  (c) Copyright 1987, 1988 by Digital Equipment Corporation,-->
<!-- **      Maynard, MA.  All Rights Reserved.-->
<!-- **-->
<!-- **-->
<RefSynopsisDiv>
<Synopsis>&npzwc;#include &lt;Xm/ScrollBar.h>
</Synopsis>
</RefSynopsisDiv>
<RefSect1>
<Title>DESCRIPTION</Title>
<Para>The ScrollBar widget allows the user to view data that is too large to be
displayed all at once. ScrollBars are usually located inside a
ScrolledWindow and adjacent to
the widget that contains the data to be viewed. When the user interacts
with the ScrollBar, the data within the other widget scrolls.
</Para>
<Para>A ScrollBar consists of two arrows placed at each end of a rectangle. The
rectangle is called the scroll region. A smaller rectangle, called the
slider, is placed within the scroll region. The data is scrolled by
clicking either arrow, selecting on the scroll region, or dragging the slider.
When an arrow is selected, the slider within the scroll region is
moved in the direction of the arrow by an amount supplied by the
application. If the mouse button is held down, the slider continues to
move at a constant rate.
</Para>
<Para>The ratio of the slider size to the scroll region size typically
corresponds to the
relationship between the size of the visible data and the total size
of the data. For example, if 10 percent of the data is visible, the
slider typically occupies 10 percent of the scroll region. This provides the
user with a visual clue to the size of the invisible data.
</Para>
<Para>If the ScrollBar parent is an automatic ScrolledWindow, the
<SystemItem Class="Resource">XmNtraversalOn</SystemItem> default is True. Otherwise, the default is False.
</Para>
<Para>ScrollBar holds the <Symbol Role="Globalvar">XmQTnavigator</Symbol> traits.
</Para>
<RefSect2>
<Title>Classes</Title>
<Para>ScrollBar inherits behavior, resources, and traits from the <Classname>Core</Classname> and
<Classname>XmPrimitive</Classname> classes.
</Para>
<Para>The class pointer is <Symbol Role="Globalvar">xmScrollBarWidgetClass</Symbol>.
</Para>
<Para>The class name is <Classname>XmScrollBar</Classname>.
</Para>
</RefSect2>
<RefSect2>
<Title>New Resources</Title>
<Para>The following table defines a set of widget resources used by the programmer
to specify data. The programmer can also set the resource values for the
inherited classes to set attributes for this widget. To reference a
resource by name or by class in a <Filename>.Xdefaults</Filename> file, remove the <SystemItem Class="Constant">XmN</SystemItem> or
<SystemItem Class="Constant">XmC</SystemItem> prefix and use the remaining letters. To specify one of the defined
values for a resource in a <Filename>.Xdefaults</Filename> file, remove the <SystemItem Class="Constant">Xm</SystemItem> prefix and use
the remaining letters (in either lowercase or uppercase, but include any
underscores between words).
The codes in the access column indicate if the given resource can be
set at creation time (C),
set by using <Function>XtSetValues</Function> (S),
retrieved by using <Function>XtGetValues</Function> (G), or is not applicable (N/A).
</Para>
<Para><!-- --><!-- @OSF_COPYRIGHT@--><!-- COPYRIGHT NOTICE--><!-- Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.--><!-- ALL RIGHTS RESERVED (MOTIF). See the file named COPY.MOTIF.DOC for--><!-- the full copyright text.--><!-- --><!-- HISTORY--><!-- --></Para>
<InformalTable Frame="All" Remap="center" Orient="Port">
<TGroup Cols="5">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="1">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="2">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="3">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="4">
<ColSpec Rowsep="1" Align="Left" Colname="5">
<TBody>
<Row>
<Entry Align="Center" Nameend="5" Namest="1"><Literal>XmScrollBar Resource Set</Literal></Entry>
</Row>
<Row>
<Entry Rowsep="1"><Literal>Name</Literal></Entry>
<Entry Rowsep="1"><Literal>Class</Literal></Entry>
<Entry Rowsep="1"><Literal>Type</Literal></Entry>
<Entry Rowsep="1"><Literal>Default</Literal></Entry>
<Entry Rowsep="1"><Literal>Access</Literal></Entry>
</Row>
<Row>
<Entry>XmNdecrementCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNdragCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNeditable</Entry>
<Entry>XmCEditable</Entry>
<Entry>Boolean</Entry>
<Entry>True</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNincrement</Entry>
<Entry>XmCIncrement</Entry>
<Entry>int</Entry>
<Entry>1</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNincrementCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNinitialDelay</Entry>
<Entry>XmCInitialDelay</Entry>
<Entry>int</Entry>
<Entry>250 ms</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNmaximum</Entry>
<Entry>XmCMaximum</Entry>
<Entry>int</Entry>
<Entry>100</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNminimum</Entry>
<Entry>XmCMinimum</Entry>
<Entry>int</Entry>
<Entry>0</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNorientation</Entry>
<Entry>XmCOrientation</Entry>
<Entry>unsigned char</Entry>
<Entry>XmVERTICAL</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNpageDecrementCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNpageIncrement</Entry>
<Entry>XmCPageIncrement</Entry>
<Entry>int</Entry>
<Entry>10</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNpageIncrementCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNprocessingDirection</Entry>
<Entry>XmCProcessingDirection</Entry>
<Entry>unsigned char</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNrepeatDelay</Entry>
<Entry>XmCRepeatDelay</Entry>
<Entry>int</Entry>
<Entry>50 ms</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNshowArrows</Entry>
<Entry>XmCShowArrows</Entry>
<Entry>XtEnum</Entry>
<Entry>XmEACH_SIDE</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNsliderSize</Entry>
<Entry>XmCSliderSize</Entry>
<Entry>int</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNsliderMark</Entry>
<Entry>XmCSliderMark</Entry>
<Entry>XtEnum</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNsliderVisual</Entry>
<Entry>XmCSliderVisual</Entry>
<Entry>XtEnum</Entry>
<Entry>XmSHADOWED</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNslidingMode</Entry>
<Entry>XmCSlidingMode</Entry>
<Entry>XtEnum</Entry>
<Entry>XmSLIDER</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNsnapBackMultiple</Entry>
<Entry>XmCSnapBackMultiple</Entry>
<Entry>unsigned short</Entry>
<Entry>MaxValue</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNtoBottomCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNtoTopCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNtroughColor</Entry>
<Entry>XmCTroughColor</Entry>
<Entry>Pixel</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNvalue</Entry>
<Entry>XmCValue</Entry>
<Entry>int</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNvalueChangedCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<VariableList>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNdecrementCallback</SystemItem></Term>
<ListItem>
<Para>Specifies the list of callbacks that is called when the user takes an
action that moves the ScrollBar by one increment and the value
decreases.
The reason passed to the callback is <SystemItem Class="Constant">XmCR_DECREMENT</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNdragCallback</SystemItem></Term>
<ListItem>
<Para>Specifies the list of callbacks that is called
on each incremental change of position
when the slider is being dragged. The reason sent by the
callback is <SystemItem Class="Constant">XmCR_DRAG</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNeditable</SystemItem></Term>
<ListItem>
<Para>Specifies how ScrollBar will react to user input. This
resource can be True or False values, as follows:
</Para>
<VariableList>
<VarListEntry>
<Term><SystemItem Class="Constant">True</SystemItem></Term>
<ListItem>
<Para>Allows the scrollbar to be sensitive to user input. This is the
default value.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">False</SystemItem></Term>
<ListItem>
<Para>Makes the Scale scrollbar insensitive to user input. The visual is not
greyed out. This value would mostly be used in <SystemItem Class="Constant">XmTHERMOMETER</SystemItem>
mode.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
<para>
When <SystemItem Class="Resource">XmNeditable</SystemItem> is used on a widget
it sets the dropsite to <SystemItem Class="Constant">XmDROP_SITE_ACTIVE</SystemItem>.
</PARA>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNincrement</SystemItem></Term>
<ListItem>
<Para>Specifies the amount by which the value increases or decreases when the
user takes an action that moves the slider by one increment.
The actual change in value is the lesser of <SystemItem Class="Resource">XmNincrement</SystemItem> and
(previous <SystemItem Class="Resource">XmNvalue</SystemItem>&ensp;&minus; <SystemItem Class="Resource">XmNminimum</SystemItem>) when the slider moves to
the end of the ScrollBar with the minimum value,
and the lesser of <SystemItem Class="Resource">XmNincrement</SystemItem>
and (<SystemItem Class="Resource">XmNmaximum</SystemItem>&minus; <SystemItem Class="Resource">XmNsliderSize</SystemItem>&ensp;&minus;
previous <SystemItem Class="Resource">XmNvalue</SystemItem>) when the slider moves to the end of the
ScrollBar with the maximum value.
The value of this resource must be greater than 0 (zero).
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNincrementCallback</SystemItem></Term>
<ListItem>
<Para>Specifies the list of callbacks that is called when the user takes an
action that moves the ScrollBar by one increment and the value
increases.
The reason passed to the callback is <SystemItem Class="Constant">XmCR_INCREMENT</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNinitialDelay</SystemItem></Term>
<ListItem>
<Para>Specifies the amount of time in milliseconds to wait before starting
continuous
slider movement while a button is pressed in an arrow or the scroll region.
The value of this resource must be greater than 0 (zero).
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNmaximum</SystemItem></Term>
<ListItem>
<Para>Specifies the slider's maximum value.
<SystemItem Class="Resource">XmNmaximum</SystemItem> must be greater than <SystemItem Class="Resource">XmNminimum</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNminimum</SystemItem></Term>
<ListItem>
<Para>Specifies the slider's minimum value.
<SystemItem Class="Resource">XmNmaximum</SystemItem> must be greater than <SystemItem Class="Resource">XmNminimum</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNorientation</SystemItem></Term>
<ListItem>
<Para>Specifies whether the ScrollBar is displayed vertically or horizontally.
This resource can have values of <SystemItem Class="Constant">XmVERTICAL</SystemItem> and <SystemItem Class="Constant">XmHORIZONTAL</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNpageDecrementCallback</SystemItem></Term>
<ListItem>
<Para>Specifies the list of callbacks that is called when the user takes an
action that moves the ScrollBar by one page increment and the value
decreases.
The reason passed to the callback is <SystemItem Class="Constant">XmCR_PAGE_DECREMENT</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNpageIncrement</SystemItem></Term>
<ListItem>
<Para>Specifies the amount by which the value increases or decreases when
the user takes an action that moves the slider by one page increment.
The actual change in value is the lesser of <SystemItem Class="Resource">XmNpageIncrement</SystemItem> and
(previous <SystemItem Class="Resource">XmNvalue</SystemItem>&ensp;&minus; <SystemItem Class="Resource">XmNminimum</SystemItem>) when the slider moves to
the end of the ScrollBar with the
minimum value, and the lesser of
<SystemItem Class="Resource">XmNpageIncrement</SystemItem> and (<SystemItem Class="Resource">XmNmaximum</SystemItem>&minus; <SystemItem Class="Resource">XmNsliderSize</SystemItem>&ensp;&minus;
previous <SystemItem Class="Resource">XmNvalue</SystemItem>) when the slider moves to the end of the
ScrollBar with the maximum value.
The value of this resource must be greater than 0 (zero).
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNpageIncrementCallback</SystemItem></Term>
<ListItem>
<Para>Specifies the list of callbacks that is called when the user takes an
action that moves the ScrollBar by one page increment and the value
increases.
The reason passed to the callback is <SystemItem Class="Constant">XmCR_PAGE_INCREMENT</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNprocessingDirection</SystemItem></Term>
<ListItem>
<Para>Specifies whether the value for <SystemItem Class="Resource">XmNmaximum</SystemItem> should be on the right or
left side of <SystemItem Class="Resource">XmNminimum</SystemItem> for horizontal ScrollBars
or above or below <SystemItem Class="Resource">XmNminimum</SystemItem> for vertical ScrollBars.
This resource can have values of <Literal>XmMAX_ON_TOP, XmMAX_ON_BOTTOM,
XmMAX_ON_LEFT</Literal>, and <SystemItem Class="Constant">XmMAX_ON_RIGHT</SystemItem>.
If the ScrollBar is oriented vertically,
the default value is
<SystemItem Class="Constant">XmMAX_ON_BOTTOM</SystemItem>.
If the ScrollBar is oriented horizontally,
the default value
depends on the <SystemItem Class="Resource">XmNlayoutDirection</SystemItem> resource of the widget.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNrepeatDelay</SystemItem></Term>
<ListItem>
<Para>Specifies the amount of time in milliseconds to wait between
subsequent slider movements after the <SystemItem Class="Resource">XmNinitialDelay</SystemItem> has been processed.
The value of this resource must be greater than 0 (zero).
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNshowArrows</SystemItem></Term>
<ListItem>
<Para>Specifies whether the arrows are
displayed and how they are to be displayed. This resource can take the
following values:
</Para>
<VariableList>
<VarListEntry>
<Term><SystemItem Class="Constant">XmEACH_SIDE</SystemItem></Term>
<ListItem>
<Para>Indicates that one arrow is displayed on each end of the ScrollBar
slider. This corresponds to a value of True in previous releases.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmMAX_SIDE</SystemItem></Term>
<ListItem>
<Para>Indicates that both arrows are displayed on the <SystemItem Class="Resource">XmNmaximum</SystemItem> side of
the ScrollBar slider.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmMIN_SIDE</SystemItem></Term>
<ListItem>
<Para>Indicates that both arrows are displayed on the <SystemItem Class="Resource">XmNminimum</SystemItem> side of
the ScrollBar slider.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmNONE</SystemItem></Term>
<ListItem>
<Para>Indicates that no arrows are displayed. This corresponds to a value
of False in previous releases.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
<Para><SystemItem Class="Constant">XmEACH_SIDE</SystemItem> is the default value.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNsliderMark</SystemItem></Term>
<ListItem>
<Para>Specifies the shape the slider is to be displayed in. This resource
can take the following values:
</Para>
<VariableList>
<VarListEntry>
<Term><SystemItem Class="Constant">XmETCHED_LINE</SystemItem></Term>
<ListItem>
<Para>Specifies the slider as an etched line.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmNONE</SystemItem></Term>
<ListItem>
<Para>Specifies the slider as a foregrounded rectangle. This is the default
for a regular slider.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmROUND_MARK</SystemItem></Term>
<ListItem>
<Para>Specifies the slider as a shadowed circle. This is the default when
the slider is a thermometer.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmTHUMB_MARK</SystemItem></Term>
<ListItem>
<Para>Specifies the slider as a series of three etched lines centered in the
middle of the slider.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNslidingMode</SystemItem></Term>
<ListItem>
<Para>Specifies the mode the slider works in. There are two possible modes:
</Para>
<VariableList>
<VarListEntry>
<Term><SystemItem Class="Constant">XmSLIDER</SystemItem></Term>
<ListItem>
<Para>Allows the slider to move freely between the minimum and maximum ends
of the scale. This is the default value.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmTHERMOMETER</SystemItem></Term>
<ListItem>
<Para>Forces the slider to be anchored to one side of the trough area.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNsliderSize</SystemItem></Term>
<ListItem>
<Para>Specifies the length of the slider between the values of 1 and
(<SystemItem Class="Resource">XmNmaximum</SystemItem>&ensp;&minus; <SystemItem Class="Resource">XmNminimum</SystemItem>).
The value is constrained to be within these inclusive bounds.
The default value is (<SystemItem Class="Resource">XmNmaximum</SystemItem>&ensp;&minus; <SystemItem Class="Resource">XmNminimum</SystemItem>) divided by
10, with a minimum of 1.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNsliderVisual</SystemItem></Term>
<ListItem>
<Para>Specifies the color of the slider visual. This resource can take
the following values:
</Para>
<VariableList>
<VarListEntry>
<Term><SystemItem Class="Constant">XmBACKGROUND_COLOR</SystemItem></Term>
<ListItem>
<Para>Specifies that the slider visual is in the background color.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmFOREGROUND_COLOR</SystemItem></Term>
<ListItem>
<Para>Specifies that the slider visual is in the foreground color.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmSHADOWED_BACKGROUND</SystemItem></Term>
<ListItem>
<Para>Specifies that the slider visual is in the background color, with a shadow.
This is the
default for a regular slider.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmTROUGH_COLOR</SystemItem></Term>
<ListItem>
<Para>Specifies that the slider visual is in the trough color. This is the
default when the slider is a thermometer.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNsnapBackMultiple</SystemItem></Term>
<ListItem>
<Para>Specifies the distance over which the scrollbar slider snaps back to its
original position when the user drags the mouse outside the ScrollBar
edge. This distance is defined in terms of multiples of
the width of the slider. For example, a multiple of 0 (zero) causes the
slider to snap back as soon as the pointer moves out of the ScrollBar
frame, a multiple of 1 causes the slider to snap back as soon as the
pointer moves beyond 1 ScrollBar width of the ScrollBar edge.
Whenever the slider snaps back, the ScrollBar <Literal>dragCallback</Literal> is
called if there is one.
</Para>
<Para>The default value is large enough to prevent unwanted snapBack
activity if the mouse is moved within the boundaries of any reasonable
screen. To reset the default, set this resource to a large value,
such as 10000.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNtoBottomCallback</SystemItem></Term>
<ListItem>
<Para>Specifies the list of callbacks that is called when the user takes an
action that moves the slider to the end of the ScrollBar with the
maximum value.
The reason passed to the callback is <SystemItem Class="Constant">XmCR_TO_BOTTOM</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNtoTopCallback</SystemItem></Term>
<ListItem>
<Para>Specifies the list of callbacks that is called when the user takes an
action that moves the slider to the end of the ScrollBar with the
minimum value.
The reason passed to the callback is <SystemItem Class="Constant">XmCR_TO_TOP</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNtroughColor</SystemItem></Term>
<ListItem>
<Para>Specifies the color of the slider trough.
This color defaults to the color used for selections.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNvalue</SystemItem></Term>
<ListItem>
<Para>Specifies the slider's position, between <SystemItem Class="Resource">XmNminimum</SystemItem> and
(<SystemItem Class="Resource">XmNmaximum</SystemItem>&ensp;&minus; <SystemItem Class="Resource">XmNsliderSize</SystemItem>).
The value is constrained to be within these inclusive bounds.
The initial value of this resource is the larger of 0 (zero) and <SystemItem Class="Resource">XmNminimum</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNvalueChangedCallback</SystemItem></Term>
<ListItem>
<Para>Specifies the list of callbacks that is called when the slider is
released after being dragged.
These callbacks are also called in place of <SystemItem Class="Resource">XmNincrementCallback</SystemItem>,
<SystemItem Class="Resource">XmNdecrementCallback</SystemItem>, <SystemItem Class="Resource">XmNpageIncrementCallback</SystemItem>,
<SystemItem Class="Resource">XmNpageDecrementCallback</SystemItem>, <SystemItem Class="Resource">XmNtoTopCallback</SystemItem>, or
<SystemItem Class="Resource">XmNtoBottomCallback</SystemItem> when one of these callback lists would
normally be called but the value of the corresponding resource is NULL.
The reason passed to the callback is <SystemItem Class="Constant">XmCR_VALUE_CHANGED</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
</RefSect2>
<RefSect2>
<Title>Inherited Resources</Title>
<Para>ScrollBar inherits behavior and resources from the
superclasses described in the following tables.
For a complete description of each resource, refer to the
reference page for that superclass.
</Para>
<Para><!-- --><!-- @OSF_COPYRIGHT@--><!-- COPYRIGHT NOTICE--><!-- Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.--><!-- ALL RIGHTS RESERVED (MOTIF). See the file named COPY.MOTIF.DOC for--><!-- the full copyright text.--><!-- --><!-- HISTORY--><!-- --></Para>
<InformalTable Frame="All" Remap="center" Orient="Port">
<TGroup Cols="5">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="1">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="2">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="3">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="4">
<ColSpec Rowsep="1" Align="Left" Colname="5">
<TBody>
<Row>
<Entry Align="Center" Nameend="5" Namest="1"><Literal>XmPrimitive Resource Set</Literal></Entry>
</Row>
<Row>
<Entry Rowsep="1"><Literal>Name</Literal></Entry>
<Entry Rowsep="1"><Literal>Class</Literal></Entry>
<Entry Rowsep="1"><Literal>Type</Literal></Entry>
<Entry Rowsep="1"><Literal>Default</Literal></Entry>
<Entry Rowsep="1"><Literal>Access</Literal></Entry>
</Row>
<Row>
<Entry>XmNbottomShadowColor</Entry>
<Entry>XmCBottomShadowColor</Entry>
<Entry>Pixel</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNbottomShadowPixmap</Entry>
<Entry>XmCBottomShadowPixmap</Entry>
<Entry>Pixmap</Entry>
<Entry>XmUNSPECIFIED_PIXMAP</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNconvertCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNforeground</Entry>
<Entry>XmCForeground</Entry>
<Entry>Pixel</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNhelpCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNhighlightColor</Entry>
<Entry>XmCHighlightColor</Entry>
<Entry>Pixel</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNhighlightOnEnter</Entry>
<Entry>XmCHighlightOnEnter</Entry>
<Entry>Boolean</Entry>
<Entry>False</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNhighlightPixmap</Entry>
<Entry>XmCHighlightPixmap</Entry>
<Entry>Pixmap</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNhighlightThickness</Entry>
<Entry>XmCHighlightThickness</Entry>
<Entry>Dimension</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<!--no-op:  .tH-->
<Row>
<Entry>XmNlayoutDirection</Entry>
<Entry>XmCLayoutDirection</Entry>
<Entry>XmDirection</Entry>
<Entry>dynamic</Entry>
<Entry>CG</Entry>
</Row>
<Row>
<Entry>XmNnavigationType</Entry>
<Entry>XmCNavigationType</Entry>
<Entry>XmNavigationType</Entry>
<Entry>XmSTICKY_TAB_GROUP</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNpopupHandlerCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNshadowThickness</Entry>
<Entry>XmCShadowThickness</Entry>
<Entry>Dimension</Entry>
<Entry>2</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNtopShadowColor</Entry>
<Entry>XmCTopShadowColor</Entry>
<Entry>Pixel</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNtopShadowPixmap</Entry>
<Entry>XmCTopShadowPixmap</Entry>
<Entry>Pixmap</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNtraversalOn</Entry>
<Entry>XmCTraversalOn</Entry>
<Entry>Boolean</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNunitType</Entry>
<Entry>XmCUnitType</Entry>
<Entry>unsigned char</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNuserData</Entry>
<Entry>XmCUserData</Entry>
<Entry>XtPointer</Entry>
<Entry>NULL</Entry>
<Entry>CSG</Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para><!-- --><!-- @OSF_COPYRIGHT@--><!-- COPYRIGHT NOTICE--><!-- Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.--><!-- ALL RIGHTS RESERVED (MOTIF). See the file named COPY.MOTIF.DOC for--><!-- the full copyright text.--><!-- --><!-- HISTORY--><!-- --><!--no-op:  .in--></Para>
<InformalTable Frame="All" Remap="center" Orient="Port">
<TGroup Cols="5">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="1">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="2">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="3">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="4">
<ColSpec Rowsep="1" Align="Left" Colname="5">
<TBody>
<Row>
<Entry Align="Center" Nameend="5" Namest="1"><Literal>Core Resource Set</Literal></Entry>
</Row>
<Row>
<Entry Rowsep="1"><Literal>Name</Literal></Entry>
<Entry Rowsep="1"><Literal>Class</Literal></Entry>
<Entry Rowsep="1"><Literal>Type</Literal></Entry>
<Entry Rowsep="1"><Literal>Default</Literal></Entry>
<Entry Rowsep="1"><Literal>Access</Literal></Entry>
</Row>
<Row>
<Entry>XmNaccelerators</Entry>
<Entry>XmCAccelerators</Entry>
<Entry>XtAccelerators</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNancestorSensitive</Entry>
<Entry>XmCSensitive</Entry>
<Entry>Boolean</Entry>
<Entry>dynamic</Entry>
<Entry>G</Entry>
</Row>
<Row>
<Entry>XmNbackground</Entry>
<Entry>XmCBackground</Entry>
<Entry>Pixel</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNbackgroundPixmap</Entry>
<Entry>XmCPixmap</Entry>
<Entry>Pixmap</Entry>
<Entry>XmUNSPECIFIED_PIXMAP</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNborderColor</Entry>
<Entry>XmCBorderColor</Entry>
<Entry>Pixel</Entry>
<Entry>XtDefaultForeground</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNborderPixmap</Entry>
<Entry>XmCPixmap</Entry>
<Entry>Pixmap</Entry>
<Entry>XmUNSPECIFIED_PIXMAP</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNborderWidth</Entry>
<Entry>XmCBorderWidth</Entry>
<Entry>Dimension</Entry>
<Entry>0</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNcolormap</Entry>
<Entry>XmCColormap</Entry>
<Entry>Colormap</Entry>
<Entry>dynamic</Entry>
<Entry>CG</Entry>
</Row>
<Row>
<Entry>XmNdepth</Entry>
<Entry>XmCDepth</Entry>
<Entry>int</Entry>
<Entry>dynamic</Entry>
<Entry>CG</Entry>
</Row>
<Row>
<Entry>XmNdestroyCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNheight</Entry>
<Entry>XmCHeight</Entry>
<Entry>Dimension</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNinitialResourcesPersistent</Entry>
<Entry>XmCInitialResourcesPersistent</Entry>
<Entry>Boolean</Entry>
<Entry>True</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNmappedWhenManaged</Entry>
<Entry>XmCMappedWhenManaged</Entry>
<Entry>Boolean</Entry>
<Entry>True</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNscreen</Entry>
<Entry>XmCScreen</Entry>
<Entry>Screen *</Entry>
<Entry>dynamic</Entry>
<Entry>CG</Entry>
</Row>
<Row>
<Entry>XmNsensitive</Entry>
<Entry>XmCSensitive</Entry>
<Entry>Boolean</Entry>
<Entry>True</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNtranslations</Entry>
<Entry>XmCTranslations</Entry>
<Entry>XtTranslations</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNwidth</Entry>
<Entry>XmCWidth</Entry>
<Entry>Dimension</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNx</Entry>
<Entry>XmCPosition</Entry>
<Entry>Position</Entry>
<Entry>0</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNy</Entry>
<Entry>XmCPosition</Entry>
<Entry>Position</Entry>
<Entry>0</Entry>
<Entry>CSG</Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
</RefSect2>
<RefSect2>
<Title>Callback Information</Title>
<Para>A pointer to the following structure is passed to each callback:
</Para>
<Synopsis>typedef struct
{
        int <Symbol Role="Variable">reason</Symbol>;
        XEvent <Symbol Role="Variable">* event</Symbol>;
        int <Symbol Role="Variable">value</Symbol>;
        int <Symbol Role="Variable">pixel</Symbol>;
} XmScrollBarCallbackStruct;</Synopsis>
<!--no-op:  .fi-->
<VariableList>
<VarListEntry>
<Term><Symbol Role="Variable">reason</Symbol></Term>
<ListItem>
<Para>Indicates why the callback was invoked.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">event</Symbol></Term>
<ListItem>
<Para>Points to the <Symbol>XEvent</Symbol> that triggered the callback.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">value</Symbol></Term>
<ListItem>
<Para>Contains the new slider location value.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">pixel</Symbol></Term>
<ListItem>
<Para>Is used only for <SystemItem Class="Resource">XmNtoTopCallback</SystemItem> and <SystemItem Class="Resource">XmNtoBottomCallback</SystemItem>.
For horizontal ScrollBars, it contains the <Emphasis>x</Emphasis> coordinate of where
the mouse button selection occurred. For vertical ScrollBars, it
contains the <Emphasis>y</Emphasis> coordinate.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
<!-- -->
<!-- @OSF_COPYRIGHT@-->
<!-- COPYRIGHT NOTICE-->
<!-- Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.-->
<!-- ALL RIGHTS RESERVED (MOTIF). See the file named COPY.MOTIF.DOC for-->
<!-- the full copyright text.-->
<!-- -->
<!-- HISTORY-->
<!-- -->
<!-- Action Table for XmScrollBar -->
</RefSect2>
<RefSect2>
<Title>Translations</Title>
<Para><Classname>XmScrollBar</Classname> includes translations from Primitive.
The <Classname>XmScrollBar</Classname> translations are described in the following
list.
</Para>
<Para>The following key names are listed in the
X standard key event translation table syntax.
This format is the one used by Motif to
specify the widget actions corresponding to a given key.
A brief overview of the format is provided under
&cdeman.VirtualBindings;.
For a complete description of the format, please refer to the
X Toolkit Instrinsics Documentation.
</Para>
<VariableList>
<VarListEntry>
<Term><Literal>&ap;s &ap;c &ap;m &ap;a</Literal> <KeySym>Btn1Down</KeySym>:</Term>
<ListItem>
<Para><Action>Select()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>&ap;s &ap;c &ap;m &ap;a</Literal> <KeySym>Btn1Up</KeySym>:</Term>
<ListItem>
<Para><Action>Release()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>&ap;s &ap;c &ap;m &ap;a Button1</Literal><KeySym>PtrMoved</KeySym>:</Term>
<ListItem>
<Para><Action>Moved()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>&ap;s &ap;c &ap;m &ap;a</Literal> <KeySym>Btn2Down</KeySym>:</Term>
<ListItem>
<Para><Action>Select()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>&ap;s &ap;c &ap;m &ap;a</Literal> <KeySym>Btn2Up</KeySym>:</Term>
<ListItem>
<Para><Action>Release()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>&ap;s &ap;c &ap;m &ap;a Button2</Literal><KeySym>PtrMoved</KeySym>:</Term>
<ListItem>
<Para><Action>Moved()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>&ap;s c &ap;m &ap;a</Literal> <KeySym>Btn1Down</KeySym>:</Term>
<ListItem>
<Para><Action>TopOrBottom()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>&ap;s c &ap;m &ap;a</Literal> <KeySym>Btn1Up</KeySym>:</Term>
<ListItem>
<Para><Action>Release()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfActivate</KeySym>:</Term>
<ListItem>
<Para><Action>PrimitiveParentActivate()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfCancel</KeySym>:</Term>
<ListItem>
<Para><Action>CancelDrag()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfBeginLine</KeySym>:</Term>
<ListItem>
<Para><Action>TopOrBottom()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfEndLine</KeySym>:</Term>
<ListItem>
<Para><Action>TopOrBottom()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfPageLeft</KeySym>:</Term>
<ListItem>
<Para><Action>PageUpOrLeft(<Symbol Role="Define">Left</Symbol>)</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:c</Literal> <KeySym>Key</KeySym><KeySym>osfPageUp</KeySym>:</Term>
<ListItem>
<Para><Action>PageUpOrLeft(<Symbol Role="Define">Left</Symbol>)</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfPageUp</KeySym>:</Term>
<ListItem>
<Para><Action>PageUpOrLeft(<Symbol Role="Define">Up</Symbol>)</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfPageRight</KeySym>:</Term>
<ListItem>
<Para><Action>PageDownOrRight(<Symbol Role="Define">Right</Symbol>)</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:c</Literal> <KeySym>Key</KeySym><KeySym>osfPageDown</KeySym>:</Term>
<ListItem>
<Para><Action>PageDownOrRight(<Symbol Role="Define">Right</Symbol>)</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfPageDown</KeySym>:</Term>
<ListItem>
<Para><Action>PageDownOrRight(<Symbol Role="Define">Down</Symbol>)</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfHelp</KeySym>:</Term>
<ListItem>
<Para><Action>PrimitiveHelp()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:c</Literal> <KeySym>Key</KeySym><KeySym>osfUp</KeySym>:</Term>
<ListItem>
<Para><Action>PageUpOrLeft(<Symbol Role="Define">Up</Symbol>)</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfUp</KeySym>:</Term>
<ListItem>
<Para><Action>IncrementUpOrLeft(<Symbol Role="Define">Up</Symbol>)</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:c</Literal> <KeySym>Key</KeySym><KeySym>osfDown</KeySym>:</Term>
<ListItem>
<Para><Action>PageDownOrRight(<Symbol Role="Define">Down</Symbol>)</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfDown</KeySym>:</Term>
<ListItem>
<Para><Action>IncrementDownOrRight(<Symbol Role="Define">Down</Symbol>)</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:c</Literal> <KeySym>Key</KeySym><KeySym>osfLeft</KeySym>:</Term>
<ListItem>
<Para><Action>PageUpOrLeft(<Symbol Role="Define">Left</Symbol>)</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfLeft</KeySym>:</Term>
<ListItem>
<Para><Action>IncrementUpOrLeft(<Symbol Role="Define">Left</Symbol>)</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:c</Literal> <KeySym>Key</KeySym><KeySym>osfRight</KeySym>:</Term>
<ListItem>
<Para><Action>PageDownOrRight(<Symbol Role="Define">Right</Symbol>)</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfRight</KeySym>:</Term>
<ListItem>
<Para><Action>IncrementDownOrRight(<Symbol Role="Define">Right</Symbol>)</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>&ap;s &ap;m &ap;a</Literal> <KeySym>Key</KeySym><Literal>Return</Literal>:</Term>
<ListItem>
<Para><Action>PrimitiveParentActivate()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>s &ap;m &ap;a</Literal> <KeySym>Key</KeySym><Literal>Tab</Literal>:</Term>
<ListItem>
<Para><Action>PrimitivePrevTabGroup()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>&ap;m &ap;a</Literal> <KeySym>Key</KeySym><Literal>Tab</Literal>:</Term>
<ListItem>
<Para><Action>PrimitiveNextTabGroup()</Action>
</Para>
</ListItem>
</VarListEntry>
</VariableList>
<!--These translations may not directly correspond to a
translation table.
.VL 2i 0 1
.LI "&bsol;*LBSelect Press:&bsol;*O"
&bsol;*LSelect()&bsol;*O
.LI "&bsol;*LBSelect Release:&bsol;*O"
&bsol;*LRelease()&bsol;*O
.LI "&bsol;*LBSelect Press Moved:&bsol;*O"
&bsol;*LMoved()&bsol;*O
.LI "&bsol;*LBTransfer Press:&bsol;*O"
&bsol;*LSelect()&bsol;*O
.LI "&bsol;*LBTransfer Release:&bsol;*O"
&bsol;*LRelease()&bsol;*O
.LI "&bsol;*LBTransfer Press Moved:&bsol;*O"
&bsol;*LMoved()&bsol;*O
.LI "&bsol;*LMCtrl BSelect Press:&bsol;*O"
&bsol;*LTopOrBottom()&bsol;*O
.LI "&bsol;*LMCtrl BSelect Release:&bsol;*O"
&bsol;*LRelease()&bsol;*O
.zA "enhancement, 6334, R2.0, Changed numeric arguments"
.LI "&bsol;*LKUp:&bsol;*O"
&bsol;*LIncrementUpOrLeft(Up)&bsol;*O
.LI "&bsol;*LMCtrl KUp:&bsol;*O"
&bsol;*LPageUpOrLeft(Up)&bsol;*O
.LI "&bsol;*LKDown:&bsol;*O"
&bsol;*LIncrementDownOrRight(Down)&bsol;*O
.LI "&bsol;*LMCtrl KDown:&bsol;*O"
&bsol;*LPageDownOrRight(Down)&bsol;*O
.LI "&bsol;*LKLeft:&bsol;*O"
&bsol;*LIncrementUpOrLeft(Left)&bsol;*O
.LI "&bsol;*LMCtrl KLeft:&bsol;*O"
&bsol;*LPageUpOrLeft(Left)&bsol;*O
.LI "&bsol;*LKRight:&bsol;*O"
&bsol;*LIncrementDownOrRight(Right)&bsol;*O
.LI "&bsol;*LMCtrl KRight:&bsol;*O"
&bsol;*LPageDownOrRight(Right)&bsol;*O
.LI "&bsol;*LKPageUp:&bsol;*O"
&bsol;*LPageUpOrLeft(Up)&bsol;*O
.LI "&bsol;*LKPageDown:&bsol;*O"
&bsol;*LPageDownOrRight(Down)&bsol;*O
.LI "&bsol;*LKPageLeft:&bsol;*O"
&bsol;*LPageUpOrLeft(Left)&bsol;*O
.LI "&bsol;*LKPageRight:&bsol;*O"
&bsol;*LPageDownOrRight(Right)&bsol;*O
.zZ "enhancement, 6334, R2.0, Changed numeric arguments"
.LI "&bsol;*LKBeginLine:&bsol;*O"
&bsol;*LTopOrBottom()&bsol;*O
.LI "&bsol;*LKEndLine:&bsol;*O"
&bsol;*LTopOrBottom()&bsol;*O
.LI "&bsol;*LKBeginData:&bsol;*O"
&bsol;*LTopOrBottom()&bsol;*O
.LI "&bsol;*LKEndData:&bsol;*O"
&bsol;*LTopOrBottom()&bsol;*O
.LI "&bsol;*LKNextField:&bsol;*O"
&bsol;*LPrimitiveNextTabGroup()&bsol;*O
.LI "&bsol;*LKPrevField:&bsol;*O"
&bsol;*LPrimitivePrevTabGroup()&bsol;*O
.LI "&bsol;*LKActivate:&bsol;*O"
&bsol;*LPrimitiveParentActivate()&bsol;*O
.LI "&bsol;*LKCancel:&bsol;*O"
&bsol;*LCancelDrag()&bsol;*O
.LI "&bsol;*LKHelp:&bsol;*O"
&bsol;*LPrimitiveHelp()&bsol;*O
.LE
-->
<!--no-op:  .fi-->
</RefSect2>
<RefSect2>
<Title>Action Routines</Title>
<Para>The ScrollBar action routines are
</Para>
<VariableList>
<VarListEntry>
<Term><Action>CancelDrag()</Action>:</Term>
<ListItem>
<Para>If the key press occurs during scrolling, cancels the
scroll and returns the slider to its previous location in the scrollbar,
otherwise, and if the parent is a manager, it passes the event to
the parent.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>IncrementDownOrRight(<Symbol Role="Define">Down|Right</Symbol>)</Action>:</Term>
<ListItem>
<Para>With an argument of <Literal>Down</Literal>, or 0 (zero) for compatibility, moves
the slider down by one increment.
With an argument of <Literal>Right</Literal>, or 1 for compatibility, it moves the
slider right by one increment.
If <SystemItem Class="Resource">XmNprocessingDirection</SystemItem> is <SystemItem Class="Constant">XmMAX_ON_RIGHT</SystemItem> or
<SystemItem Class="Constant">XmMAX_ON_BOTTOM</SystemItem>, movement toward the right or
bottom calls the callbacks for <SystemItem Class="Resource">XmNincrementCallback</SystemItem>.
If <SystemItem Class="Resource">XmNprocessingDirection</SystemItem> is <SystemItem Class="Constant">XmMAX_ON_LEFT</SystemItem> or
<SystemItem Class="Constant">XmMAX_ON_TOP</SystemItem>, movement toward the right or
bottom calls the callbacks for <SystemItem Class="Resource">XmNdecrementCallback</SystemItem>.
The <SystemItem Class="Resource">XmNvalueChangedCallback</SystemItem> is called if the
<SystemItem Class="Resource">XmNincrementCallback</SystemItem> or <SystemItem Class="Resource">XmNdecrementCallback</SystemItem> is NULL.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>IncrementUpOrLeft(<Symbol Role="Define">Up|Left</Symbol>)</Action>:</Term>
<ListItem>
<Para>With an argument of <Literal>Up</Literal>, or 0 (zero) for compatibility, moves the
slider up by one increment.
With an argument of <Literal>Left</Literal>, or 1 for compatibility, it moves the
slider left by one increment.
If <SystemItem Class="Resource">XmNprocessingDirection</SystemItem> is <SystemItem Class="Constant">XmMAX_ON_RIGHT</SystemItem> or
<SystemItem Class="Constant">XmMAX_ON_BOTTOM</SystemItem>,
movement to the left or top calls the callbacks for
<SystemItem Class="Resource">XmNdecrementCallback</SystemItem>.
If <SystemItem Class="Resource">XmNprocessingDirection</SystemItem> is <SystemItem Class="Constant">XmMAX_ON_LEFT</SystemItem> or
<SystemItem Class="Constant">XmMAX_ON_TOP</SystemItem>,
movement to the left or top calls the callbacks for
<SystemItem Class="Resource">XmNincrementCallback</SystemItem>.
The <SystemItem Class="Resource">XmNvalueChangedCallback</SystemItem> is called if the
<SystemItem Class="Resource">XmNincrementCallback</SystemItem> or <SystemItem Class="Resource">XmNdecrementCallback</SystemItem> is NULL.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>Moved()</Action>:</Term>
<ListItem>
<Para>If the button press occurs within the slider, the subsequent motion
events move the slider to the position of the pointer and call the
callbacks for <SystemItem Class="Resource">XmNdragCallback</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>PageDownOrRight(<Symbol Role="Define">Down|Right</Symbol>)</Action>:</Term>
<ListItem>
<Para>With an argument of <Literal>Down</Literal>, or 0 (zero) for compatibility, moves
the slider down by one page increment.
With an argument of <Literal>Right</Literal>, or 1 for compatibility, moves the
slider right by one page increment.
If <SystemItem Class="Resource">XmNprocessingDirection</SystemItem> is <SystemItem Class="Constant">XmMAX_ON_RIGHT</SystemItem> or
<SystemItem Class="Constant">XmMAX_ON_BOTTOM</SystemItem>, movement toward the right or
bottom calls the callbacks for <SystemItem Class="Resource">XmNpageIncrementCallback</SystemItem>.
If <SystemItem Class="Resource">XmNprocessingDirection</SystemItem> is <SystemItem Class="Constant">XmMAX_ON_LEFT</SystemItem> or
<SystemItem Class="Constant">XmMAX_ON_TOP</SystemItem>, movement toward the right or
bottom calls the <SystemItem Class="Resource">XmNpageDecrementCallback</SystemItem>
callbacks. The <SystemItem Class="Resource">XmNvalueChangedCallback</SystemItem> is called if the
<SystemItem Class="Resource">XmNpageIncrementCallback</SystemItem> or <SystemItem Class="Resource">XmNpageDecrementCallback</SystemItem> is NULL.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>PageUpOrLeft(<Symbol Role="Define">Up|Left</Symbol>)</Action>:</Term>
<ListItem>
<Para>With an argument of <Literal>Up</Literal>, or 0 (zero) for compatibility, moves the
slider up by one page increment.
With an argument of <Literal>Left</Literal>, or 1 for compatibility, it moves the
slider left by one page increment.
If <SystemItem Class="Resource">XmNprocessingDirection</SystemItem> is <SystemItem Class="Constant">XmMAX_ON_RIGHT</SystemItem> or
<SystemItem Class="Constant">XmMAX_ON_BOTTOM</SystemItem>,
movement to the left or top calls the callbacks for
<SystemItem Class="Resource">XmNpageDecrementCallback</SystemItem>.
If <SystemItem Class="Resource">XmNprocessingDirection</SystemItem> is <SystemItem Class="Constant">XmMAX_ON_LEFT</SystemItem> or
<SystemItem Class="Constant">XmMAX_ON_TOP</SystemItem>,
movement to the left or top calls the
<SystemItem Class="Resource">XmNpageIncrementCallback</SystemItem>
callbacks. The <SystemItem Class="Resource">XmNvalueChangedCallback</SystemItem> is called if the
<SystemItem Class="Resource">XmNpageIncrementCallback</SystemItem> or <SystemItem Class="Resource">XmNpageDecrementCallback</SystemItem> is NULL.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>PrimitiveHelp()</Action>:</Term>
<ListItem>
<Para>Calls the callbacks for <SystemItem Class="Resource">XmNhelpCallback</SystemItem> if any exist. If there are no help
callbacks for this widget, this action calls the help callbacks
for the nearest ancestor that has them.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>PrimitiveNextTabGroup()</Action>:</Term>
<ListItem>
<Para>Traverses to the first item in the next tab group. If
the current tab group is the last entry in the tab group list, it
wraps to the beginning of the tab group list.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>PrimitiveParentActivate()</Action>:</Term>
<ListItem>
<Para>If the parent is a manager,
passes the event to the parent.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>PrimitivePrevTabGroup()</Action>:</Term>
<ListItem>
<Para>Traverses to the first item in the previous tab group.
If the beginning of the tab group list is reached, it wraps to the end
of the tab group list.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>Release()</Action>:</Term>
<ListItem>
<Para>If the button press occurs within the slider and the slider position
is changed, the callbacks for <SystemItem Class="Resource">XmNvalueChangedCallback</SystemItem> are called.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>Select()</Action>:</Term>
<ListItem>
<Para><Literal>In arrow</Literal>:
Moves the slider by one increment in the direction
of the arrow.
If <SystemItem Class="Resource">XmNprocessingDirection</SystemItem> is <SystemItem Class="Constant">XmMAX_ON_RIGHT</SystemItem> or
<SystemItem Class="Constant">XmMAX_ON_BOTTOM</SystemItem>, movement toward the right or
bottom calls the callbacks for <SystemItem Class="Resource">XmNincrementCallback</SystemItem>,
and movement to the left or top calls the callbacks for
<SystemItem Class="Resource">XmNdecrementCallback</SystemItem>.
If <SystemItem Class="Resource">XmNprocessingDirection</SystemItem> is <SystemItem Class="Constant">XmMAX_ON_LEFT</SystemItem> or
<SystemItem Class="Constant">XmMAX_ON_TOP</SystemItem>, movement toward the right or
bottom calls the callbacks for <SystemItem Class="Resource">XmNdecrementCallback</SystemItem>,
and movement to the left or top calls the callbacks for
<SystemItem Class="Resource">XmNincrementCallback</SystemItem>.
The <SystemItem Class="Resource">XmNvalueChangedCallback</SystemItem> is called if the
<SystemItem Class="Resource">XmNincrementCallback</SystemItem> or <SystemItem Class="Resource">XmNdecrementCallback</SystemItem> is NULL.
</Para>
<Para><Literal>In scroll region between an arrow and the slider</Literal>:
Moves the slider by one page increment in the direction of the arrow.
If <SystemItem Class="Resource">XmNprocessingDirection</SystemItem> is <SystemItem Class="Constant">XmMAX_ON_RIGHT</SystemItem> or
<SystemItem Class="Constant">XmMAX_ON_BOTTOM</SystemItem>, movement toward the right or
bottom calls the callbacks for <SystemItem Class="Resource">XmNpageIncrementCallback</SystemItem>,
and movement to the left or top calls the callbacks for
<SystemItem Class="Resource">XmNpageDecrementCallback</SystemItem>.
If <SystemItem Class="Resource">XmNprocessingDirection</SystemItem> is <SystemItem Class="Constant">XmMAX_ON_LEFT</SystemItem> or
<SystemItem Class="Constant">XmMAX_ON_TOP</SystemItem>, movement toward the right or
bottom calls the callbacks for <SystemItem Class="Resource">XmNpageDecrementCallback</SystemItem>,
and movement to the left or top calls the callbacks for
<SystemItem Class="Resource">XmNpageIncrementCallback</SystemItem>.
The <SystemItem Class="Resource">XmNvalueChangedCallback</SystemItem> is called if the
<SystemItem Class="Resource">XmNpageIncrementCallback</SystemItem> or <SystemItem Class="Resource">XmNpageDecrementCallback</SystemItem> is
NULL.
</Para>
<Para><Literal>In slider</Literal>:
Activates the interactive dragging of the slider.
</Para>
<Para>If the button is held down in either the arrows or the scroll region
longer than the <SystemItem Class="Resource">XmNinitialDelay</SystemItem> resource, the slider is
moved again by the same increment and the same callbacks are called.
After the initial delay has been used, the time delay changes to the
time defined by the resource <SystemItem Class="Resource">XmNrepeatDelay</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>TopOrBottom()</Action>:</Term>
<ListItem>
<Para><KeySym>Ctrl</KeySym><KeySym>Btn1Down</KeySym> in an arrow or in the scroll region between
an arrow and the slider moves the slider as far as possible in the
direction of the arrow. If <SystemItem Class="Resource">XmNprocessingDirection</SystemItem> is
<SystemItem Class="Constant">XmMAX_ON_RIGHT</SystemItem> or <SystemItem Class="Constant">XmMAX_ON_BOTTOM</SystemItem>, movement toward the
right or bottom calls the callbacks for <SystemItem Class="Resource">XmNtoBottomCallback</SystemItem>, and
movement to the left or top calls the callbacks for
<SystemItem Class="Resource">XmNtoTopCallback</SystemItem>. If <SystemItem Class="Resource">XmNprocessingDirection</SystemItem> is
<SystemItem Class="Constant">XmMAX_ON_LEFT</SystemItem> or <SystemItem Class="Constant">XmMAX_ON_TOP</SystemItem>, movement toward the right
or bottom calls the callbacks for <SystemItem Class="Resource">XmNtoTopCallback</SystemItem>, and movement
to the left or top calls the callbacks for <SystemItem Class="Resource">XmNtoBottomCallback</SystemItem>.
The <SystemItem Class="Resource">XmNvalueChangedCallback</SystemItem> is called if the
<SystemItem Class="Resource">XmNtoTopCallback</SystemItem> or <SystemItem Class="Resource">XmNtoBottomCallback</SystemItem> is NULL.
Pressing
<KeySym>Key</KeySym><KeySym>osfBeginLine</KeySym> or <KeySym>Key</KeySym><KeySym>osfBeginData</KeySym> moves the slider to
the minimum value and invokes the <SystemItem Class="Resource">XmNtoTopCallback</SystemItem>. Pressing
<KeySym>Key</KeySym><KeySym>osfEndLine</KeySym> or <KeySym>Key</KeySym><KeySym>osfEndData</KeySym> moves the slider to the
maximum value and invokes the <SystemItem Class="Resource">XmNtoBottomCallback</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
</RefSect2>
<RefSect2>
<Title>Virtual Bindings</Title>
<Para>The bindings for virtual keys are vendor specific.
For information about bindings for virtual buttons and keys, see &cdeman.VirtualBindings;.
</Para>
</RefSect2>
</RefSect1>
<RefSect1>
<Title>RELATED</Title>
<Para>&cdeman.Core;, &cdeman.XmCreateScrollBar;, &cdeman.XmPrimitive;,
&cdeman.XmScrollBarGetValues;, and
&cdeman.XmScrollBarSetValues;.
</Para>
</RefSect1>
</RefEntry>
<!--fickle 1.09 7/2/95-->
