ExmCommandButton(3X) UNIX System V ExmCommandButton(3X)
NAME
ExmCommandButton - The ExmCommandButton widget class
SYNOPSIS
#include <Exm/CommandB.h>
VERSION
This page documents Motif 2.1.
DESCRIPTION
ExmCommandButton is a demonstration widget. OSF provides
this widget solely to teach programmers how to write their
own Motif widgets. OSF does not support this widget in any
way.
The source code for the ExmCommandButton widget illustrates
how to do the following:
o Create a Motif button widget. Such a button widget
could serve, for example, as an OK button in a Dialog
box.
o Establish Motif-style actions for buttons.
o Install the XmQTactivatable trait.
o Install the XmQTtakesDefault trait.
o Establish a simple Motif activate callback.
ExmCommandButton is an instantiable widget.
ExmCommandButton is a subclass of the ExmString widget and
is also used as a superclass for other widgets, such as
ExmTabButton. Therefore, ExmCommandButton inherits all of
ExmString's resources for rendering compound strings.
ExmCommandButton provides many action methods, but ExmString
does not.
When a user activates an ExmCommandButton widget, the widget
calls the callback procedure associated with the
XmNactivateCallback resource.
Classes
CommandButton inherits behavior and resources from Core,
XmPrimitive, ExmSimple, and ExmString.
The class pointer is exmCommandButtonWidgetClass.
The class name is ExmCommandButton.
New Resources
Page 1 (printed 7/20/06)
ExmCommandButton(3X) UNIX System V ExmCommandButton(3X)
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, ExmN, XmC
or ExmC prefix and use the remaining letters. To specify one
of the defined values for a resource in a .Xdefaults file,
remove the Xm or Exm 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).
ExmCommandButton Resource Set
Name Class Type Default Access
XmNactivateCallback XmCCallback XtCallbackList NULL C
XmNactivateCallback
Specifies the list of callbacks that is called
when ExmCommandButton is activated. The type of
the structure whose address is passed to this
callback is XmAnyCallbackStruct. The reason is
XmCR_ACTIVATE.
Inherited Resources
CommandButton inherits behavior and resources from the
following superclasses. For a complete description of each
resource, refer to the reference page for that superclass.
ExmString Resource Set
Name Class Type Default Access
ExmNcompoundString ExmCCompoundString XmString NULL CSG
XmNalignment XmCAlignment unsigned char XmALIGNMENT_CENTER CSG
XmNrecomputeSize XmCRecomputeSize Boolean true CSG
XmNrenderTable XmCRenderTable XmRenderTable dynamic CSG
ExmSimple Resource Set
Name Class Type Default Access
ExmNsimpleShape ExmCSimpleShape unsigned char ExmSHAPE_OVAL CSG
XmNmarginHeight XmCMarginHeight Dimension 4 CSG
XmNmarginWidth XmCMarginWidth Dimension 4 CSG
XmPrimitive Resource Set
Name Class Type Default Access
XmNbottomShadowColor XmCBottomShadowColor Pixel dynamic CSG
XmNbottomShadowPixmap XmCBottomShadowPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNconvertCallback XmCCallback XtCallbackList NULL C
XmNforeground XmCForeground Pixel dynamic CSG
XmNhelpCallback XmCCallback XtCallbackList NULL C
Page 2 (printed 7/20/06)
ExmCommandButton(3X) UNIX System V ExmCommandButton(3X)
XmNhighlightColor XmCHighlightColor Pixel dynamic CSG
XmNhighlightOnEnter XmCHighlightOnEnter Boolean false CSG
XmNhighlightPixmap XmCHighlightPixmap Pixmap dynamic CSG
XmNhighlightThickness XmCHighlightThickness Dimension 2 CSG
XmNlayoutDirection XmCLayoutDirection XmDirection dynamic CG
XmNnavigationType XmCNavigationType XmNavigationType XmNONE CSG
XmNpopupHandlerCallback XmCCallback XtCallbackList NULL C
XmNshadowThickness XmCShadowThickness Dimension 3 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;
} XmAnyCallbackStruct;
reason Indicates why the callback was invoked.
event Points to the XEvent that triggered the callback.
Translations
ExmCommandButton provides the following translations:
Page 3 (printed 7/20/06)
ExmCommandButton(3X) UNIX System V ExmCommandButton(3X)
<EnterWindow>:
ExmCommandButtonEnter()
<LeaveWindow>:
ExmCommandButtonLeave()
~c <Btn1Down>:
ExmCommandButtonArm()
<Btn1Up>: ExmCommandButtonActivate()ExmCommandButtonDisarm()
~s ~m ~a <Key>space:
ExmCommandButtonArmAndActivate()
~s ~m ~a <Key>Return:
PrimitiveParentActivate()
In addition to the preceding translations,
ExmCommandButtonalso inherits all the traversal translations
of XmPrimitive. For details on these translations, see the
XmPrimitive(3) reference page.
Action Routines
The ExmCommandButton action routines are as follows:
ExmCommandButtonActivate()
If the pointer is within the widget, calls the
callback list of XmNactivateCallback.
ExmCommandButtonArm()
Arms the widget. Renders the border in the
selected state and the shadow in the armed state.
ExmCommandButtonArmAndActivate()
Draws the shadow in the armed state. Calls the
callbacks named by XmNactivateCallback. Upon
completion, draws the shadow in the disarmed
state.
ExmCommandButtonDisarm()
If the widget is armed, this action disarms it.
Draws the shadow in the disarmed state.
ExmCommandButtonEnter()
If the widget is already armed, draws the shadow
in the armed state. Otherwise, this action does
nothing.
ExmCommandButtonLeave()
If the widget is already armed, draws the shadow
in the disarmed state. Otherwise, this action does
nothing.
Page 4 (printed 7/20/06)
ExmCommandButton(3X) UNIX System V ExmCommandButton(3X)
Virtual Bindings
For information about bindings for virtual buttons and keys,
see VirtualBindings(3).
RELATED
Core(3), ExmSimple(3), ExmString(3), and XmPrimitive(3).
Page 5 (printed 7/20/06)