Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmArrButA(Xm) — OpenDesktop Software Development System 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought


 XmArrowButton(Xm)              6 January 1993              XmArrowButton(Xm)


 Name

    XmArrowButton - the ArrowButton widget class

 Syntax


    #include <Xm/ArrowB.h>


 Description

    ArrowButton consists of a directional arrow surrounded by a border sha-
    dow.  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 pro-
    grammer to specify data.  The programmer can also set the resource values
    for the inherited classes to set attributes for this widget.  To refer-
    ence 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
 ____________________________________________________________________________
 XmNactivateCall-    XmCCallback         XtCallbackList   NULL         C
 back
 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 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:

            +  XmARROWUP.

            +  XmARROWDOWN.

            +  XmARROWLEFT.

            +  XmARROWRIGHT.

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

    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 XmMULTICLICKDISCARD, do not process the
            second click.  If this resource is set to XmMULTICLICKKEEP, pro-
            cess the event and increment clickcount in the callback struc-
            ture.  When the button is not in a menu, the default value is
            XmMULTICLICKKEEP.

    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
 ____________________________________________________________________________
 XmNbottomShadow-   XmCBottomShadow-   Pixel           dynamic         CSG
 Color              Color
 XmNbottomShadow-   XmCBottomShadow-   Pixmap          XmUNSPECIFIED_- CSG
 Pixmap             Pixmap                             PIXMAP
 XmNforeground      XmCForeground      Pixel           dynamic         CSG
 XmNhelpCallback    XmCCallback        XtCallbackList  NULL            C
 XmNhighlightColor  XmCHighlightColor  Pixel           dynamic         CSG
 XmNhighlightOnEnterXmCHighlightOn-    Boolean         False           CSG
                    Enter
 XmNhighlightPixmap XmCHighlightPixmap Pixmap          dynamic         CSG
 XmNhighlight-      XmCHighlight-      Dimension       2               CSG
 Thickness          Thickness
 XmNnavigationType  XmCNavigationType  XmNavigationTypeXmNONE          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
 XmNancestor-       XmCSensitive       Boolean        dynamic          G
 Sensitive
 XmNbackground      XmCBackground      Pixel          dynamic          CSG
 XmNbackground-     XmCPixmap          Pixmap         XmUNSPECIFIED_-  CSG
 Pixmap                                               PIXMAP
 XmNborderColor     XmCBorderColor     Pixel          XtDefaultFore-   CSG
                                                      ground
 XmNborderPixmap    XmCPixmap          Pixmap         XmUNSPECIFIED_-  CSG
                                                      PIXMAP
 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
 XmNinitial-        XmCInitial-        Boolean        True             C
 Resources-         Resources-
 Persistent         Persistent
 XmNmappedWhen-     XmCMappedWhen-     Boolean        True             CSG
 Managed            Managed
 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.
    clickcount
            This value is valid only when the reason is XmCRACTIVATE.  It
            contains the number of clicks in the last multiclick sequence if
            the XmNmultiClick resource is set to XmMULTICLICKKEEP; otherwise
            it contains 1.  The activate callback is invoked for each click
            if XmNmultiClick is set to XmMULTICLICKKEEP.

    Translations

    XmArrowButton includes translations for XmPrimitive.  Additional XmAr-
    rowButton 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 XmMULTICLICKDISCARD, this action does noth-
            ing.

            If XmNmultiClick is XmMULTICLICKKEEP, this action does the fol-
            lowing:  Increments clickcount 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 XmMULTICLICKDISCARD, this action does noth-
            ing.  If XmNmultiClick is XmMULTICLICKKEEP, 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(Xm).

 See also

    Core(Xm), XmCreateArrowButton(Xm) and XmPrimitive(Xm).


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