Manual Page Result
0
Command: XmDrawnButton | Section: 3 | Source: Digital UNIX | File: XmDrawnButton.3X.gz
XmDrawnButton(3X) 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 al-
low the application to redraw or reposition its graphics. If the
DrawnButton widget has a highlight and shadow thickness, the applica-
tion 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 ac-
count 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 pro-
grammer to specify data. The programmer can also set the resource val-
ues 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
Class: XmCCallback Default: NULL Type: XtCallbackList Access: C Class:
XmCCallback Default: NULL Type: XtCallbackList Access: C Class: XmC-
Callback Default: NULL Type: XtCallbackList Access: C Class: XmCCall-
back Default: NULL Type: XtCallbackList Access: C Class: XmCMultiClick
Default: dynamic Type: unsigned char Access: CSG Class: XmCPushButto-
nEnabled Default: False Type: Boolean Access: CSG Class: XmCCallback
Default: NULL Type: XtCallbackList Access: C Class: XmCShadowType De-
fault: XmSHADOW_ETCHED_IN Type: unsigned char Access: CSG
Specifies the list of callbacks that is called when the widget
becomes selected. The reason sent by the callback is XmCR_ACTI-
VATE. Specifies the list of callbacks that is called when the
widget becomes armed. The reason sent by the callback is
XmCR_ARM. Specifies the list of callbacks that is called when
the widget becomes disarmed. The reason sent by the callback is
XmCR_DISARM. Specifies the list of callbacks that is called
when the widget receives an exposure event. The reason sent by
the callback is XmCR_EXPOSE. If a button click is followed by
another button click within the time span specified by the dis-
play's multi-click time, and this resource is set to XmMUL-
TICLICK_DISCARD, do not process the second click. If this re-
source is set to XmMULTICLICK_KEEP, process the event and incre-
ment click_count in the callback structure. When the button is
not in a menu, the default value is XmMULTICLICK_KEEP. Enables
or disables the three-dimensional shadow drawing as in PushBut-
ton. 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.
Describes the drawing style for the DrawnButton. This resource
can have the following values: XmSHADOW_IN--draws the DrawnBut-
ton so that the shadow appears inset. This means that the bot-
tom shadow visuals and top shadow visuals are reversed.
XmSHADOW_OUT--draws the DrawnButton so that the shadow appears
outset. XmSHADOW_ETCHED_IN--draws the DrawnButton using a dou-
ble line. This gives the effect of a line etched into the win-
dow. 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 super-
classes. For a complete description of each resource, refer to the man
page for that superclass.
XmLabel Resource Set
Class: XmCAccelerator Default: NULL Type: String Access: N/A Class:
XmCAcceleratorText Default: NULL Type: XmString Access: N/A Class: Xm-
CAlignment Default: dynamic Type: unsigned char Access: CSG Class: Xm-
CFontList Default: dynamic Type: XmFontList Access: CSG Class: XmCLa-
belInsensitivePixmap Default: XmUNSPECIFIED_PIXMAP Type: Pixmap Ac-
cess: CSG Class: XmCLabelPixmap Default: XmUNSPECIFIED_PIXMAP Type:
Pixmap Access: CSG Class: XmCXmString Default: "\0" Type: XmString Ac-
cess: CSG Class: XmCLabelType Default: XmSTRING Type: unsigned char
Access: CSG Class: XmCMarginBottom Default: 0 Type: Dimension Access:
CSG Class: XmCMarginHeight Default: 2 Type: Dimension Access: CSG
Class: XmCMarginLeft Default: 0 Type: Dimension Access: CSG Class: Xm-
CMarginRight Default: 0 Type: Dimension Access: CSG Class: XmCMargin-
Top Default: 0 Type: Dimension Access: CSG Class: XmCMarginWidth De-
fault: 2 Type: Dimension Access: CSG Class: XmCMnemonic Default: NULL
Type: KeySym Access: N/A Class: XmCMnemonicCharSet Default: Xm-
FONTLIST_DEFAULT_TAG Type: String Access: N/A Class: XmCRecomputeSize
Default: True Type: Boolean Access: CSG Class: XmCStringDirection De-
fault: dynamic Type: XmStringDirection Access: CSG
XmPrimitive Resource Set
Class: XmCBottomShadowColor Default: dynamic Type: Pixel Access: CSG
Class: XmCBottomShadowPixmap Default: XmUNSPECIFIED_PIXMAP Type:
Pixmap Access: CSG Class: XmCForeground Default: dynamic Type: Pixel
Access: CSG Class: XmCCallback Default: NULL Type: XtCallbackList Ac-
cess: C Class: XmCHighlightColor Default: dynamic Type: Pixel Access:
CSG Class: XmCHighlightOnEnter Default: False Type: Boolean Access:
CSG Class: XmCHighlightPixmap Default: dynamic Type: Pixmap Access:
CSG Class: XmCHighlightThickness Default: 2 Type: Dimension Access:
CSG Class: XmCNavigationType Default: XmNONE Type: XmNavigationType
Access: CSG Class: XmCShadowThickness Default: 2 Type: Dimension Ac-
cess: CSG Class: XmCTopShadowColor Default: dynamic Type: Pixel Ac-
cess: CSG Class: XmCTopShadowPixmap Default: dynamic Type: Pixmap Ac-
cess: CSG Class: XmCTraversalOn Default: True Type: Boolean Access:
CSG Class: XmCUnitType Default: dynamic Type: unsigned char Access:
CSG Class: XmCUserData Default: NULL Type: XtPointer Access: CSG
Core Resource Set
Class: XmCAccelerators Default: dynamic Type: XtAccelerators Access:
CSG Class: XmCSensitive Default: dynamic Type: Boolean Access: G
Class: XmCBackground Default: dynamic Type: Pixel Access: CSG Class:
XmCPixmap Default: XmUNSPECIFIED_PIXMAP Type: Pixmap Access: CSG
Class: XmCBorderColor Default: XtDefaultForeground Type: Pixel Access:
CSG Class: XmCPixmap Default: XmUNSPECIFIED_PIXMAP Type: Pixmap Ac-
cess: CSG Class: XmCBorderWidth Default: 0 Type: Dimension Access: CSG
Class: XmCColormap Default: dynamic Type: Colormap Access: CG Class:
XmCDepth Default: dynamic Type: int Access: CG Class: XmCCallback De-
fault: NULL Type: XtCallbackList Access: C Class: XmCHeight Default:
dynamic Type: Dimension Access: CSG Class: XmCInitialResourcesPersis-
tent Default: True Type: Boolean Access: C Class: XmCMappedWhenManaged
Default: True Type: Boolean Access: CSG Class: XmCScreen Default: dy-
namic Type: Screen * Access: CG Class: XmCSensitive Default: True
Type: Boolean Access: CSG Class: XmCTranslations Default: dynamic
Type: XtTranslations Access: CSG Class: XmCWidth Default: dynamic
Type: Dimension Access: CSG Class: XmCPosition Default: 0 Type: Posi-
tion Access: CSG Class: XmCPosition Default: 0 Type: Position Access:
CSG
Callback Information
A pointer to the following structure is passed to each callback: type-
def struct {
int reason;
XEvent * event;
Window window;
int click_count; }XmDrawnButtonCallbackStruct;
Indicates why the callback was invoked. Points to the XEvent that
triggered the callback. This is NULL for XmNresizeCallback. Is set to
the window ID in which the event occurred. 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 call-
back is invoked for each click if XmNmultiClick is set to XmMUL-
TICLICK_KEEP.
Translations
XmDrawnButton includes translations from Primitive. Additional XmDrawn-
Button translations are listed below. These translations may not di-
rectly 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: If XmNpushButto-
nEnabled is True, redraws the shadow in the unselected state; other-
wise, redraws the shadow according to XmNshadowType. If the pointer is
within the DrawnButton, calls the XmNactivateCallback callbacks. If
XmNpushButtonEnabled is True, redraws the shadow in the selected state;
otherwise, redraws the shadow according to XmNshadowType. Calls the
callbacks for XmNarmCallback. If XmNpushButtonEnabled is True, redraws
the shadow in the selected state; otherwise, redraws the shadow accord-
ing 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 re-
drawn in the unselected state; otherwise, the shadow is redrawn
according to XmNshadowType. The callbacks for XmNactivateCall-
back and XmNdisarmCallback are called. Marks the DrawnButton as
unselected and calls the callbacks for XmNdisarmCallback. Calls
the callbacks for XmNhelpCallback if any exist. If there are no
help callbacks for this widget, this action calls the help call-
backs for the nearest ancestor that has them. If XmNmultiClick
is XmMULTICLICK_DISCARD, this action does nothing.
If XmNmultiClick is XmMULTICLICK_KEEP, this action does the fol-
lowing: Increments click_count in the callback structure. If Xm-
NpushButtonEnabled 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 XmNacti-
vateCallback callbacks. Calls the callbacks for XmNdisarmCall-
back. If XmNmultiClick is XmMULTICLICK_DISCARD, this action
does nothing.
If XmNmultiClick is XmMULTICLICK_KEEP, this action does the fol-
lowing: 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: 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. 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).
SEE ALSO
Core(3X), XmCreateDrawnButton(3X), XmLabel(3X), XmPrimitive(3X), Xm-
PushButton(3X), XmSeparator(3X)
XmDrawnButton(3X)