|
XmDrawnButton(3X)
Contents
|
XmDrawnButton - The DrawnButton widget class
#include <Xm/DrawnB.h>
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 [Toc] [Back]
DrawnButton inherits behavior and resources from Core,
XmPrimitive, and XmLabel Classes.
The class pointer is xmDrawnButtonWidgetClass.
The class name is XmDrawnButton.
New Resources [Toc] [Back]
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 [Toc] [Back]
Class: XmCCallback
Default: NULL
Type: XtCallbackList
Access: C
Class: XmCCallback
Default: NULL
Type: XtCallbackList
Access: C
Class: XmCCallback
Default: NULL
Type: XtCallbackList
Access: C
Class: XmCCallback
Default: NULL
Type: XtCallbackList
Access: C
Class: XmCMultiClick
Default: dynamic
Type: unsigned char
Access: CSG
Class: XmCPushButtonEnabled
Default: False
Type: Boolean
Access: CSG
Class: XmCCallback
Default: NULL
Type: XtCallbackList
Access: C
Class: XmCShadowType
Default: 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_ACTIVATE. 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 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. Enables or disables the threedimensional
shadow drawing as in PushButton. 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 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 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 [Toc] [Back]
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 [Toc] [Back]
Class: XmCAccelerator
Default: NULL
Type: String
Access: N/A
Class: XmCAcceleratorText
Default: NULL
Type: XmString
Access: N/A
Class: XmCAlignment
Default: dynamic
Type: unsigned char
Access: CSG
Class: XmCFontList
Default: dynamic
Type: XmFontList
Access: CSG
Class: XmCLabelInsensitivePixmap
Default: XmUNSPECIFIED_PIXMAP
Type: Pixmap
Access: CSG
Class: XmCLabelPixmap
Default: XmUNSPECIFIED_PIXMAP
Type: Pixmap
Access: CSG
Class: XmCXmString
Default: "\0"
Type: XmString
Access: 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: XmCMarginRight
Default: 0
Type: Dimension
Access: CSG
Class: XmCMarginTop
Default: 0
Type: Dimension
Access: CSG
Class: XmCMarginWidth
Default: 2
Type: Dimension
Access: CSG
Class: XmCMnemonic
Default: NULL
Type: KeySym
Access: N/A
Class: XmCMnemonicCharSet
Default: XmFONTLIST_DEFAULT_TAG
Type: String
Access: N/A
Class: XmCRecomputeSize
Default: True
Type: Boolean
Access: CSG
Class: XmCStringDirection
Default: dynamic
Type: XmStringDirection
Access: CSG
XmPrimitive Resource Set [Toc] [Back]
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
Access: 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
Access: CSG
Class: XmCTopShadowColor
Default: dynamic
Type: Pixel
Access: CSG
Class: XmCTopShadowPixmap
Default: dynamic
Type: Pixmap
Access: 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 [Toc] [Back]
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
Access: 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
Default: NULL
Type: XtCallbackList
Access: C
Class: XmCHeight
Default: dynamic
Type: Dimension
Access: CSG
Class: XmCInitialResourcesPersistent
Default: True
Type: Boolean
Access: C
Class: XmCMappedWhenManaged
Default: True
Type: Boolean
Access: CSG
Class: XmCScreen
Default: dynamic
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: Position
Access: CSG
Class: XmCPosition
Default: 0
Type: Position
Access: CSG
Callback Information [Toc] [Back]
A pointer to the following structure is passed to each
callback: typedef 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
callback is invoked for each click if XmNmultiClick
is set to XmMULTICLICK_KEEP.
Translations [Toc] [Back]
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 [Toc] [Back]
The XmDrawnButton action routines are described below: 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. 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 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. 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 callbacks 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 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 callbacks. Calls the
callbacks for XmNdisarmCallback. 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 [Toc] [Back]
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 [Toc] [Back]
The bindings for virtual keys are vendor specific. For
information about bindings for virtual buttons and keys,
see VirtualBindings(3X).
Core(3X), XmCreateDrawnButton(3X), XmLabel(3X), XmPrimitive(3X), XmPushButton(3X), XmSeparator(3X)
XmDrawnButton(3X)
[ Back ] |