<!-- $XConsortium: DrawnBut.sgm /main/11 1996/09/08 20:40:33 rws $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->

<RefEntry Id="CDEMMA.MAN210.rsml.1">
<RefMeta>
<RefEntryTitle>XmDrawnButton</RefEntryTitle>
<ManVolNum>library call</ManVolNum>
</RefMeta>
<RefNameDiv>
<RefName><Classname>XmDrawnButton</Classname></RefName>
<RefPurpose>The DrawnButton widget class
<IndexTerm>
<Primary>XmDrawnButton</Primary>
</IndexTerm><IndexTerm>
<Primary>widget class</Primary>
<Secondary>DrawnButton</Secondary>
</IndexTerm></RefPurpose>
</RefNameDiv>
<!-- -->
<!-- @OSF_COPYRIGHT@-->
<!-- COPYRIGHT NOTICE-->
<!-- Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.-->
<!-- ALL RIGHTS RESERVED (MOTIF). See the file named COPY.MOTIF.DOC for-->
<!-- the full copyright text.-->
<!-- -->
<!-- HISTORY-->
<!-- -->
<!-- **-->
<!-- **-->
<!-- **  (c) Copyright 1989, 1990, 1992 by Open Software Foundation, Inc.-->
<!-- **      All Rights Reserved.-->
<!-- **-->
<!-- **  (c) Copyright 1987, 1988, 1989, by Hewlett-Packard Company-->
<!-- **-->
<!-- **-->
<RefSynopsisDiv>
<Synopsis>&npzwc;#include &lt;Xm/DrawnB.h>
</Synopsis>
</RefSynopsisDiv>
<RefSect1>
<Title>DESCRIPTION</Title>
<Para>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.
</Para>
<Para>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.
DrawnButton uses the <Symbol Role="Globalvar">XmQTmenuSystem</Symbol> and
<Symbol Role="Globalvar">XmQTspecifyRenderTable</Symbol> traits, and
holds the <Symbol Role="Globalvar">XmQTactivatable</Symbol> trait.
</Para>
<RefSect2>
<Title>Classes</Title>
<Para>BulletinBoard inherits behavior, resources, and traits
from the <Classname>Core</Classname>, <Classname>Composite</Classname>, <Classname>Constraint</Classname>,
and <Classname>XmManager</Classname> classes.
</Para>
<Para>The class pointer is <Symbol Role="Globalvar">xmDrawnButtonWidgetClass</Symbol>.
</Para>
<Para>The class name is <Classname>XmDrawnButton</Classname>.
</Para>
</RefSect2>
<RefSect2>
<Title>New Resources</Title>
<Para>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 <Filename>.Xdefaults</Filename> file, remove the <SystemItem Class="Constant">XmN</SystemItem> or
<SystemItem Class="Constant">XmC</SystemItem> prefix and use the remaining letters. To specify one of the defined
values for a resource in a <Filename>.Xdefaults</Filename> file, remove the <SystemItem Class="Constant">Xm</SystemItem> 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 <Function>XtSetValues</Function> (S),
retrieved by using <Function>XtGetValues</Function> (G), or is not applicable (N/A).
</Para>
<Para><!-- --><!-- @OSF_COPYRIGHT@--><!-- COPYRIGHT NOTICE--><!-- Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.--><!-- ALL RIGHTS RESERVED (MOTIF). See the file named COPY.MOTIF.DOC for--><!-- the full copyright text.--><!-- --><!-- HISTORY--><!-- --></Para>
<InformalTable Frame="All" Remap="center" Orient="Port">
<TGroup Cols="5">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="1">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="2">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="3">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="4">
<ColSpec Rowsep="1" Align="Left" Colname="5">
<TBody>
<Row>
<Entry Align="Center" Nameend="5" Namest="1"><Literal>XmDrawnButton Resource Set</Literal></Entry>
</Row>
<Row>
<Entry Rowsep="1"><Literal>Name</Literal></Entry>
<Entry Rowsep="1"><Literal>Class</Literal></Entry>
<Entry Rowsep="1"><Literal>Type</Literal></Entry>
<Entry Rowsep="1"><Literal>Default</Literal></Entry>
<Entry Rowsep="1"><Literal>Access</Literal></Entry>
</Row>
<Row>
<Entry>XmNactivateCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNarmCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNdisarmCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNexposeCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNmultiClick</Entry>
<Entry>XmCMultiClick</Entry>
<Entry>unsigned char</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNpushButtonEnabled</Entry>
<Entry>XmCPushButtonEnabled</Entry>
<Entry>Boolean</Entry>
<Entry>False</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNresizeCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNshadowType</Entry>
<Entry>XmCShadowType</Entry>
<Entry>unsigned char</Entry>
<Entry>XmSHADOW_ETCHED_IN</Entry>
<Entry>CSG</Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<VariableList>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNactivateCallback</SystemItem></Term>
<ListItem>
<Para>Specifies the list of callbacks that is called
when the widget becomes selected.
The reason sent by the callback is <SystemItem Class="Constant">XmCR_ACTIVATE</SystemItem>.
This callback uses the <Symbol Role="Globalvar">XmQTactivatable</Symbol> trait.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNarmCallback</SystemItem></Term>
<ListItem>
<Para>Specifies the list of callbacks that is called
when the widget becomes armed.
The reason sent by the callback is <SystemItem Class="Constant">XmCR_ARM</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNdisarmCallback</SystemItem></Term>
<ListItem>
<Para>Specifies the list of callbacks that is called
when the widget becomes disarmed.
The reason sent by the callback is <SystemItem Class="Constant">XmCR_DISARM</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNexposeCallback</SystemItem></Term>
<ListItem>
<Para>Specifies the list of callbacks that is called
when the widget receives an exposure event.
The reason sent by the callback is <SystemItem Class="Constant">XmCR_EXPOSE</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNmultiClick</SystemItem></Term>
<ListItem>
<Para>If a button click is followed by another button click within the time
span specified by the display's multiclick time, and this resource is
set to <SystemItem Class="Constant">XmMULTICLICK_DISCARD</SystemItem>, the second click is not processed.
If this resource is set to <SystemItem Class="Constant">XmMULTICLICK_KEEP</SystemItem>, the event
is processed and <Symbol Role="Variable">click_count</Symbol> is incremented in the callback structure.
When the button is not in a menu, the default value is
<SystemItem Class="Constant">XmMULTICLICK_KEEP</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNpushButtonEnabled</SystemItem></Term>
<ListItem>
<Para>Enables or disables the 3-dimensional shadow drawing as in
PushButton.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNresizeCallback</SystemItem></Term>
<ListItem>
<Para>Specifies the list of callbacks that is called
when the widget receives a resize event.
The reason sent by the callback is <SystemItem Class="Constant">XmCR_RESIZE</SystemItem>. The event
returned for this callback is NULL.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Resource">XmNshadowType</SystemItem></Term>
<ListItem>
<Para>Describes the drawing style for the DrawnButton. This resource can have
the following values:
</Para>
<VariableList>
<VarListEntry>
<Term><SystemItem Class="Constant">XmSHADOW_IN</SystemItem></Term>
<ListItem>
<Para>Draws the DrawnButton so that the shadow appears
inset. This means that the bottom shadow visuals and top shadow visuals
are reversed.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmSHADOW_OUT</SystemItem></Term>
<ListItem>
<Para>Draws the DrawnButton
so that the shadow appears outset.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmSHADOW_ETCHED_IN</SystemItem></Term>
<ListItem>
<Para>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 <SystemItem Class="Resource">XmNshadowThickness</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmSHADOW_ETCHED_OUT</SystemItem></Term>
<ListItem>
<Para>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 <SystemItem Class="Resource">XmNshadowThickness</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
</ListItem>
</VarListEntry>
</VariableList>
</RefSect2>
<RefSect2>
<Title>Inherited Resources</Title>
<Para>DrawnButton inherits behavior and resources from the
superclasses described in the following tables.
For a complete description of each resource, refer to the
reference page for that superclass.
</Para>
<Para><!-- --><!-- @OSF_COPYRIGHT@--><!-- COPYRIGHT NOTICE--><!-- Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.--><!-- ALL RIGHTS RESERVED (MOTIF). See the file named COPY.MOTIF.DOC for--><!-- the full copyright text.--><!-- --><!-- HISTORY--><!-- --><!--no-op:  .in 0--></Para>
<InformalTable Frame="All" Remap="center" Orient="Port">
<TGroup Cols="5">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="1">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="2">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="3">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="4">
<ColSpec Rowsep="1" Align="Left" Colname="5">
<TBody>
<Row>
<Entry Align="Center" Nameend="5" Namest="1"><Literal>XmLabel Resource Set</Literal></Entry>
</Row>
<Row>
<Entry Rowsep="1"><Literal>Name</Literal></Entry>
<Entry Rowsep="1"><Literal>Class</Literal></Entry>
<Entry Rowsep="1"><Literal>Type</Literal></Entry>
<Entry Rowsep="1"><Literal>Default</Literal></Entry>
<Entry Rowsep="1"><Literal>Access</Literal></Entry>
</Row>
<Row>
<Entry>XmNaccelerator</Entry>
<Entry>XmCAccelerator</Entry>
<Entry>String</Entry>
<Entry>NULL</Entry>
<Entry>N/A</Entry>
</Row>
<Row>
<Entry>XmNacceleratorText</Entry>
<Entry>XmCAcceleratorText</Entry>
<Entry>XmString</Entry>
<Entry>NULL</Entry>
<Entry>N/A</Entry>
</Row>
<Row>
<Entry>XmNalignment</Entry>
<Entry>XmCAlignment</Entry>
<Entry>unsigned char</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNfontList</Entry>
<Entry>XmCFontList</Entry>
<Entry>XmFontList</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNlabelInsensitivePixmap</Entry>
<Entry>XmCLabelInsensitivePixmap</Entry>
<Entry>Pixmap</Entry>
<Entry>XmUNSPECIFIED_PIXMAP</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNlabelPixmap</Entry>
<Entry>XmCLabelPixmap</Entry>
<Entry>Pixmap</Entry>
<Entry>XmUNSPECIFIED_PIXMAP</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNlabelString</Entry>
<Entry>XmCXmString</Entry>
<Entry>XmString</Entry>
<Entry>"&bsol;0"</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNlabelType</Entry>
<Entry>XmCLabelType</Entry>
<Entry>unsigned char</Entry>
<Entry>XmSTRING</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNmarginBottom</Entry>
<Entry>XmCMarginBottom</Entry>
<Entry>Dimension</Entry>
<Entry>0</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNmarginHeight</Entry>
<Entry>XmCMarginHeight</Entry>
<Entry>Dimension</Entry>
<Entry>2</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNmarginLeft</Entry>
<Entry>XmCMarginLeft</Entry>
<Entry>Dimension</Entry>
<Entry>0</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNmarginRight</Entry>
<Entry>XmCMarginRight</Entry>
<Entry>Dimension</Entry>
<Entry>0</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNmarginTop</Entry>
<Entry>XmCMarginTop</Entry>
<Entry>Dimension</Entry>
<Entry>0</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNmarginWidth</Entry>
<Entry>XmCMarginWidth</Entry>
<Entry>Dimension</Entry>
<Entry>2</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNmnemonic</Entry>
<Entry>XmCMnemonic</Entry>
<Entry>KeySym</Entry>
<Entry>NULL</Entry>
<Entry>N/A</Entry>
</Row>
<Row>
<Entry>XmNmnemonicCharSet</Entry>
<Entry>XmCMnemonicCharSet</Entry>
<Entry>String</Entry>
<Entry>XmFONTLIST_DEFAULT_TAG</Entry>
<Entry>N/A</Entry>
</Row>
<Row>
<Entry>XmNrecomputeSize</Entry>
<Entry>XmCRecomputeSize</Entry>
<Entry>Boolean</Entry>
<Entry>True</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNrenderTable</Entry>
<Entry>XmCRenderTable</Entry>
<Entry>XmRenderTable</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNstringDirection</Entry>
<Entry>XmCStringDirection</Entry>
<Entry>XmStringDirection</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para><!-- --><!-- @OSF_COPYRIGHT@--><!-- COPYRIGHT NOTICE--><!-- Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.--><!-- ALL RIGHTS RESERVED (MOTIF). See the file named COPY.MOTIF.DOC for--><!-- the full copyright text.--><!-- --><!-- HISTORY--><!-- --></Para>
<InformalTable Frame="All" Remap="center" Orient="Port">
<TGroup Cols="5">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="1">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="2">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="3">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="4">
<ColSpec Rowsep="1" Align="Left" Colname="5">
<TBody>
<Row>
<Entry Align="Center" Nameend="5" Namest="1"><Literal>XmPrimitive Resource Set</Literal></Entry>
</Row>
<Row>
<Entry Rowsep="1"><Literal>Name</Literal></Entry>
<Entry Rowsep="1"><Literal>Class</Literal></Entry>
<Entry Rowsep="1"><Literal>Type</Literal></Entry>
<Entry Rowsep="1"><Literal>Default</Literal></Entry>
<Entry Rowsep="1"><Literal>Access</Literal></Entry>
</Row>
<Row>
<Entry>XmNbottomShadowColor</Entry>
<Entry>XmCBottomShadowColor</Entry>
<Entry>Pixel</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNbottomShadowPixmap</Entry>
<Entry>XmCBottomShadowPixmap</Entry>
<Entry>Pixmap</Entry>
<Entry>XmUNSPECIFIED_PIXMAP</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNconvertCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNforeground</Entry>
<Entry>XmCForeground</Entry>
<Entry>Pixel</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNhelpCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNhighlightColor</Entry>
<Entry>XmCHighlightColor</Entry>
<Entry>Pixel</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNhighlightOnEnter</Entry>
<Entry>XmCHighlightOnEnter</Entry>
<Entry>Boolean</Entry>
<Entry>False</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNhighlightPixmap</Entry>
<Entry>XmCHighlightPixmap</Entry>
<Entry>Pixmap</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNhighlightThickness</Entry>
<Entry>XmCHighlightThickness</Entry>
<Entry>Dimension</Entry>
<Entry>2</Entry>
<Entry>CSG</Entry>
</Row>
<!--no-op:  .tH-->
<Row>
<Entry>XmNlayoutDirection</Entry>
<Entry>XmCLayoutDirection</Entry>
<Entry>XmDirection</Entry>
<Entry>dynamic</Entry>
<Entry>CG</Entry>
</Row>
<Row>
<Entry>XmNnavigationType</Entry>
<Entry>XmCNavigationType</Entry>
<Entry>XmNavigationType</Entry>
<Entry>XmNONE</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNpopupHandlerCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNshadowThickness</Entry>
<Entry>XmCShadowThickness</Entry>
<Entry>Dimension</Entry>
<Entry>2</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNtopShadowColor</Entry>
<Entry>XmCTopShadowColor</Entry>
<Entry>Pixel</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNtopShadowPixmap</Entry>
<Entry>XmCTopShadowPixmap</Entry>
<Entry>Pixmap</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNtraversalOn</Entry>
<Entry>XmCTraversalOn</Entry>
<Entry>Boolean</Entry>
<Entry>True</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNunitType</Entry>
<Entry>XmCUnitType</Entry>
<Entry>unsigned char</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNuserData</Entry>
<Entry>XmCUserData</Entry>
<Entry>XtPointer</Entry>
<Entry>NULL</Entry>
<Entry>CSG</Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
<Para><!-- --><!-- @OSF_COPYRIGHT@--><!-- COPYRIGHT NOTICE--><!-- Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.--><!-- ALL RIGHTS RESERVED (MOTIF). See the file named COPY.MOTIF.DOC for--><!-- the full copyright text.--><!-- --><!-- HISTORY--><!-- --><!--no-op:  .in--></Para>
<InformalTable Frame="All" Remap="center" Orient="Port">
<TGroup Cols="5">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="1">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="2">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="3">
<ColSpec Rowsep="1" Colsep="1" Align="Left" Colname="4">
<ColSpec Rowsep="1" Align="Left" Colname="5">
<TBody>
<Row>
<Entry Align="Center" Nameend="5" Namest="1"><Literal>Core Resource Set</Literal></Entry>
</Row>
<Row>
<Entry Rowsep="1"><Literal>Name</Literal></Entry>
<Entry Rowsep="1"><Literal>Class</Literal></Entry>
<Entry Rowsep="1"><Literal>Type</Literal></Entry>
<Entry Rowsep="1"><Literal>Default</Literal></Entry>
<Entry Rowsep="1"><Literal>Access</Literal></Entry>
</Row>
<Row>
<Entry>XmNaccelerators</Entry>
<Entry>XmCAccelerators</Entry>
<Entry>XtAccelerators</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNancestorSensitive</Entry>
<Entry>XmCSensitive</Entry>
<Entry>Boolean</Entry>
<Entry>dynamic</Entry>
<Entry>G</Entry>
</Row>
<Row>
<Entry>XmNbackground</Entry>
<Entry>XmCBackground</Entry>
<Entry>Pixel</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNbackgroundPixmap</Entry>
<Entry>XmCPixmap</Entry>
<Entry>Pixmap</Entry>
<Entry>XmUNSPECIFIED_PIXMAP</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNborderColor</Entry>
<Entry>XmCBorderColor</Entry>
<Entry>Pixel</Entry>
<Entry>XtDefaultForeground</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNborderPixmap</Entry>
<Entry>XmCPixmap</Entry>
<Entry>Pixmap</Entry>
<Entry>XmUNSPECIFIED_PIXMAP</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNborderWidth</Entry>
<Entry>XmCBorderWidth</Entry>
<Entry>Dimension</Entry>
<Entry>0</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNcolormap</Entry>
<Entry>XmCColormap</Entry>
<Entry>Colormap</Entry>
<Entry>dynamic</Entry>
<Entry>CG</Entry>
</Row>
<Row>
<Entry>XmNdepth</Entry>
<Entry>XmCDepth</Entry>
<Entry>int</Entry>
<Entry>dynamic</Entry>
<Entry>CG</Entry>
</Row>
<Row>
<Entry>XmNdestroyCallback</Entry>
<Entry>XmCCallback</Entry>
<Entry>XtCallbackList</Entry>
<Entry>NULL</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNheight</Entry>
<Entry>XmCHeight</Entry>
<Entry>Dimension</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNinitialResourcesPersistent</Entry>
<Entry>XmCInitialResourcesPersistent</Entry>
<Entry>Boolean</Entry>
<Entry>True</Entry>
<Entry>C</Entry>
</Row>
<Row>
<Entry>XmNmappedWhenManaged</Entry>
<Entry>XmCMappedWhenManaged</Entry>
<Entry>Boolean</Entry>
<Entry>True</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNscreen</Entry>
<Entry>XmCScreen</Entry>
<Entry>Screen *</Entry>
<Entry>dynamic</Entry>
<Entry>CG</Entry>
</Row>
<Row>
<Entry>XmNsensitive</Entry>
<Entry>XmCSensitive</Entry>
<Entry>Boolean</Entry>
<Entry>True</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNtranslations</Entry>
<Entry>XmCTranslations</Entry>
<Entry>XtTranslations</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNwidth</Entry>
<Entry>XmCWidth</Entry>
<Entry>Dimension</Entry>
<Entry>dynamic</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNx</Entry>
<Entry>XmCPosition</Entry>
<Entry>Position</Entry>
<Entry>0</Entry>
<Entry>CSG</Entry>
</Row>
<Row>
<Entry>XmNy</Entry>
<Entry>XmCPosition</Entry>
<Entry>Position</Entry>
<Entry>0</Entry>
<Entry>CSG</Entry>
</Row>
</TBody>
</TGroup>
</InformalTable>
</RefSect2>
<RefSect2>
<Title>Callback Information</Title>
<Para>A pointer to the following structure is passed to each callback:
</Para>
<Synopsis>typedef struct
{
        int <Symbol Role="Variable">reason</Symbol>;
        XEvent <Symbol Role="Variable">* event</Symbol>;
        Window <Symbol Role="Variable">window</Symbol>;
        int <Symbol Role="Variable">click_count</Symbol>;
} XmDrawnButtonCallbackStruct;</Synopsis>
<!--no-op:  .fi-->
<VariableList>
<VarListEntry>
<Term><Symbol Role="Variable">reason</Symbol></Term>
<ListItem>
<Para>Indicates why the callback was invoked.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">event</Symbol></Term>
<ListItem>
<Para>Points to the <Symbol>XEvent</Symbol> that triggered the callback.
This is NULL for <SystemItem Class="Resource">XmNresizeCallback</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">window</Symbol></Term>
<ListItem>
<Para>Is set to the window ID in which the event occurred.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Symbol Role="Variable">click_count</Symbol></Term>
<ListItem>
<Para>Contains the number of clicks in the last multiclick sequence
if the <SystemItem Class="Resource">XmNmultiClick</SystemItem> resource is set to <SystemItem Class="Constant">XmMULTICLICK_KEEP</SystemItem>,
otherwise it contains 1.
The activate callback is invoked for each click if <SystemItem Class="Resource">XmNmultiClick</SystemItem>
is set to <SystemItem Class="Constant">XmMULTICLICK_KEEP</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
<!-- -->
<!-- @OSF_COPYRIGHT@-->
<!-- COPYRIGHT NOTICE-->
<!-- Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.-->
<!-- ALL RIGHTS RESERVED (MOTIF). See the file named COPY.MOTIF.DOC for-->
<!-- the full copyright text.-->
<!-- -->
<!-- HISTORY-->
<!-- -->
<!-- Action Table for XmDrawnButton -->
</RefSect2>
<RefSect2>
<Title>Translations</Title>
<Para>XmDrawnButton includes translations from Primitive.
Additional XmDrawnButton translations are
described in the following list.
The following key names are listed in the
X standard key event translation table syntax.
This format is the one used by Motif to
specify the widget actions corresponding to a given key.
A brief overview of the format is provided under
&cdeman.VirtualBindings;.
For a complete description of the format, please refer to the
X Toolkit Instrinsics Documentation.
</Para>
<VariableList>
<VarListEntry>
<Term><Literal>c&lt;Btn1Down></Literal>:</Term>
<ListItem>
<Para><Action>ButtonTakeFocus()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>&ap;c</Literal><KeySym>Btn1Down</KeySym>:</Term>
<ListItem>
<Para><Action>Arm()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>&ap;c</Literal><KeySym>Btn1Down</KeySym><Literal>,&ap;c</Literal><KeySym>Btn1Up</KeySym>:</Term>
<ListItem>
<Para><Action>Activate() Disarm()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>&ap;c</Literal><KeySym>Btn1Down</KeySym><Literal>(2+)</Literal>:</Term>
<ListItem>
<Para><Action>MultiArm()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>&ap;c</Literal><KeySym>Btn1Up</KeySym><Literal>(2+)</Literal>:</Term>
<ListItem>
<Para><Action>MultiActivate()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>&ap;c</Literal><KeySym>Btn1Up</KeySym>:</Term>
<ListItem>
<Para><Action>Activate() Disarm()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfActivate</KeySym>:</Term>
<ListItem>
<Para><Action>PrimitiveParentActivate()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfCancel</KeySym>:</Term>
<ListItem>
<Para><Action>PrimitiveParentCancel()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfSelect</KeySym>:</Term>
<ListItem>
<Para><Action>ArmAndActivate()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>:</Literal><KeySym>Key</KeySym><KeySym>osfHelp</KeySym>:</Term>
<ListItem>
<Para><Action>Help()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>&ap;s &ap;m &ap;a</Literal> <KeySym>Key</KeySym><Literal>Return</Literal>:</Term>
<ListItem>
<Para><Action>PrimitiveParentActivate()</Action>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Literal>&ap;s &ap;m &ap;a</Literal> <KeySym>Key</KeySym><Literal>space</Literal>:</Term>
<ListItem>
<Para><Action>ArmAndActivate()</Action>
</Para>
</ListItem>
</VarListEntry>
</VariableList>
<!--These translations may not directly correspond to a
translation table.
.VL 2i 0 1
.LI "&bsol;*LBSelect Press:&bsol;*O"
&bsol;*LArm()&bsol;*O
.LI "&bsol;*LBSelect Click:&bsol;*O"
&bsol;*LActivate()&bsol;*O
.nL
.zA "feature, 5750, R2.0, Added new translation"
.LI "&bsol;*LCtrl&lt;Btn1Down>:&bsol;*O
&bsol;*LPrimitiveTakeFocus()&bsol;*O
.nL
.zZ "feature, 5750, R2.0, Added new translation"
&bsol;*LDisarm()&bsol;*O
.LI "&bsol;*LSelect Release:&bsol;*O"
&bsol;*LActivate()&bsol;*O
.nL
&bsol;*LDisarm()&bsol;*O
.LI "&bsol;*LBSelect Press 2+:&bsol;*O"
&bsol;*LMultiArm()&bsol;*O
.LI "&bsol;*LBSelect Release 2+:&bsol;*O"
&bsol;*LMultiActivate()&bsol;*O
.LI "&bsol;*LKSelect:&bsol;*O"
&bsol;*LArmAndActivate()&bsol;*O
.LI "&bsol;*LKHelp:&bsol;*O"
&bsol;*LHelp()&bsol;*O
.LE
-->
</RefSect2>
<RefSect2>
<Title>Action Routines</Title>
<Para>The <Classname>XmDrawnButton</Classname> action routines are
</Para>
<VariableList>
<VarListEntry>
<Term><Action>Activate()</Action>:</Term>
<ListItem>
<Para>If <SystemItem Class="Resource">XmNpushButtonEnabled</SystemItem> is True, redraws the shadow in the
unselected state; otherwise, redraws the shadow according to
<SystemItem Class="Resource">XmNshadowType</SystemItem>.
<!--Calls the \*LXmNexposeCallback\*O callbacks, then redraws the label.-->If the pointer is within the DrawnButton, calls the
<SystemItem Class="Resource">XmNactivateCallback</SystemItem> callbacks.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>Arm()</Action>:</Term>
<ListItem>
<Para>If <SystemItem Class="Resource">XmNpushButtonEnabled</SystemItem> is True, redraws the shadow in the
selected state; otherwise, redraws the shadow according to
<SystemItem Class="Resource">XmNshadowType</SystemItem>.
<!--Calls the \*LXmNexposeCallback\*O callbacks, then redraws the label.-->Calls the callbacks for <SystemItem Class="Resource">XmNarmCallback</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>ArmAndActivate()</Action>:</Term>
<ListItem>
<Para>If <SystemItem Class="Resource">XmNpushButtonEnabled</SystemItem> is True, redraws the shadow in the
selected state; otherwise, redraws the shadow according to
<SystemItem Class="Resource">XmNshadowType</SystemItem>.
<!--Calls the \*LXmNexposeCallback\*O callbacks, then redraws the label.-->Calls the callbacks for <SystemItem Class="Resource">XmNarmCallback</SystemItem>.
</Para>
<Para>If <SystemItem Class="Resource">XmNpushButtonEnabled</SystemItem> is True, the shadow is redrawn in the
unselected state; otherwise, the shadow is redrawn according to
<SystemItem Class="Resource">XmNshadowType</SystemItem>.
<!--Calls the \*LXmNexposeCallback\*O callbacks, then redraws the label.-->The callbacks for <SystemItem Class="Resource">XmNactivateCallback</SystemItem> and <SystemItem Class="Resource">XmNdisarmCallback</SystemItem>
are called.
These actions happen either immediately or at a later
time.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>ButtonTakeFocus():</Action></Term>
<ListItem>
<Para>Causes the PushButton to take keyboard focus
when <Literal>Ctrl&lt;Btn1Down></Literal> is pressed, without activating the widget.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>Disarm()</Action>:</Term>
<ListItem>
<Para>Marks the DrawnButton as unselected and calls the callbacks for
<SystemItem Class="Resource">XmNdisarmCallback</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>Help()</Action>:</Term>
<ListItem>
<Para>Calls the callbacks for <SystemItem Class="Resource">XmNhelpCallback</SystemItem> 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.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>MultiActivate()</Action>:</Term>
<ListItem>
<Para>If <SystemItem Class="Resource">XmNmultiClick</SystemItem> is <SystemItem Class="Constant">XmMULTICLICK_DISCARD</SystemItem>, this action does
nothing.
</Para>
<Para>If <SystemItem Class="Resource">XmNmultiClick</SystemItem> is <SystemItem Class="Constant">XmMULTICLICK_KEEP</SystemItem>, this action
increments <Symbol Role="Variable">click_count</Symbol> in the callback structure.
If <SystemItem Class="Resource">XmNpushButtonEnabled</SystemItem> is True, this action redraws the shadow in the
unselected state; otherwise, it redraws the shadow according to
<SystemItem Class="Resource">XmNshadowType</SystemItem>.
<!--Calls the \*LXmNexposeCallback\*O callbacks, then redraws the label.-->If the pointer is within the DrawnButton, this action calls the
<SystemItem Class="Resource">XmNactivateCallback</SystemItem> callbacks and calls the
callbacks for <SystemItem Class="Resource">XmNdisarmCallback</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><Action>MultiArm()</Action>:</Term>
<ListItem>
<Para>If <SystemItem Class="Resource">XmNmultiClick</SystemItem> is <SystemItem Class="Constant">XmMULTICLICK_DISCARD</SystemItem>, this action does
nothing.
</Para>
<Para>If <SystemItem Class="Resource">XmNmultiClick</SystemItem> is <SystemItem Class="Constant">XmMULTICLICK_KEEP</SystemItem> and
if <SystemItem Class="Resource">XmNpushButtonEnabled</SystemItem> is True, this action
redraws the shadow in the selected state;
otherwise, it redraws the shadow according to
<SystemItem Class="Resource">XmNshadowType</SystemItem> and
<!--Calls the \*LXmNexposeCallback\*O callbacks, then redraws the label.-->calls the callbacks for <SystemItem Class="Resource">XmNarmCallback</SystemItem>.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
</RefSect2>
<RefSect2>
<Title>Additional Behavior</Title>
<Para>This widget has the following additional behavior:
</Para>
<VariableList>
<VarListEntry>
<Term><KeySym>EnterWindow</KeySym>:</Term>
<ListItem>
<Para>Draws the shadow in its selected state if <SystemItem Class="Resource">XmNpushButtonEnabled</SystemItem> is
True and if the cursor leaves and re-enters the window while <Literal>BSelect</Literal> is
pressed.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><KeySym>LeaveWindow</KeySym>:</Term>
<ListItem>
<Para>Draws the shadow in its unselected state if <SystemItem Class="Resource">XmNpushButtonEnabled</SystemItem>
is True and if the cursor leaves the window while <Literal>BSelect</Literal> is pressed.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
</RefSect2>
<RefSect2>
<Title>Virtual Bindings</Title>
<Para>The bindings for virtual keys are vendor specific.
For information about bindings for virtual buttons and keys, see &cdeman.VirtualBindings;.
</Para>
</RefSect2>
</RefSect1>
<RefSect1>
<Title>RELATED</Title>
<Para>&cdeman.Core;, <Function>XmCreateDrawnButton</Function>, &cdeman.XmLabel;,
&cdeman.XmPrimitive;, <Classname>XmPushButton</Classname>, and &cdeman.XmSeparator;.
</Para>
</RefSect1>
</RefEntry>
<!--fickle 1.09 7/2/95-->
