XmScale(3X)

XmScale --The Scale widget class

As shipped in IRIX 6.5. First release of IRIX 6.5.

NAME
     XmScale --The Scale widget class

SYNOPSIS
     #include <Xm/Scale.h>


VERSION
     This page documents version 1.2 of the Motif library.

DESCRIPTION
     Scale  is used by an application to indicate a value from within a range of
     values, and it allows the user to input or modify a  value  from  the  same
     range.

     A  Scale  has  an  elongated  rectangular region similar to a ScrollBar.  A
     slider inside this region indicates the current value along the Scale.  The
     user can also modify the Scale's value by moving the slider within the rec-
     tangular region of the Scale.  A Scale can also include a label set located
     outside the Scale region.  These can indicate the relative value at various
     positions along the scale.

     A Scale can be either input/output or output only.  An input/output Scale's
     value can be set by the application and also modified by the user with  the
     slider.   An output-only Scale is used strictly as an indicator of the cur-
     rent value of something and cannot be modified interactively by  the  user.
     The Core resource XmNsensitive specifies whether the user can interactively
     modify the Scale's value.

     The  user  can  specify  resources in a resource file for the automatically
     created gadget that contains the title of the Scale widget.   The  name  of
     the gadget is "Title".

   Classes
     Scale inherits behavior and resources from Core, Composite, Constraint, and
     XmManager classes.

     The class pointer is xmScaleWidgetClass.

     The class name is XmScale.

   New Resources
     The  following table defines a set of widget resources used by the program-
     mer 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 .Xdefaults file, remove the  XmN  or  XmC
     prefix and use the remaining letters.  To specify one of the defined values
     for  a  resource in a .Xdefaults file, remove the Xm prefix and use the re-
     maining letters (in either lowercase or uppercase, but include  any  under-
     scores  between  words).   The  codes  in the access column indicate if the
     given resource can be set at creation time (C), set  by  using  XtSetValues
     (S), retrieved by using XtGetValues (G), or is not applicable (N/A).

                                 XmScale Resource Set
