XmArrowButton(3X)

XmArrowButton - The ArrowButton widget class

As shipped in IRIX 6.5.22. Added in IRIX 6.5.19.

     NAME
          XmArrowButton - The ArrowButton widget class

     SYNOPSIS
          #include <Xm/ArrowB.h>

     DESCRIPTION
          ArrowButton consists of a directional arrow surrounded by a
          border shadow.  When it is selected, the shadow changes to
          give the appearance that the ArrowButton has been pressed
          in.  When the ArrowButton is unselected, the shadow reverts
          to give the appearance that the ArrowButton is released, or
          out.

        Classes
          ArrowButton inherits behavior and resources from Core and
          XmPrimitive classes.

          The class pointer is xmArrowButtonWidgetClass.

          The class name is XmArrowButton.

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

                               XmArrowButton Resource Set
     Name                  Class               Type             Default      Access
     ______________________________________________________________________________
     XmNactivateCallback   XmCCallback         XtCallbackList   NULL         C
     XmNarmCallback        XmCCallback         XtCallbackList   NULL         C
     XmNarrowDirection     XmCArrowDirection   unsigned char    XmARROW_UP   CSG
     XmNdisarmCallback     XmCCallback         XtCallbackList   NULL         C
     XmNmultiClick         XmCMultiClick       unsigned char    dynamic      CSG


          XmNactivateCallback
               Specifies a list of callbacks that is called when the
               ArrowButton is activated.  To activate the button,
               press and release BSelect while the pointer is inside
               the ArrowButton widget.  Activating the ArrowButton
               also disarms it.  The reason sent by this callback is
               XmCR_ACTIVATE.

          XmNarmCallback
               Specifies a list of callbacks that is called when the
               ArrowButton is armed.  To arm this widget, press
               BSelect while the pointer is inside the ArrowButton.
               The reason sent by this callback is XmCR_ARM.

          XmNarrowDirection
               Sets the arrow direction.  The following are values for
               this resource:

          o    XmARROW_UP.

          o    XmARROW_DOWN.

          o    XmARROW_LEFT.

          o    XmARROW_RIGHT.

          XmNdisarmCallback
               Specifies a list of callbacks that is called when the
               ArrowButton is disarmed.  To disarm this widget, press
               and release BSelect while the pointer is inside the
               ArrowButton.  The reason for this callback is
               XmCR_DISARM.

          XmNmultiClick
               If a button click is followed by another button click
               within the time span specified by the display's multi-
               click time, and this resource is set to
               XmMULTICLICK_DISCARD, do not process the second click.
               If this resource is set to XmMULTICLICK_KEEP, process
               the event and increment click_count in the callback
               structure.  When the button is not in a menu, the
               default value is XmMULTICLICK_KEEP.

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

                                         XmPrimitive 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
     XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False                  CSG
     XmNhighlightPixmap      XmCHighlightPixmap      Pixmap             dynamic                CSG
     XmNhighlightThickness   XmCHighlightThickness   Dimension          2                      CSG
     XmNnavigationType       XmCNavigationType       XmNavigationType   XmNONE                 CSG
     XmNshadowThickness      XmCShadowThickness      Dimension          2                      CSG
     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


                                                   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      click_count;
          } XmArrowButtonCallbackStruct;

          reason
               Indicates why the callback was invoked.

          event
               Points to the XEvent that triggered the callback.
          click_count
               This value is valid only when the reason is
               XmCR_ACTIVATE.  It contains the number of clicks in the
               last multiclick sequence if the XmNmultiClick resource
               is set to XmMULTICLICK_KEEP; otherwise it contains 1.
               The activate callback is invoked for each click if
               XmNmultiClick is set to XmMULTICLICK_KEEP.

        Translations
          XmArrowButton includes translations for XmPrimitive.
          Additional XmArrowButton translations are listed below.
          These translations may not directly correspond to a
          translation table.
          BSelect Press: Arm()
          BSelect Click: Activate()
                         Disarm()
          BSelect Release:Activate()
                         Disarm()
          BSelect Press 2+:MultiArm()
          BSelect Release 2+:MultiActivate()

          KSelect:       ArmAndActivate()
          KHelp:         Help()

        Action Routines
          The XmArrowButton action routines are described below:

          Activate():
               Draws the shadow in the unselected state.  If the
               pointer is within the ArrowButton, calls the callbacks
               for XmNactivateCallback.

          Arm():
               Draws the shadow in the selected state and calls the
               callbacks for XmNarmCallback.

          ArmAndActivate():
               Draws the shadow in the selected state and calls the
               callbacks for XmNarmCallback.  Arranges for the shadow
               to be drawn in the unselected state and the callbacks
               for XmNactivateCallback and XmNdisarmCallback to be
               called, either immediately or at a later time.

          Disarm():
               Draws the shadow in the unselected state and calls the
               callbacks for XmNdisarmCallback.

          Help():
               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.
          MultiActivate():
               If XmNmultiClick is XmMULTICLICK_DISCARD, this action
               does nothing.

          If XmNmultiClick is XmMULTICLICK_KEEP, this action does the
          following:  Increments click_count in the callback
          structure.  Draws the shadow in the unselected state.  If
          the pointer is within the ArrowButton, calls the callbacks
          for XmNactivateCallback.  Calls the callbacks for
          XmNdisarmCallback.

          MultiArm():
               If XmNmultiClick is XmMULTICLICK_DISCARD, this action
               does nothing.  If XmNmultiClick is XmMULTICLICK_KEEP,
               this action draws the shadow in the selected state and
               calls the callbacks for XmNarmCallback.

        Additional Behavior
          This widget has the additional behavior described below:

          <EnterWindow>:
               Draws the ArrowButton shadow in its selected state if
               the pointer leaves and re-enters the window while
               BSelect is pressed.

          <LeaveWindow>:
               Draws the ArrowButton shadow in its unselected state if
               the pointer leaves the window while BSelect is pressed.

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

     RELATED INFORMATION
          Core(3X), XmCreateArrowButton(3X), and XmPrimitive(3X).