XmArrowButton(3X)

XmArrowButton --The ArrowButton widget class

Showing IRIX 6.5.30 (default release). Unchanged since IRIX 6.5.

NAME
     XmArrowButton --The ArrowButton widget class

SYNOPSIS
     #include <Xm/ArrowB.h>


VERSION
     This page documents version 1.2 of the Motif library.

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

                             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 call-
               back 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 re-
               source:


                 *  XmARROW_UP.

                 *  XmARROW_DOWN.

                 *  XmARROW_LEFT.

                 *  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 sec-
               ond 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 XmMUL-
               TICLICK_KEEP.


   Inherited Resources
     ArrowButton inherits behavior  and  resources  from  the  following  super-
     classes.   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  con-
            tains  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 XmN-
            multiClick is set to XmMULTICLICK_KEEP.


   Translations
     XmArrowButton  includes  translations for XmPrimitive.  Additional XmArrow-
     Button 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  XmNactivateCall-
               back.

     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  noth-
               ing.

     If  XmNmultiClick is XmMULTICLICK_KEEP, this action does the following: In-
     crements 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  XmNdisarmCall-
     back.

     MultiArm():
               If  XmNmultiClick is XmMULTICLICK_DISCARD, this action does noth-
               ing.  If XmNmultiClick is XmMULTICLICK_KEEP,  this  action  draws
               the shadow in the selected state and calls the callbacks for XmN-
               armCallback.


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

                                                               XmArrowButton(3X)