XmArrowButton(3X)

XmArrowButton - The ArrowButton widget class

As shipped in IRIX 6.5.5. Added in IRIX 6.5.5.

     NAME
          XmArrowButton - The ArrowButton widget class

     SYNOPSIS
          #include <Xm/ArrowB.h>

     VERSION
          This page documents Motif 2.1.

     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.

          ArrowButton holds the XmQTactivatable trait.

        Classes
          ArrowButton inherits behavior, resources, and traits from
          the 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
          XmNdetailShadowThickness   XmCDetailShadowThickness   Dimension        2            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 BSelectwhile the pointer
                    is inside the ArrowButton widget. Activating the
                    ArrowButton also disarms it.  The reason sent by
                    this callback is XmCR_ACTIVATE.  This callback
                    uses the XmQTactivatable trait.

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

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

                       o  XmARROW_UP

                       o  XmARROW_DOWN

                       o  XmARROW_LEFT

                       o  XmARROW_RIGHT

          XmNdetailShadowThickness
                    Specifies the thickness of the inside arrow
                    shadows. The default thickness is 2 pixels.

          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 multiclick time, and this resource is
                    set to XmMULTICLICK_DISCARD, the second click.  is
                    not processed.  If this resource is set to
                    XmMULTICLICK_KEEP, the event is processed and
                    click_count is incremented 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
          superclasses described in the following table.  For a
          complete description of each resource, refer to the
          reference page for that superclass.

                                               XmPrimitive Resource Set
          Name                      Class                   Type               Default                Access
          XmNbottomShadowColor      XmCBottomShadowColor    Pixel              dynamic                CSG
          XmNbottomShadowPixmap     XmCBottomShadowPixmap   Pixmap             XmUNSPECIFIED_PIXMAP   CSG
          XmNconvertCallback        XmCCallback             XtCallbackList     NULL                   C
          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
          XmNlayoutDirection        XmCLayoutDirection      XmDirection        dynamic                CG
          XmNnavigationType         XmCNavigationType       XmNavigationType   XmNONE                 CSG
          XmNpopupHandlerCallback   XmCCallback             XtCallbackList     NULL                   C
          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
                    XmNmultiClickis set to XmMULTICLICK_KEEP.

        Translations
          XmArrowButton includes translations for XmPrimitive.  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
          VirtualBindings(3).  For a complete description of the
          format, please refer to the X Toolkit Instrinsics
          Documentation.

          <EnterWindow>:
                    Enter()

          <LeaveWindow>:
                    Leave()

          c<Btn1Down>:
                    ButtonTakeFocus()

          ~c<Btn1Down>:
                    Arm()

          ~c<Btn1Down>,~c<Btn1Up>:
                    Activate() Disarm()

          ~c<Btn1Down>(2+):
                    MultiArm()

          ~c<Btn1Up>(2+):
                    MultiActivate()

          ~c<Btn1Up>:
                    Activate() Disarm()
          :<Key><osfActivate>:
                    PrimitiveParentActivate()

          :<Key><osfCancel>:
                    PrimitiveParentCancel()

          :<Key><osfSelect>:
                    ArmAndActivate()

          :<Key><osfHelp>:
                    Help()

          ~s ~m ~a <Key>Return:
                    PrimitiveParentActivate()

          ~s ~m ~a <Key>space:
                    ArmAndActivate()

        Action Routines
          The XmArrowButton action routines are

          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
                    XmNdisarmCallbackto be called, either immediately
                    or at a later time.

          ButtonTakeFocus():
                    Causes the ArrowButton to take keyboard focus when
                    Ctrl<Btn1Down> is pressed, without activating the
                    widget.

          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
                    increments click_count in the callback structure
                    and draws the shadow in the unselected state.  If
                    the pointer is within the ArrowButton, this action
                    calls the callbacks for XmNactivateCallback and
                    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 following additional behavior:

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

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

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

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