Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmArrowButA(3X) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought



XmArrowButton(3X)                UNIX System V                XmArrowButton(3X)


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
  ________________________________________________________________________________


10/89                                                                    Page 1







XmArrowButton(3X)                UNIX System V                XmArrowButton(3X)


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

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

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

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





Page 2                                                                    10/89







XmArrowButton(3X)                UNIX System V                XmArrowButton(3X)


__________________________________________________________________________________________________
|                                    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              |  G     |
|_____________________|_______________________|__________________|______________________|________|
|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          |  Pointer         |  NULL                |  CSG   |
|_____________________|_______________________|__________________|______________________|________|


















10/89                                                                    Page 3







XmArrowButton(3X)                UNIX System V                XmArrowButton(3X)


________________________________________________________________________________________________________________
|                                              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;


Page 4                                                                    10/89







XmArrowButton(3X)                UNIX System V                XmArrowButton(3X)


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

      KActivate:     ArmAndActivate()
      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.








10/89                                                                    Page 5







XmArrowButton(3X)                UNIX System V                XmArrowButton(3X)


      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.

























Page 6                                                                    10/89







XmArrowButton(3X)                UNIX System V                XmArrowButton(3X)


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




































10/89                                                                    Page 7





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026