Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmDrawnButton(3X) — DG/UX 5.4R3.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought



XmDrawnButton(3X)             X11 SDE 5.4R3.00             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





Licensed material--property of copyright holder(s)                         1




XmDrawnButton(3X)             X11 SDE 5.4R3.00             XmDrawnButton(3X)


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

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

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

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

       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.

       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 XmCR_RESIZE.  The event returned for this
                 callback is NULL.

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


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

                   ⊕  XmSHADOW_OUT--draws the DrawnButton so that the shadow








Licensed material--property of copyright holder(s)                         2




XmDrawnButton(3X)             X11 SDE 5.4R3.00             XmDrawnButton(3X)


                      appears outset.

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

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




Licensed material--property of copyright holder(s)                         3




XmDrawnButton(3X)             X11 SDE 5.4R3.00             XmDrawnButton(3X)


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      click_count; }
       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.

        click_count
               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
       XmDrawnButton includes translations from Primitive.  Additional
       XmDrawnButton translations are listed below.  These translations may
       not directly correspond to a translation table.  BSelect Press: Arm()



Licensed material--property of copyright holder(s)                         4




XmDrawnButton(3X)             X11 SDE 5.4R3.00             XmDrawnButton(3X)


       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 XmMULTICLICK_DISCARD, this action does
                 nothing.

       If XmNmultiClick is XmMULTICLICK_KEEP, this action does the
       following: Increments click_count 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










Licensed material--property of copyright holder(s)                         5




XmDrawnButton(3X)             X11 SDE 5.4R3.00             XmDrawnButton(3X)


       callbacks.  Calls the callbacks for XmNdisarmCallback.

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

       If XmNmultiClick is XmMULTICLICK_KEEP, 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)                         6


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