XmScale(3X)

XmScale - The Scale widget class

As shipped in IRIX 6.5.30. Added in IRIX 6.5.19.

     NAME
          XmScale - The Scale widget class

     SYNOPSIS
          #include <Xm/Scale.h>

     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 rectangular
          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 current 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.
          Alternately, the resource slidingMode can be set to provide
          an output only Scale.  The gauge has a different look from
          the Scale so that the end user can distinguish an output
          only Scale from an input/output Scale.  The gauge does not
          display the slider control, and uses color inside the
          rectangular region to indicate the current 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 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 .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 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
          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
     slidingMode               SlidingMode              XtEnum           "slider"     C
     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 specified 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,
               VendorShell, 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 XmEXPLICIT, 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 highlighting 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.

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

          XmNminimum
               Specifies 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 XmMAX_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 default 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.

          slidingMode
               Specifies a read-only look for the XmScale.  When
               slidingMode is "thermometer", the slider control on the
               XmScale is not displayed.  The color of the XmScale
               indicates the current value.  When slidingMode is
               "slider" the look of the XmScale widget is not changed.

          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
               value of the slider has 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 superclass.

                                          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, movement 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 motion 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 and the
               slider position is changed, 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
               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, 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 XmNprocessingDirection 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 XmNprocessingDirection is XmMAX_ON_LEFT,
               movement toward the left increments the Scale value.
               If XmNprocessingDirection is XmMAX_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 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.

          MCtrl KUp or KPageUp:
               For vertical Scales, moves the slider up one multiple
               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.

          MCtrl KDown or KPageDown:
               For vertical Scales, moves the slider down one multiple
               increment and calls the XmNvalueChangedCallback
               callbacks.  If XmNprocessingDirection 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.

          MCtrl KLeft or KPageLeft:
               For horizontal Scales, moves the slider one multiple
               increment to the left and calls the
               XmNvalueChangedCallback callbacks.  If
               XmNprocessingDirection is XmMAX_ON_LEFT, movement
               toward the left increments the Scale value.  If
               XmNprocessingDirection is XmMAX_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
               XmNvalueChangedCallback callbacks.

          KEndLine or KEndData:
               Moves the slider to the maximum value and calls the
               XmNvalueChangedCallback callbacks.

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

          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).