358 lines
8.9 KiB
XML
358 lines
8.9 KiB
XML
<sect1 id="Grip_Widget">
|
|
<title>Grip Widget</title>
|
|
<!-- .XS -->
|
|
<!-- Grip Widget -->
|
|
<!-- .XE -->
|
|
<!-- .IN "Grip widget" "" "@DEF@" -->
|
|
<literallayout class="monospaced">
|
|
<!-- .TA 2.0i -->
|
|
<!-- .ta 2.0i -->
|
|
<!-- .sp -->
|
|
Application header file <X11/Xaw/Grip.h>
|
|
<!-- .IN "Grip.h" "" -->
|
|
Class header file <X11/Xaw/GripP.h>
|
|
<!-- .IN "GripP.h" "" -->
|
|
Class gripWidgetClass
|
|
<!-- .IN "gripWidgetClass" "" -->
|
|
Class Name Grip
|
|
<!-- .IN "Grip widget" "class name" -->
|
|
Superclass Simple
|
|
<!-- .sp -->
|
|
</literallayout>
|
|
<para>
|
|
<!-- .LP -->
|
|
The Grip widget provides a small rectangular region in which user input
|
|
events (such as ButtonPress or ButtonRelease) may be handled. The most
|
|
common use for the Grip widget is as an attachment point for visually
|
|
repositioning an object, such as the pane border in a Paned widget.
|
|
</para>
|
|
<sect2 id="grip_resources">
|
|
<title>Resources</title>
|
|
<para>
|
|
<!-- .LP -->
|
|
When creating a Grip widget instance, the following resources are
|
|
retrieved from the argument list or from the resource database:
|
|
</para>
|
|
<para>
|
|
<!-- .LP -->
|
|
<!-- .IN "Grip widget" "resources" -->
|
|
<informaltable>
|
|
<tgroup cols='5' align='center'>
|
|
<colspec colname='c1'/>
|
|
<colspec colname='c2'/>
|
|
<colspec colname='c3'/>
|
|
<colspec colname='c4'/>
|
|
<colspec colname='c5'/>
|
|
<thead>
|
|
<row>
|
|
<entry>Name</entry>
|
|
<entry>Class</entry>
|
|
<entry>Type</entry>
|
|
<entry>Notes</entry>
|
|
<entry>Default Value</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>accelerators</entry>
|
|
<entry>Accelerators</entry>
|
|
<entry>AcceleratorTable</entry>
|
|
<entry></entry>
|
|
<entry>NULL</entry>
|
|
</row>
|
|
<row>
|
|
<entry>ancestorSensitive</entry>
|
|
<entry>AncestorSensitive</entry>
|
|
<entry>Boolean</entry>
|
|
<entry>D</entry>
|
|
<entry>True</entry>
|
|
</row>
|
|
<row>
|
|
<entry>background</entry>
|
|
<entry>Background</entry>
|
|
<entry>Pixel</entry>
|
|
<entry></entry>
|
|
<entry>XtDefaultBackground</entry>
|
|
</row>
|
|
<row>
|
|
<entry>backgroundPixmap</entry>
|
|
<entry>Pixmap</entry>
|
|
<entry>Pixmap</entry>
|
|
<entry></entry>
|
|
<entry>XtUnspecifiedPixmap</entry>
|
|
</row>
|
|
<row>
|
|
<entry>borderColor</entry>
|
|
<entry>BorderColor</entry>
|
|
<entry>Pixel</entry>
|
|
<entry></entry>
|
|
<entry>XtDefaultForeground</entry>
|
|
</row>
|
|
<row>
|
|
<entry>borderPixmap</entry>
|
|
<entry>Pixmap</entry>
|
|
<entry>Pixmap</entry>
|
|
<entry></entry>
|
|
<entry>XtUnspecifiedPixmap</entry>
|
|
</row>
|
|
<row>
|
|
<entry>borderWidth</entry>
|
|
<entry>BorderWidth</entry>
|
|
<entry>Dimension</entry>
|
|
<entry></entry>
|
|
<entry>0</entry>
|
|
</row>
|
|
<row>
|
|
<entry>callback</entry>
|
|
<entry>Callback</entry>
|
|
<entry>Callback</entry>
|
|
<entry></entry>
|
|
<entry>NULL</entry>
|
|
</row>
|
|
<row>
|
|
<entry>colormap</entry>
|
|
<entry>Colormap</entry>
|
|
<entry>Colormap</entry>
|
|
<entry></entry>
|
|
<entry>Parent's Colormap</entry>
|
|
</row>
|
|
<row>
|
|
<entry>cursor</entry>
|
|
<entry>Cursor</entry>
|
|
<entry>Cursor</entry>
|
|
<entry></entry>
|
|
<entry>None</entry>
|
|
</row>
|
|
<row>
|
|
<entry>cursorName</entry>
|
|
<entry>Cursor</entry>
|
|
<entry>String</entry>
|
|
<entry></entry>
|
|
<entry>NULL</entry>
|
|
</row>
|
|
<row>
|
|
<entry>depth</entry>
|
|
<entry>Depth</entry>
|
|
<entry>int</entry>
|
|
<entry>C</entry>
|
|
<entry>Parent's Depth</entry>
|
|
</row>
|
|
<row>
|
|
<entry>destroyCallback</entry>
|
|
<entry>Callback</entry>
|
|
<entry>XtCallbackList</entry>
|
|
<entry></entry>
|
|
<entry>NULL</entry>
|
|
</row>
|
|
<row>
|
|
<entry>foreground</entry>
|
|
<entry>Foreground</entry>
|
|
<entry>Pixel</entry>
|
|
<entry></entry>
|
|
<entry>XtDefaultForeground</entry>
|
|
</row>
|
|
<row>
|
|
<entry>height</entry>
|
|
<entry>Height</entry>
|
|
<entry>Dimension</entry>
|
|
<entry></entry>
|
|
<entry>8</entry>
|
|
</row>
|
|
<row>
|
|
<entry>insensitiveBorder</entry>
|
|
<entry>Insensitive</entry>
|
|
<entry>Pixmap</entry>
|
|
<entry></entry>
|
|
<entry>GreyPixmap</entry>
|
|
</row>
|
|
<row>
|
|
<entry>international</entry>
|
|
<entry>International</entry>
|
|
<entry>Boolean</entry>
|
|
<entry>C</entry>
|
|
<entry>False</entry>
|
|
</row>
|
|
<row>
|
|
<entry>mappedWhenManaged</entry>
|
|
<entry>MappedWhenManaged</entry>
|
|
<entry>Boolean</entry>
|
|
<entry></entry>
|
|
<entry>True</entry>
|
|
</row>
|
|
<row>
|
|
<entry>pointerColor</entry>
|
|
<entry>Foreground</entry>
|
|
<entry>Pixel</entry>
|
|
<entry></entry>
|
|
<entry>XtDefaultForeground</entry>
|
|
</row>
|
|
<row>
|
|
<entry>pointerColorBackground</entry>
|
|
<entry>Background</entry>
|
|
<entry>Pixel</entry>
|
|
<entry></entry>
|
|
<entry>XtDefaultBackground</entry>
|
|
</row>
|
|
<row>
|
|
<entry>screen</entry>
|
|
<entry>Screen</entry>
|
|
<entry>Screen</entry>
|
|
<entry>R</entry>
|
|
<entry>Parent's Screen</entry>
|
|
</row>
|
|
<row>
|
|
<entry>sensitive</entry>
|
|
<entry>Sensitive</entry>
|
|
<entry>Boolean</entry>
|
|
<entry></entry>
|
|
<entry>True</entry>
|
|
</row>
|
|
<row>
|
|
<entry>translations</entry>
|
|
<entry>Translations</entry>
|
|
<entry>TranslationTable</entry>
|
|
<entry></entry>
|
|
<entry>NULL</entry>
|
|
</row>
|
|
<row>
|
|
<entry>width</entry>
|
|
<entry>Width</entry>
|
|
<entry>Dimension</entry>
|
|
<entry></entry>
|
|
<entry>8</entry>
|
|
</row>
|
|
<row>
|
|
<entry>x</entry>
|
|
<entry>Position</entry>
|
|
<entry>Position</entry>
|
|
<entry></entry>
|
|
<entry>0</entry>
|
|
</row>
|
|
<row>
|
|
<entry>y</entry>
|
|
<entry>Position</entry>
|
|
<entry>Position</entry>
|
|
<entry></entry>
|
|
<entry>0</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
<!-- .Ac -->
|
|
<!-- .As -->
|
|
<!-- .Bg -->
|
|
<!-- .Gp -->
|
|
<!-- .Bc -->
|
|
<!-- .Bp -->
|
|
<!-- .Bw -->
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>
|
|
<function>callback</function>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
All routines on this list are called whenever the <function>GripAction</function>
|
|
action routine is invoked. The <emphasis remap='I'>call_data</emphasis> contains all
|
|
information passed to the action routine. A detailed description
|
|
is given below in the <function>Grip Actions</function> section.
|
|
<!-- .Cm -->
|
|
<!-- .Cu -->
|
|
<!-- .Cn -->
|
|
<!-- .Dp -->
|
|
<!-- .Dc -->
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>
|
|
<function>foreground</function>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
A pixel value which indexes the widget's colormap to derive the color
|
|
used to flood fill the entire Grip widget.
|
|
<!-- .Hw -->
|
|
<!-- .Ib -->
|
|
<!-- .Ix -->
|
|
<!-- .Mm -->
|
|
<!-- .Pf -->
|
|
<!-- .Pb -->
|
|
<!-- .Sc -->
|
|
<!-- .Se -->
|
|
<!-- .Tr -->
|
|
<!-- .Xy -->
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</sect2>
|
|
<sect2 id="Grip_Actions">
|
|
<title>Grip Actions</title>
|
|
<!-- .IN "Grip widget" "actions" -->
|
|
<para>
|
|
<!-- .LP -->
|
|
The Grip widget does not declare any default event translation bindings,
|
|
but it does declare a single action routine named <function>GripAction</function>. The
|
|
<!-- .IN "Grip widget" "GripAction routine" -->
|
|
client specifies an arbitrary event translation table, optionally giving
|
|
parameters to the <function>GripAction</function> routine.
|
|
</para>
|
|
<para>
|
|
<!-- .LP -->
|
|
The <function>GripAction</function> routine executes the callbacks on the
|
|
<function>callback</function> list, passing as <function>call_data</function> a pointer to a
|
|
<function>XawGripCallData</function> structure, defined in the Grip widget's application
|
|
header file.
|
|
</para>
|
|
<para>
|
|
<!-- .LP -->
|
|
<literallayout class="monospaced">
|
|
<!-- .TA .5i 2.25i -->
|
|
<!-- .ta .5i 2.25i -->
|
|
<!-- .IN "XawGripCallData" "" "@DEF@" -->
|
|
<!-- .IN "XawGripCallDataRec" "" "@DEF@" -->
|
|
<!-- .sp -->
|
|
typedef struct _XawGripCallData {
|
|
XEvent *event;
|
|
String *params;
|
|
Cardinal num_params;
|
|
} XawGripCallDataRec, *XawGripCallData,
|
|
GripCallDataRec, *GripCallData; /* supported for R4 compatibility */
|
|
<!-- .IN "XawGripCallDataRec" "" -->
|
|
<!-- .IN "XawGripCallData" "" -->
|
|
<!-- .IN "GripCallData" "" -->
|
|
<!-- .sp -->
|
|
</literallayout>
|
|
</para>
|
|
<para>
|
|
<!-- .LP -->
|
|
In this structure, the <emphasis remap='I'>event</emphasis> is a pointer to the input event that
|
|
triggered the action. <emphasis remap='I'>params</emphasis> and <emphasis remap='I'>num_params</emphasis> give the string
|
|
parameters specified in the translation table for the particular event
|
|
binding.
|
|
<!-- .IN "Grip widget" "GripAction table" -->
|
|
</para>
|
|
<para>
|
|
<!-- .LP -->
|
|
The following is an example of a translation table that uses the GripAction:
|
|
</para>
|
|
<para>
|
|
<!-- .LP -->
|
|
<literallayout class="monospaced">
|
|
<!-- .TA .5i 2.5i -->
|
|
<!-- .ta .5i 2.5i -->
|
|
<!-- .sp -->
|
|
<Btn1Down>: GripAction(press)
|
|
<Btn1Motion>: GripAction(move)
|
|
<Btn1Up>: GripAction(release)
|
|
<!-- .sp -->
|
|
</literallayout>
|
|
For a complete description of the format of translation tables, see the
|
|
<emphasis remap='I'>X Toolkit Intrinsics - C Language Interface</emphasis>.
|
|
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|