Name                      Class                    Type             Default      Access
----------------------------------------------------------------------------------------
XmNdecimalPoints          XmCDecimalPoints         short            0            CSG
XmNdragCallback           XmCCallback              XtCallbackList   NULL         C
XmNfontList               XmCFontList              XmFontList       dynamic      CSG
XmNhighlightOnEnter       XmCHighlightOnEnter      Boolean          False        CSG
XmNhighlightThickness     XmCHighlightThickness    Dimension        2            CSG
XmNmaximum                XmCMaximum               int              100          CSG
XmNminimum                XmCMinimum               int              0            CSG
XmNorientation            XmCOrientation           unsigned char    XmVERTICAL   CSG
XmNprocessingDirection    XmCProcessingDirection   unsigned char    dynamic      CSG
XmNscaleHeight            XmCScaleHeight           Dimension        0            CSG
XmNscaleMultiple          XmCScaleMultiple         int              dynamic      CSG
XmNscaleWidth             XmCScaleWidth            Dimension        0            CSG
XmNshowValue              XmCShowValue             Boolean          False        CSG
XmNtitleString            XmCTitleString           XmString         NULL         CSG
XmNvalue                  XmCValue                 int              dynamic      CSG
XmNvalueChangedCallback   XmCCallback              XtCallbackList   NULL         C


     XmNdecimalPoints
               Specifies  the number of decimal points to shift the slider value
               when displaying it.  For example, a slider value of 2,350 and  an
               XmdecimalPoints  value  of 2 results in a display value of 23.50.
               The value must not be negative.

     XmNdragCallback
               Specifies the list of callbacks that is called  when  the  slider
               position changes as the slider is being dragged.  The reason sent
               by the callback is XmCR_DRAG.

     XmNfontList
               Specifies  the  font list to use for the title text string speci-
               fied by XmNtitleString, and the label displayed when XmNshowValue
               is True.  If this value is NULL at initialization, the font  list
               is  initialized  by looking up the parent hierarchy of the widget
               for an ancestor that is a subclass of the  XmBulletinBoard,  Ven-
               dorShell,  or  XmMenuShell  widget class.  If such an ancestor is
               found, the font list is initialized to  the  XmNlabelFontList  of
               the  ancestor  widget.  If no such ancestor is found, the default
               is implementation dependent.  Refer to  XmFontList(3X)  for  more
               information on the creation and structure of a font list.

     XmNhighlightOnEnter
               Specifies  whether  the  highlighting rectangle is drawn when the
               cursor moves into the widget.  If the shell's focus policy is Xm-
               EXPLICIT, this resource is ignored, and the widget is highlighted
               when it has the focus.  If the shell's focus policy is  XmPOINTER
               and if this resource is True, the highlighting rectangle is drawn
               when  the the cursor moves into the widget.  If the shell's focus
               policy is XmPOINTER and if this resource is False, the highlight-
               ing rectangle is not drawn when the the  cursor  moves  into  the
               widget.  The default is False.

     XmNhighlightThickness
               Specifies  the size of the slider's border drawing rectangle used
               for enter window and traversal highlight drawing.

     XmNmaximumSpecifies the slider's maximum value.  XmNmaximum must be greater
               than XmNminimum.

     XmNminimumSpecifies the slider's minimum value.  XmNmaximum must be greater
               than XmNminimum.

     XmNorientation
               Displays Scale vertically or  horizontally.   This  resource  can
               have values of XmVERTICAL and XmHORIZONTAL.

     XmNprocessingDirection
               Specifies  whether  the  value  for XmNmaximum is on the right or
               left side of XmNminimum for horizontal Scales or above  or  below
               XmNminimum for vertical Scales.  This resource can have values of
               XmMAX_ON_TOP,  XmMAX_ON_BOTTOM,XmMAX_ON_LEFT, and XmMAX_ON_RIGHT.
               If the XmScale is oriented vertically, the default value  is  Xm-
               MAX_ON_TOP.  If the XmScale is oriented horizontally, the default
               value may depend on the value of the XmNstringDirection resource.

     XmNscaleHeight
               Specifies  the height of the slider area.  The value should be in
               the specified unit type (the default is pixels).  If no value  is
               specified a default height is computed.

     XmNscaleMultiple
               Specifies  the  amount  to move the slider when the user takes an
               action that moves the slider by a multiple  increment.   The  de-
               fault  is (XmNmaximum - XmNminimum) divided by 10, with a minimum
               of 1.

     XmNscaleWidth
               Specifies the width of the slider area.  The value should  be  in
               the  specified unit type (the default is pixels).  If no value is
               specified a default width is computed.

     XmNshowValue
               Specifies whether a label for the current slider value should  be
               displayed  next to the slider.  If the value is True, the current
               slider value is displayed.

     XmNtitleString
               Specifies the title text string to appear  in  the  Scale  widget
               window.

     XmNvalue  Specifies  the slider's current position along the scale, between
               XmNminimum and XmNmaximum.  The value is constrained to be within
               these inclusive bounds.  The initial value of  this  resource  is
               the larger of 0 and XmNminimum.

     XmNvalueChangedCallback
               Specifies  the  list  of callbacks that is called when the slider
               has moved or its value has been changed.  The reason sent by  the
               callback is XmCR_VALUE_CHANGED.


   Inherited Resources
     Scale inherits behavior and resources from the following superclasses.  For
     a complete description of each resource, refer to the man page for that su-
     perclass.

                                     XmManager Resource Set
