Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmDrawnButton(3X) — DG/UX R4.11MU05

Media Vault

Software Library

Restoration Projects

Artifacts Sought



XmDrawnButton(3X)             SDK X11 R4.11MU05            XmDrawnButton(3X)


NAME
       XmDrawnButton--The DrawnButton widget class

SYNOPSIS
       #include <Xm/DrawnB.h>


DESCRIPTION
       The DrawnButton widget consists of an empty widget window surrounded
       by a shadow border.  It provides the application developer with a
       graphics area that can have PushButton input semantics.

       Callback types are defined for widget exposure and widget resize to
       allow the application to redraw or reposition its graphics.  If the
       DrawnButton widget has a highlight and shadow thickness, the
       application should not draw in that area.  To avoid drawing in the
       highlight and shadow area, create the graphics context with a
       clipping rectangle for drawing in the widget.  The clipping rectangle
       should take into account the size of the widget's highlight thickness
       and shadow.

   Classes
       DrawnButton inherits behavior and resources from Core, XmPrimitive,
       and XmLabel Classes.

       The class pointer is xmDrawnButtonWidgetClass.

       The class name is XmDrawnButton.

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

+-------------------------------------------------------------------------------------------+
|                                XmDrawnButton Resource Set                                 |
+---------------------+----------------------+----------------+--------------------+--------+
|Name                 | Class                | Type           | Default            | Access |
+---------------------+----------------------+----------------+--------------------+--------+
+---------------------+----------------------+----------------+--------------------+--------+
|XmNactivateCallback  | XmCCallback          | XtCallbackList | NULL               | C      |
+---------------------+----------------------+----------------+--------------------+--------+
|XmNarmCallback       | XmCCallback          | XtCallbackList | NULL               | C      |
+---------------------+----------------------+----------------+--------------------+--------+
|XmNdisarmCallback    | XmCCallback          | XtCallbackList | NULL               | C      |
+---------------------+----------------------+----------------+--------------------+--------+
|XmNexposeCallback    | XmCCallback          | XtCallbackList | NULL               | C      |
+---------------------+----------------------+----------------+--------------------+--------+
|XmNmultiClick        | XmCMultiClick        | unsigned char  | dynamic            | CSG    |
+---------------------+----------------------+----------------+--------------------+--------+
|XmNpushButtonEnabled | XmCPushButtonEnabled | Boolean        | False              | CSG    |
+---------------------+----------------------+----------------+--------------------+--------+
|XmNresizeCallback    | XmCCallback          | XtCallbackList | NULL               | C      |
+---------------------+----------------------+----------------+--------------------+--------+
|XmNshadowType        | XmCShadowType        | unsigned char  | XmSHADOW_ETCHED_IN | CSG    |
+---------------------+----------------------+----------------+--------------------+--------+

       XmNactivateCallback
                 Specifies the list of callbacks that is called when the
                 widget becomes selected.  The reason sent by the callback
                 is XmCRACTIVATE.

       XmNarmCallback
                 Specifies the list of callbacks that is called when the
                 widget becomes armed.  The reason sent by the callback is
                 XmCRARM.

       XmNdisarmCallback
                 Specifies the list of callbacks that is called when the
                 widget becomes disarmed.  The reason sent by the callback
                 is XmCRDISARM.

       XmNexposeCallback
                 Specifies the list of callbacks that is called when the
                 widget receives an exposure event.  The reason sent by the
                 callback is XmCREXPOSE.

       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, process the event and increment
                 clickcount in the callback structure.  When the button is
                 not in a menu, the default value is XmMULTICLICKKEEP.

       XmNpushButtonEnabled
                 Enables or disables the three-dimensional shadow drawing as
                 in PushButton.

       XmNresizeCallback
                 Specifies the list of callbacks that is called when the
                 widget receives a resize event.  The reason sent by the
                 callback is XmCRRESIZE.  The event returned for this
                 callback is NULL.

       XmNshadowType
                 Describes the drawing style for the DrawnButton.  This
                 resource can have the following values:


         ·  XmSHADOWIN--draws the DrawnButton so that the shadow appears
            inset.  This means that the bottom shadow visuals and top shadow
            visuals are reversed.

         ·  XmSHADOWOUT--draws the DrawnButton so that the shadow appears
            outset.

         ·  XmSHADOWETCHEDIN--draws the DrawnButton using a double line.
            This gives the effect of a line etched into the window.  The
            thickness of the double line is equal to the value of
            XmNshadowThickness.

         ·  XmSHADOWETCHEDOUT--draws the DrawnButton using a double line.
            This gives the effect of a line coming out of the window.  The
            thickness of the double line is equal to the value of
            XmNshadowThickness.


   Inherited Resources
       DrawnButton inherits behavior and resources from the following
       superclasses.  For a complete description of each resource, refer to
       the man page for that superclass.

