XmArrowButtonGadget(3X)

XmArrowButtonGadget - The ArrowButtonGadget widget class

As shipped in IRIX 6.5.5. Added in IRIX 6.5.5.

     NAME
          XmArrowButtonGadget - The ArrowButtonGadget widget class

     SYNOPSIS
          #include <Xm/ArrowBG.h>

     VERSION
          This page documents Motif 2.1.

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

          ArrowButtonGadget holds the XmQTactivatable trait.

        Classes
          ArrowButtonGadget inherits behavior, resources, and traits
          from the Object, RectObj, and XmGadget classes.

          The class pointer is xmArrowButtonGadgetClass.

          The class name is XmArrowButtonGadget.

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

                                       XmArrowButtonGadget 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 ArrowButtonGadget is activated.  To activate
                    the button, press and release BSelect while the
                    pointer is inside the ArrowButtonGadget.
                    Activating the ArrowButtonGadget 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 ArrowButtonGadget is armed.  To arm this
                    widget, press BSelectwhile the pointer is inside
                    the ArrowButtonGadget.  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 ArrowButtonGadget is disarmed.  To disarm this
                    widget, press and release BSelectwhile the pointer
                    is inside the ArrowButtonGadget.  The reason sent
                    by 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 ArrowButtonGadget is not in a
                    menu, the default value is XmMULTICLICK_KEEP.

        Inherited Resources
          XmArrowButtonGadget 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.

                                               XmGadget Resource Set
          Name                    Class                   Type               Default                Access
          XmNbackground           XmCBackground           Pixel              dynamic                CSG
          XmNbackgroundPixmap     XmCPixmap               Pixmap             XmUNSPECIFIED_PIXMAP   CSG
          XmNbottomShadowColor    XmCBottomShadowColor    Pixel              dynamic                CSG
          XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap             dynamic                CSG
          XmNhelpCallback         XmCCallback             XtCallbackList     NULL                   C
          XmNforeground           XmCForeground           Pixel              dynamic                CSG
          XmNhighlightColor       XmCHighlightColor       Pixel              dynamic                CSG
          XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False                  CSG
          XmNhighlightPixmap      XmCHighlightPixmap      Pixmap             dynamic                CSG
          XmNhighlightThickness   XmCHighlightThickness   Dimension          2                      CSG
          XmNlayoutDirection      XmNCLayoutDirection     XmDirection        dynamic                CG
          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

                                  RectObj Resource Set
          Name                   Class            Type        Default   Access
          XmNancestorSensitive   XmCSensitive     Boolean     dynamic   G
          XmNborderWidth         XmCBorderWidth   Dimension   0         N/A
          XmNheight              XmCHeight        Dimension   dynamic   CSG
          XmNsensitive           XmCSensitive     Boolean     True      CSG
          XmNwidth               XmCWidth         Dimension   dynamic   CSG
          XmNx                   XmCPosition      Position    0         CSG
          XmNy                   XmCPosition      Position    0         CSG

                                  Object Resource Set
          Name                 Class         Type             Default   Access
          XmNdestroyCallback   XmCCallback   XtCallbackList   NULL      C

        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.

        Behavior
          XmArrowButtonGadget includes behavior from XmGadget.  The
          following list describes additional XmArrowButtonGadget
          behavior:

          <Btn1Down>:
                    Draws the shadow in the selected state and calls
                    the callbacks for XmNarmCallback.

          <Btn1Down> or <Btn1Up>:
                    Draws the shadow in the unselected state.  If the
                    pointer is within the ArrowButtonGadget, calls the
                    callbacks for XmNactivateCallback.  Calls the
                    callbacks for XmNdisarmCallback.

          <Btn1Down>(2+):
                    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.

          <Btn1Up>(2+):
                    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 ArrowButtonGadget, this
                    action calls the callbacks for XmNactivateCallback
                    and XmNdisarmCallback.

          <Key><osfSelect>:
                    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.

          <Key><osfHelp>:
                    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.

          <Enter>:  Draws the ArrowButtonGadget shadow in its selected
                    state if the pointer leaves and re-enters the
                    gadget while <Btn1> is pressed.

          <Leave>:  Draws the ArrowButtonGadget shadow in its
                    unselected state if the pointer leaves the gadget
                    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
          Object(3), RectObj(3), XmCreateArrowButtonGadget(3), and
          XmGadget(3).