# Repeater Widget

    Application header file	<X11/Xaw/Repeater.h>

    Class header file	<X11/Xaw/RepeaterP.h>

    Class	repeaterWidgetClass

    Class Name	Repeater

    Superclass	Command

The Repeater widget is a subclass of the Command widget; see the Command documentation for details. The difference is that the Repeater can call its registered callbacks repeatedly, at an increasing rate. The default translation does so for the duration the user holds down pointer button 1 while the pointer is on the Repeater.

## Resources

When creating a Repeater widget instance, the following resources are retrieved from the argument list or from the resource database:

Name | Class | Type | Notes | Default Value
accelerators | Accelerators | AcceleratorTable |  | NULL
ancestorSensitive | AncestorSensitive | Boolean | D | True
background | Background | Pixel |  | XtDefaultBackground
backgroundPixmap | Pixmap | Pixmap |  | XtUnspecifiedPixmap
bitmap | Bitmap | Pixmap |  | None
borderColor | BorderColor | Pixel |  | XtDefaultForeground
borderPixmap | Pixmap | Pixmap |  | XtUnspecifiedPixmap
borderWidth | BorderWidth | Dimension |  | 1
callback | Callback | XtCallbackList |  | NULL
colormap | Colormap | Colormap |  | Parent's Colormap
cornerRoundPercent | CornerRoundPercent | Dimension |  | 25
cursor | Cursor | Cursor |  | None
cursorName | Cursor | String |  | NULL
decay | Decay | Int |  | 5
depth | Depth | int | C | Parent's Depth
destroyCallback | Callback | XtCallbackList |  | NULL
encoding | Encoding | UnsignedChar |  | XawTextEncoding8bit
flash | Boolean | Boolean |  | False
font | Font | XFontStruct |  | XtDefaultFont
fontSet | FontSet | XFontSet |  | XtDefaultFontSet
foreground | Foreground | Pixel |  | XtDefaultForeground
height | Height | Dimension | A | graphic height + 2 * `internalHeight`
highlightThickness | Thickness | Dimension | A | 2 (0 if Shaped)
initialDelay | Delay | Int |  | 200
insensitiveBorder | Insensitive | Pixmap |  | GreyPixmap
internalHeight | Height | Dimension |  | 2
internalWidth | Width | Dimension |  | 4
international | International | Boolean | C | False
justify | Justify | Justify |  | XtJustifyCenter (center)
label | Label | String |  | name of widget
leftBitmap | LeftBitmap | Bitmap |  | None
mappedWhenManaged | MappedWhenManaged | Boolean |  | True
minimumDelay | MinimumDelay | Int |  | 10
pointerColor | Foreground | Pixel |  | XtDefaultForeground
pointerColorBackground | Background | Pixel |  | XtDefaultBackground
repeatDelay | Delay | Int |  | 50
resize | Resize | Boolean |  | True
screen | Screen | Pointer | R | Parent's Screen
sensitive | Sensitive | Boolean |  | True
shapeStyle | ShapeStyle | ShapeStyle |  | Rectangle
startCallback | StartCallback | Callback |  | NULL
stopCallback | StopCallback | Callback |  | NULL
translations | Translations | TranslationTable |  | See below
width | Width | Dimension | A | graphic width + 2 * `internalWidth`
x | Position | Position |  | 0
y | Position | Position |  | 0

\" Resource Descriptions

`decay`

- The number of milliseconds that should be subtracted from each succeeding interval while the Repeater button is being held down until the interval has reached `minimumDelay` milliseconds.

`flash`

- Whether or not to flash the Repeater button whenever the timer goes off.

`initialDelay`

- The number of milliseconds between the beginning of the Repeater button being held down and the first invocation of the `callback` function.

`minimumDelay`

- The minimum time between callbacks in milliseconds.

`repeatDelay`

- The number of milliseconds between each callback after the first (minus an increasing number of `decay`s).

`startCallback`

- The list of functions to invoke by the `start` action (typically when the Repeater button is first pressed). The callback data parameter is set to NULL.

`stopCallback`

- The list of functions to invoke by the `stop` action (typically when the Repeater button is released). The callback data parameter is set to NULL.

## Repeater Actions

The Repeater widget supports the following actions beyond those of the Command button:

`start`()

- This invokes the functions on the `startCallback` and `callback` lists and sets a timer to go off in `initialDelay` milliseconds. The timer will cause the `callback` functions to be invoked with increasing frequency until the `stop` action occurs.

`stop`()

- This invokes the functions on the `stopCallback` list and prevents any further timers from occurring until the next `start` action.

The following are the default translation bindings used by the Repeater widget:

    	<EnterWindow>:	highlight( )
    	<LeaveWindow>:	unhighlight( )
    	<Btn1Down>:	set( ) start( )
    	<Btn1Up>:	stop( ) unset( )