+------------------------------------------------------------------------------------------------------------+
|                                           XmLabel Resource Set                                             |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|Name                      | Class                     | Type              | Default                | Access |
+--------------------------+---------------------------+-------------------+------------------------+--------+
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNaccelerator            | XmCAccelerator            | String            | NULL                   | N/A    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNacceleratorText        | XmCAcceleratorText        | XmString          | NULL                   | N/A    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNalignment              | XmCAlignment              | unsigned char     | dynamic                | CSG    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNfontList               | XmCFontList               | XmFontList        | dynamic                | CSG    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNlabelInsensitivePixmap | XmCLabelInsensitivePixmap | Pixmap            | XmUNSPECIFIED_PIXMAP   | CSG    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNlabelPixmap            | XmCLabelPixmap            | Pixmap            | XmUNSPECIFIED_PIXMAP   | CSG    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNlabelString            | XmCXmString               | XmString          | "\0"                   | CSG    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNlabelType              | XmCLabelType              | unsigned char     | XmSTRING               | CSG    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNmarginBottom           | XmCMarginBottom           | Dimension         | 0                      | CSG    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNmarginHeight           | XmCMarginHeight           | Dimension         | 2                      | CSG    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNmarginLeft             | XmCMarginLeft             | Dimension         | 0                      | CSG    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNmarginRight            | XmCMarginRight            | Dimension         | 0                      | CSG    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNmarginTop              | XmCMarginTop              | Dimension         | 0                      | CSG    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNmarginWidth            | XmCMarginWidth            | Dimension         | 2                      | CSG    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNmnemonic               | XmCMnemonic               | KeySym            | NULL                   | N/A    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNmnemonicCharSet        | XmCMnemonicCharSet        | String            | XmFONTLIST_DEFAULT_TAG | N/A    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNrecomputeSize          | XmCRecomputeSize          | Boolean           | True                   | CSG    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
|XmNstringDirection        | XmCStringDirection        | XmStringDirection | dynamic                | CSG    |
+--------------------------+---------------------------+-------------------+------------------------+--------+
+-------------------------------------------------------------------------------------------------+
|                                    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;
         Window   window;
         int      clickcount;
       } XmDrawnButtonCallbackStruct;


        reason Indicates why the callback was invoked.

        event  Points to the XEvent that triggered the callback.  This is
               NULL for XmNresizeCallback.

        window Is set to the window ID in which the event occurred.

        clickcount
               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
       XmDrawnButton includes translations from Primitive.  Additional
       XmDrawnButton 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 XmDrawnButton action routines are described below:


       Activate():
                 If XmNpushButtonEnabled is True, redraws the shadow in the
                 unselected state; otherwise, redraws the shadow according
                 to XmNshadowType.  If the pointer is within the
                 DrawnButton, calls the XmNactivateCallback callbacks.

       Arm():    If XmNpushButtonEnabled is True, redraws the shadow in the
                 selected state; otherwise, redraws the shadow according to
                 XmNshadowType.  Calls the callbacks for XmNarmCallback.

       ArmAndActivate():
                 If XmNpushButtonEnabled is True, redraws the shadow in the
                 selected state; otherwise, redraws the shadow according to
                 XmNshadowType.  Calls the callbacks for XmNarmCallback.

       Arranges for the following to happen, either immediately or at a
       later time: If XmNpushButtonEnabled is True, the shadow is redrawn in
       the unselected state; otherwise, the shadow is redrawn according to
       XmNshadowType.  The callbacks for XmNactivateCallback and
       XmNdisarmCallback are called.

       Disarm(): Marks the DrawnButton as unselected 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
                 nothing.

       If XmNmultiClick is XmMULTICLICKKEEP, this action does the
       following: Increments clickcount in the callback structure.  If
       XmNpushButtonEnabled is True, redraws the shadow in the unselected
       state; otherwise, redraws the shadow according to XmNshadowType.  If
       the pointer is within the DrawnButton,  calls the XmNactivateCallback
       callbacks.  Calls the callbacks for XmNdisarmCallback.

       MultiArm():
                 If XmNmultiClick is XmMULTICLICKDISCARD, this action does
                 nothing.

       If XmNmultiClick is XmMULTICLICKKEEP, this action does the
       following: If XmNpushButtonEnabled is True, redraws the shadow in the
       selected state; otherwise, redraws the shadow according to
       XmNshadowType.  Calls the callbacks for XmNarmCallback.


   Additional Behavior
       This widget has the additional behavior described below:


       <EnterWindow>:
                 Draws the shadow in its selected state if
                 XmNpushButtonEnabled is True and if the cursor leaves and
                 re-enters the window while BSelect is pressed.

       <LeaveWindow>:
                 Draws the shadow in its unselected state if
                 XmNpushButtonEnabled is True and if the cursor 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), XmCreateDrawnButton, XmLabel(3X), XmPrimitive(3X),
       XmPushButton, and XmSeparator(3X).


Licensed material--property of copyright holder(s)

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