XmArrowButton(3X) SDK X11 R4.11MU05 XmArrowButton(3X)
NAME
XmArrowButton--The ArrowButton widget class
SYNOPSIS
#include <Xm/ArrowB.h>
DESCRIPTION
ArrowButton consists of a directional arrow surrounded by a border
shadow. When it is selected, the shadow changes to give the
appearance that the ArrowButton has been pressed in. When the
ArrowButton is unselected, the shadow reverts to give the appearance
that the ArrowButton is released, or out.
Classes
ArrowButton inherits behavior and resources from Core and XmPrimitive
classes.
The class pointer is xmArrowButtonWidgetClass.
The class name is XmArrowButton.
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).
+-------------------------------------------------------------------------------+
| XmArrowButton Resource Set |
+--------------------+-------------------+----------------+------------+--------+
|Name | Class | Type | Default | Access |
+--------------------+-------------------+----------------+------------+--------+
+--------------------+-------------------+----------------+------------+--------+
|XmNactivateCallback | XmCCallback | XtCallbackList | NULL | C |
+--------------------+-------------------+----------------+------------+--------+
|XmNarmCallback | XmCCallback | XtCallbackList | NULL | C |
+--------------------+-------------------+----------------+------------+--------+
|XmNarrowDirection | XmCArrowDirection | unsigned char | XmARROW_UP | CSG |
+--------------------+-------------------+----------------+------------+--------+
|XmNdisarmCallback | XmCCallback | XtCallbackList | NULL | C |
+--------------------+-------------------+----------------+------------+--------+
|XmNmultiClick | XmCMultiClick | unsigned char | dynamic | CSG |
+--------------------+-------------------+----------------+------------+--------+
XmNactivateCallback
Specifies a list of callbacks that is called when the
ArrowButton is activated. To activate the button, press
and release BSelect while the pointer is inside the
ArrowButton widget. Activating the ArrowButton also
disarms it. The reason sent by this callback is
XmCRACTIVATE.
XmNarmCallback
Specifies a list of callbacks that is called when the
ArrowButton is armed. To arm this widget, press BSelect
while the pointer is inside the ArrowButton. The reason
sent by this callback is XmCRARM.
XmNarrowDirection
Sets the arrow direction. The following are values for
this resource:
· XmARROWUP.
· XmARROWDOWN.
· XmARROWLEFT.
· XmARROWRIGHT.
XmNdisarmCallback
Specifies a list of callbacks that is called when the
ArrowButton is disarmed. To disarm this widget, press and
release BSelect while the pointer is inside the
ArrowButton. The reason for this callback is XmCRDISARM.
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 XmMULTICLICKDISCARD, do
not process the second click. If this resource is set to
XmMULTICLICKKEEP, process the event and increment
clickcount in the callback structure. When the button is
not in a menu, the default value is XmMULTICLICKKEEP.
Inherited Resources
ArrowButton inherits behavior and resources from the following
superclasses. For a complete description of each resource, refer to
the man page for that superclass.
+-------------------------------------------------------------------------------------------------+
| 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 |
+----------------------+-----------------------+------------------+----------------------+--------+
|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;
int clickcount;
} XmArrowButtonCallbackStruct;
reason Indicates why the callback was invoked.
event Points to the XEvent that triggered the callback.
clickcount
This value is valid only when the reason is XmCRACTIVATE.
It contains the number of clicks in the last multiclick
sequence if the XmNmultiClick resource is set to
XmMULTICLICKKEEP; otherwise it contains 1. The activate
callback is invoked for each click if XmNmultiClick is set to
XmMULTICLICKKEEP.
Translations
XmArrowButton includes translations for XmPrimitive. Additional
XmArrowButton 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
The XmArrowButton action routines are described below:
Activate():
Draws the shadow in the unselected state. If the pointer
is within the ArrowButton, calls the callbacks for
XmNactivateCallback.
Arm(): Draws the shadow in the selected state and calls the
callbacks for XmNarmCallback.
ArmAndActivate():
Draws the shadow in the selected state and calls the
callbacks for XmNarmCallback. Arranges for the shadow to
be drawn in the unselected state and the callbacks for
XmNactivateCallback and XmNdisarmCallback to be called,
either immediately or at a later time.
Disarm(): Draws the shadow in the unselected state 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 XmMULTICLICKDISCARD, this action does
nothing.
If XmNmultiClick is XmMULTICLICKKEEP, this action does the
following: Increments clickcount in the callback structure. Draws
the shadow in the unselected state. If the pointer is within the
ArrowButton, calls the callbacks for XmNactivateCallback. Calls the
callbacks for XmNdisarmCallback.
MultiArm():
If XmNmultiClick is XmMULTICLICKDISCARD, this action does
nothing. If XmNmultiClick is XmMULTICLICKKEEP, this
action draws the shadow in the selected state and calls the
callbacks for XmNarmCallback.
Additional Behavior
This widget has the additional behavior described below:
<EnterWindow>:
Draws the ArrowButton shadow in its selected state if the
pointer leaves and re-enters the window while BSelect is
pressed.
<LeaveWindow>:
Draws the ArrowButton shadow in its unselected state if the
pointer 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), XmCreateArrowButton(3X), and XmPrimitive(3X).
Licensed material--property of copyright holder(s)