Name                    Class                   Type                Default                Access
--------------------------------------------------------------------------------------------------
XmNbottomShadowColor    XmCBottomShadowColor    Pixel               dynamic                CSG
XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap              XmUNSPECIFIED_PIXMAP   CSG
XmNforeground           XmCForeground           Pixel               dynamic                CSG
XmNhelpCallback         XmCCallback             XtCallbackList      NULL                   C
XmNhighlightColor       XmCHighlightColor       Pixel               dynamic                CSG
XmNhighlightPixmap      XmCHighlightPixmap      Pixmap              dynamic                CSG
XmNinitialFocus         XmCInitialFocus         Widget              NULL                   CSG
XmNnavigationType       XmCNavigationType       XmNavigationType    XmTAB_GROUP            CSG
XmNshadowThickness      XmCShadowThickness      Dimension           2                      CSG
XmNstringDirection      XmCStringDirection      XmStringDirection   dynamic                CG
XmNtopShadowColor       XmCTopShadowColor       Pixel               dynamic                CSG
XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap              dynamic                CSG
XmNtraversalOn          XmCTraversalOn          Boolean             True                   CSG
XmNunitType             XmCUnitType             unsigned char       dynamic                CSG
XmNuserData             XmCUserData             XtPointer           NULL                   CSG

                               Composite Resource Set
       Name                Class               Type          Default   Access
       -----------------------------------------------------------------------
       XmNchildren         XmCReadOnly         WidgetList    NULL      G
       XmNinsertPosition   XmCInsertPosition   XtOrderProc   NULL      CSG
       XmNnumChildren      XmCReadOnly         Cardinal      0         G

                                              Core Resource Set
