XmArrowButton(3X) X11 SDE 5.4R3.00 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
XmCR_ACTIVATE.
XmNarmCallback
Specifies a list of callbacks that is called when the
Licensed material--property of copyright holder(s) 1
XmArrowButton(3X) X11 SDE 5.4R3.00 XmArrowButton(3X)
ArrowButton is armed. To arm this widget, press BSelect
while the pointer is inside the ArrowButton. The reason
sent by this callback is XmCR_ARM.
XmNarrowDirection
Sets the arrow direction. The following are values for
this resource:
⊕ XmARROW_UP.
⊕ XmARROW_DOWN.
⊕ XmARROW_LEFT.
⊕ XmARROW_RIGHT.
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 XmCR_DISARM.
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 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.
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
Licensed material--property of copyright holder(s) 2
XmArrowButton(3X) X11 SDE 5.4R3.00 XmArrowButton(3X)
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 click_count; } XmArrowButtonCallbackStruct;
reason Indicates why the callback was invoked.
event Points to the XEvent that triggered the callback.
click_count
This value is valid only when the reason is XmCR_ACTIVATE.
It 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
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()
Licensed material--property of copyright holder(s) 3
XmArrowButton(3X) X11 SDE 5.4R3.00 XmArrowButton(3X)
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 XmMULTICLICK_DISCARD, this action does
nothing.
If XmNmultiClick is XmMULTICLICK_KEEP, this action does the
following: Increments click_count 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 XmMULTICLICK_DISCARD, this action does
nothing. If XmNmultiClick is XmMULTICLICK_KEEP, this
action draws the shadow in the selected state and calls the
callbacks for XmNarmCallback.
Licensed material--property of copyright holder(s) 4
XmArrowButton(3X) X11 SDE 5.4R3.00 XmArrowButton(3X)
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) 5