XmArrowButtonGadget(3X) SDK X11 R4.11MU05 XmArrowButtonGadget(3X)
NAME
XmArrowButtonGadget--The ArrowButtonGadget widget class
SYNOPSIS
#include <Xm/ArrowBG.h>
DESCRIPTION
ArrowButtonGadget consists of a directional arrow surrounded by a
border shadow. When it is selected, the shadow changes to give the
appearance that the ArrowButtonGadget has been pressed in. When it
is unselected, the shadow reverts to give the appearance that the
button is released, or out.
Classes
ArrowButtonGadget inherits behavior and resources from Object,
RectObj, and XmGadget classes.
The class pointer is xmArrowButtonGadgetClass.
The class name is XmArrowButtonGadget.
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).
+-------------------------------------------------------------------------------+
| ArrowButtonGadget 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
ArrowButtonGadget is activated. To activate the button,
press and release BSelect while the pointer is inside the
ArrowButtonGadget. Activating the ArrowButtonGadget also
disarms it. The reason sent by this callback is
XmCRACTIVATE.
XmNarmCallback
Specifies a list of callbacks that is called when the
ArrowButtonGadget is armed. To arm this widget, press
BSelect while the pointer is inside the ArrowButtonGadget.
The reason sent by this callback is XmCRARM.
XmNarrowDirection
Sets the arrow direction. The values for this resource
are:
· XmARROWUP.
· XmARROWDOWN.
· XmARROWLEFT.
· XmARROWRIGHT.
XmNdisarmCallback
Specifies a list of callbacks that is called when the
ArrowButtonGadget is disarmed. To disarm this widget,
press and release BSelect while the pointer is inside the
ArrowButtonGadget. The reason sent by 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
ArrowButtonGadget is not in a menu, the default value is
XmMULTICLICKKEEP.
Inherited Resources
ArrowButtonGadget inherits behavior and resources from the following
superclasses. For a complete description of each resource, refer to
the man page for that superclass.
+------------------------------------------------------------------------------------+
| XmGadget Resource Set |
+----------------------+-----------------------+------------------+---------+--------+
|Name | Class | Type | Default | Access |
+----------------------+-----------------------+------------------+---------+--------+
+----------------------+-----------------------+------------------+---------+--------+
|XmNbottomShadowColor | XmCBottomShadowColor | Pixel | dynamic | G |
+----------------------+-----------------------+------------------+---------+--------+
|XmNhelpCallback | XmCCallback | XtCallbackList | NULL | C |
+----------------------+-----------------------+------------------+---------+--------+
|XmNhighlightColor | XmCHighlightColor | Pixel | dynamic | G |
+----------------------+-----------------------+------------------+---------+--------+
|XmNhighlightOnEnter | XmCHighlightOnEnter | Boolean | False | CSG |
+----------------------+-----------------------+------------------+---------+--------+
|XmNhighlightThickness | XmCHighlightThickness | Dimension | 2 | CSG |
+----------------------+-----------------------+------------------+---------+--------+
|XmNnavigationType | XmCNavigationType | XmNavigationType | XmNONE | CSG |
+----------------------+-----------------------+------------------+---------+--------+
|XmNshadowThickness | XmCShadowThickness | Dimension | 2 | CSG |
+----------------------+-----------------------+------------------+---------+--------+
|XmNtopShadowColor | XmCTopShadowColor | Pixel | dynamic | G |
+----------------------+-----------------------+------------------+---------+--------+
|XmNtraversalOn | XmCTraversalOn | Boolean | True | CSG |
+----------------------+-----------------------+------------------+---------+--------+
|XmNunitType | XmCUnitType | unsigned char | dynamic | CSG |
+----------------------+-----------------------+------------------+---------+--------+
|XmNuserData | XmCUserData | XtPointer | NULL | CSG |
+----------------------+-----------------------+------------------+---------+--------+
+---------------------------------------------------------------------+
| RectObj Resource Set |
+---------------------+----------------+-----------+---------+--------+
|Name | Class | Type | Default | Access |
+---------------------+----------------+-----------+---------+--------+
+---------------------+----------------+-----------+---------+--------+
|XmNancestorSensitive | XmCSensitive | Boolean | dynamic | G |
+---------------------+----------------+-----------+---------+--------+
|XmNborderWidth | XmCBorderWidth | Dimension | 0 | CSG |
+---------------------+----------------+-----------+---------+--------+
|XmNheight | XmCHeight | Dimension | dynamic | CSG |
+---------------------+----------------+-----------+---------+--------+
|XmNsensitive | XmCSensitive | Boolean | True | CSG |
+---------------------+----------------+-----------+---------+--------+
|XmNwidth | XmCWidth | Dimension | dynamic | CSG |
+---------------------+----------------+-----------+---------+--------+
|XmNx | XmCPosition | Position | 0 | CSG |
+---------------------+----------------+-----------+---------+--------+
|XmNy | XmCPosition | Position | 0 | CSG |
+---------------------+----------------+-----------+---------+--------+
+---------------------------------------------------------------------+
| Object Resource Set |
+-------------------+-------------+----------------+---------+--------+
|Name | Class | Type | Default | Access |
+-------------------+-------------+----------------+---------+--------+
+-------------------+-------------+----------------+---------+--------+
|XmNdestroyCallback | XmCCallback | XtCallbackList | NULL | C |
+-------------------+-------------+----------------+---------+--------+
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.
Behavior
XmArrowButtonGadget includes behavior from XmGadget. Additional
XmArrowButtonGadget behavior is described below:
BSelect Press:
Draws the shadow in the selected state and calls the
callbacks for XmNarmCallback.
BSelect Click or BSelectRelease:
Draws the shadow in the unselected state. If the pointer
is within the ArrowButtonGadget, calls the callbacks for
XmNactivateCallback. Calls the callbacks for
XmNdisarmCallback.
BSelect Press 2+:
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.
BSelect Release 2+:
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
ArrowButtonGadget, calls the callbacks for XmNactivateCallback.
Calls the callbacks for XmNdisarmCallback.
KSelect: 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.
KHelp: Calls the callbacks for XmNhelpCallback if any exist. If
there are no help callbacks for this widget, this calls the
help callbacks for the nearest ancestor that has them.
<Enter>: Draws the ArrowButtonGadget shadow in its selected state if
the pointer leaves and re-enters the gadget while BSelect
is pressed.
<Leave>: Draws the ArrowButtonGadget shadow in its unselected state
if the pointer leaves the gadget 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
Object(3X), RectObj(3X), XmCreateArrowButtonGadget(3X), and
XmGadget(3X).
Licensed material--property of copyright holder(s)