Name                            Class                           Type             Default                Access
---------------------------------------------------------------------------------------------------------------
XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
XmNdepth                        XmCDepth                        int              dynamic                CG
XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
XmNheight                       XmCHeight                       Dimension        dynamic                CSG
XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
XmNscreen                       XmCScreen                       Screen *         dynamic                CG
XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
XmNx                            XmCPosition                     Position         0                      CSG
XmNy                            XmCPosition                     Position         0                      CSG

   Callback Information
     A pointer to the following structure is passed to each callback:

     typedef struct
     {
       int      reason;
       XEvent   * event;
       int      value;
     } XmScaleCallbackStruct;


     reason Indicates why the callback was invoked

     event  Points to the XEvent that triggered the callback

     value  Is the new slider value


   Behavior
     XmScale behavior is described below:


     BSelect Press or BDrag Press:
               (in region between an end of the Scale and the slider): Moves the
               slider  by  one multiple increment in the direction of the end of
               the Scale and calls the  XmNvalueChangedCallback  callbacks.   If
               XmNprocessingDirection   is  XmMAX_ON_RIGHT  or  XmMAX_ON_BOTTOM,
               movement toward the right or bottom increments the  Scale  value,
               and  movement  toward the left or top decrements the Scale value.
               If XmNprocessingDirection is XmMAX_ON_LEFT or XmMAX_ON_TOP, move-
               ment toward the right or bottom decrements the Scale  value,  and
               movement  toward  the left or top increments the Scale value.  If
               the button is held down longer than a delay period, the slider is
               moved again by the same increment  and  the  same  callbacks  are
               called.

     (in slider):  Activates the interactive dragging of the slider.

     BSelect Motion or BDrag Motion:
               If  the button press occurs within the slider, the subsequent mo-
               tion events move the slider to the position of  the  pointer  and
               call the callbacks for XmNdragCallback.

     BSelect Release or BDrag Release:
               If  the  button press occurs within the slider, the callbacks for
               XmNvalueChangedCallback are called.

     MCtrl BSelect Press:
               (in region between an end of the Scale and the slider): Moves the
               slider to that end of the Scale and  calls  the  XmNvalueChanged-
               Callback  callbacks.  If XmNprocessingDirection is XmMAX_ON_RIGHT
               or XmMAX_ON_BOTTOM, movement toward the right  or  bottom  incre-
               ments the Scale value, and movement toward the left or top decre-
               ments   the   Scale  value.   If  XmNprocessingDirection  is  Xm-
               MAX_ON_LEFT or XmMAX_ON_TOP, movement toward the right or  bottom
               decrements  the  Scale value, and movement toward the left or top
               increments the Scale value.

     KUp:      For vertical Scales, moves the slider up one increment and  calls
               the XmNvalueChangedCallback callbacks.  If XmNprocessingDirection
               is  XmMAX_ON_TOP,  movement  toward  the top increments the Scale
               value.  If XmNprocessingDirection  is  XmMAX_ON_BOTTOM,  movement
               toward the top decrements the Scale value.

     KDown:    For  vertical  Scales,  moves  the  slider down one increment and
               calls the XmNvalueChangedCallback callbacks.  If XmNprocessingDi-
               rection is XmMAX_ON_BOTTOM, movement toward the bottom increments
               the Scale  value.   If  XmNprocessingDirection  is  XmMAX_ON_TOP,
               movement toward the bottom decrements the Scale value.

     KLeft:    For horizontal Scales, moves the slider one increment to the left
               and  calls the XmNvalueChangedCallback callbacks.  If XmNprocess-
               ingDirection is XmMAX_ON_LEFT, movement toward  the  left  incre-
               ments   the   Scale  value.   If  XmNprocessingDirection  is  Xm-
               MAX_ON_RIGHT, movement  toward  the  left  decrements  the  Scale
               value.

     KRight:   For  horizontal  Scales,  moves  the  slider one increment to the
               right and calls the XmNvalueChangedCallback callbacks.   If  XmN-
               processingDirection  is XmMAX_ON_RIGHT, movement toward the right
               increments the Scale value.   If  XmNprocessingDirection  is  Xm-
               MAX_ON_LEFT,  movement  toward  the  right  decrements  the Scale
               value.

     MCtrl KUp or KPageUp:
               For vertical Scales, moves the slider up one  multiple  increment
               and  calls the XmNvalueChangedCallback callbacks.  If XmNprocess-
               ingDirection is XmMAX_ON_TOP, movement toward the top  increments
               the  Scale  value.  If XmNprocessingDirection is XmMAX_ON_BOTTOM,
               movement toward the top decrements the Scale value.

     MCtrl KDown or KPageDown:
               For vertical Scales, moves the slider down one multiple increment
               and calls the XmNvalueChangedCallback callbacks.  If  XmNprocess-
               ingDirection  is  XmMAX_ON_BOTTOM, movement toward the bottom in-
               crements the  Scale  value.   If  XmNprocessingDirection  is  Xm-
               MAX_ON_TOP,  movement  toward  the  bottom  decrements  the Scale
               value.

     MCtrl KLeft or KPageLeft:
               For horizontal Scales, moves the slider one multiple increment to
               the left and calls the XmNvalueChangedCallback callbacks.  If Xm-
               NprocessingDirection is XmMAX_ON_LEFT, movement toward  the  left
               increments  the  Scale  value.   If XmNprocessingDirection is Xm-
               MAX_ON_RIGHT, movement  toward  the  left  decrements  the  Scale
               value.

     MCtrl KRight or KPageRight:
               For horizontal Scales, moves the slider one multiple increment to
               the  right  and  calls the XmNvalueChangedCallback callbacks.  If
               XmNprocessingDirection is  XmMAX_ON_RIGHT,  movement  toward  the
               right  increments  the Scale value.  If XmNprocessingDirection is
               XmMAX_ON_LEFT, movement toward the  right  decrements  the  Scale
               value.

     KBeginLine or KBeginData:
               Moves  the  slider  to  the  minimum  value and calls the XmNval-
               ueChangedCallback callbacks.

     KEndLine or KEndData:
               Moves the slider to the  maximum  value  and  calls  the  XmNval-
               ueChangedCallback callbacks.

     KNextField:
               Traverses  to  the first item in the next tab group.  If the cur-
               rent tab group is the last entry in the tab group list, it  wraps
               to the beginning of the tab group list.

     KPrevField:
               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.

     KHelp:    Calls  the  callbacks for XmNhelpCallback 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.


   Virtual Bindings
     The bindings for virtual keys are vendor specific.  For  information  about
     bindings for virtual buttons and keys, see VirtualBindings(3X).

RELATED INFORMATION
     Composite(3X), Constraint(3X), Core(3X), XmCreateScale(3X), XmManager(3X),
     XmScaleGetValue(3X), and XmScaleSetValue(3X).

                                                                     XmScale(3X)