summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Dew <marcoz@osource.org>2011-10-21 22:59:54 -0600
committerMatt Dew <marcoz@osource.org>2011-10-21 22:59:54 -0600
commit6b945acd5c394f4a508538eb028f129c7eaf2c69 (patch)
treec343f81b535a1bf0bd832ae435ac2d21ff74d951
parent388af5f79aa28bcd1c053fb2e669d0ac31e90ef0 (diff)
Updated CH08.xml
-rw-r--r--specs/CH08.xml479
1 files changed, 150 insertions, 329 deletions
diff --git a/specs/CH08.xml b/specs/CH08.xml
index b2dcc47..ad4afa1 100644
--- a/specs/CH08.xml
+++ b/specs/CH08.xml
@@ -1,62 +1,6 @@
-<!-- .\" $Xorg: CH08,v 1.3 2000/08/17 19:42:46 cpqbld Exp $ -->
-<!-- .\" Copyright \(co 1985, 1986, 1987, 1988, 1991, 1994 -->
-<!-- .\" X Consortium -->
-<!-- .\" -->
-<!-- .\" Permission is hereby granted, free of charge, to any person obtaining -->
-<!-- .\" a copy of this software and associated documentation files (the -->
-<!-- .\" "Software"), to deal in the Software without restriction, including -->
-<!-- .\" without limitation the rights to use, copy, modify, merge, publish, -->
-<!-- .\" distribute, sublicense, and/or sell copies of the Software, and to -->
-<!-- .\" permit persons to whom the Software is furnished to do so, subject to -->
-<!-- .\" the following conditions: -->
-<!-- .\" -->
-<!-- .\" The above copyright notice and this permission notice shall be included -->
-<!-- .\" in all copies or substantial portions of the Software. -->
-<!-- .\" -->
-<!-- .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -->
-<!-- .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -->
-<!-- .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -->
-<!-- .\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR -->
-<!-- .\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -->
-<!-- .\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -->
-<!-- .\" OTHER DEALINGS IN THE SOFTWARE. -->
-<!-- .\" -->
-<!-- .\" Except as contained in this notice, the name of the X Consortium shall -->
-<!-- .\" not be used in advertising or otherwise to promote the sale, use or -->
-<!-- .\" other dealings in this Software without prior written authorization -->
-<!-- .\" from the X Consortium. -->
-<!-- .\" -->
-<!-- .\" Copyright \(co 1985, 1986, 1987, 1988, 1991, 1994 -->
-<!-- .\" Digital Equipment Corporation, Maynard, Massachusetts. -->
-<!-- .\" -->
-<!-- .\" Permission to use, copy, modify and distribute this documentation for any -->
-<!-- .\" purpose and without fee is hereby granted, provided that the above copyright -->
-<!-- .\" notice appears in all copies and that both that copyright notice and this -->
-<!-- .\" permission notice appear in supporting documentation, and that the name of -->
-<!-- .\" Digital not be used in in advertising or publicity pertaining -->
-<!-- .\" to distribution of the software without specific, written prior permission. -->
-<!-- .\" Digital makes no representations about the suitability of the -->
-<!-- .\" software described herein for any purpose. -->
-<!-- .\" It is provided ``as is'' without express or implied warranty. -->
-<!-- .\" -->
-\&
-<!-- .sp 1 -->
-<!-- .ce 3 -->
-\s+1<function>Chapter 8</function>\s-1
-
-\s+1<function>Callbacks</function>\s-1
-<!-- .sp 2 -->
-<!-- .nr H1 8 -->
-<!-- .nr H2 0 -->
-<!-- .nr H3 0 -->
-<!-- .nr H4 0 -->
-<!-- .nr H5 0 -->
+<chapter id='Callbacks'>
+<title>Callbacks</title>
<para>
-<!-- .LP -->
-<!-- .XS -->
-<!-- Chapter 8 \(em Callbacks -->
-<!-- .XE -->
-<!-- .IN "Destroy Callbacks" -->
Applications and other widgets often need to register a procedure
with a widget that gets called under certain prespecified conditions.
For example,
@@ -64,46 +8,35 @@ when a widget is destroyed,
every procedure on the widget's <emphasis remap='I'>destroy_callbacks</emphasis>
list is called to notify clients of the widget's impending doom.
</para>
+
<para>
-<!-- .LP -->
Every widget has an XtNdestroyCallbacks callback list resource.
Widgets can define additional callback lists as they see fit.
For example, the Pushbutton widget has a callback
list to notify clients when the button has been activated.
</para>
+
<para>
-<!-- .LP -->
Except where otherwise noted, it is the intent that all Intrinsics
functions may be called at any time, including from within callback
procedures, action routines, and event handlers.
-
</para>
-<sect2 id="Using_Callback_Procedure_and_Callback_List_Definitions">
+<sect1 id="Using_Callback_Procedure_and_Callback_List_Definitions">
<title>Using Callback Procedure and Callback List Definitions</title>
-<!-- .XS -->
-<!-- <function>(SN Using Callback Procedure and Callback List Definitions</function> -->
-<!-- .XE -->
-<!-- .IN "XtCallbackList" -->
-<!-- .IN "XtCallbackProc" -->
<para>
-<!-- .LP -->
Callback procedure pointers for use in callback lists are of type
-<function>XtCallbackProc .</function>
-</para>
-<para>
-<!-- .LP -->
-<!-- .IN "XtCallbackProc" "" "@DEF@" -->
-<!-- .sM -->
+<function>XtCallbackProc</function>.
</para>
-<!-- .FD 0 -->
-typedef void (*XtCallbackProc)(Widget, XtPointer, XtPointer);
-<!-- .br -->
- Widget <emphasis remap='I'>w</emphasis>;
-<!-- .br -->
- XtPointer <emphasis remap='I'>client_data</emphasis>;
-<!-- .br -->
- XtPointer <emphasis remap='I'>call_data</emphasis>;
-<!-- .FN -->
+
+<funcsynopsis id='XtCallbackProc'>
+<funcprototype>
+<funcdef>void <function>*XtCallbackProc</function></funcdef>
+ <paramdef>Widget <parameter>w</parameter></paramdef>
+ <paramdef>XtPointer <parameter>client_data</parameter></paramdef>
+ <paramdef>XtPointer <parameter>call_data</parameter></paramdef>
+</funcprototype>
+</funcsynopsis>
+
<variablelist>
<varlistentry>
<term>
@@ -140,8 +73,6 @@ it passes the new position of the thumb.
</varlistentry>
</variablelist>
<para>
-<!-- .LP -->
-<!-- .eM -->
The <emphasis remap='I'>client_data</emphasis> argument provides a way for the
client registering the callback procedure also to register client-specific data,
for example, a pointer to additional information about the widget,
@@ -156,73 +87,51 @@ Widgets should generally avoid putting complex state information
in <emphasis remap='I'>call_data</emphasis>.
The client can use the more general data retrieval methods, if necessary.
</para>
+
<para>
-<!-- .LP -->
Whenever a client wants to pass a callback list as an argument in an
-<function>XtCreateWidget ,</function>
-<function>XtSetValues ,</function>
+<function>XtCreateWidget</function>,
+<function>XtSetValues</function>,
or
<function>XtGetValues</function>
call, it should specify the address
of a NULL-terminated array of type
-<function>XtCallbackList .</function>
-<!-- .IN "XtCallbackList" "" "@DEF@" -->
-<!-- .IN "XtCallbackRec" "" "@DEF@" -->
+<function>XtCallbackList</function>.
</para>
-<para>
-<!-- .LP -->
-<!-- .sM -->
<literallayout class="monospaced">
-<!-- .TA .5i 3i -->
-<!-- .ta .5i 3i -->
typedef struct {
XtCallbackProc callback;
XtPointer closure;
} XtCallbackRec, *XtCallbackList;
</literallayout>
-</para>
<para>
-<!-- .LP -->
-<!-- .eM -->
For example, the callback list for procedures A and B with client data
clientDataA and clientDataB, respectively, is
</para>
-<para>
-<!-- .LP -->
-<!-- .KS -->
<literallayout class="monospaced">
-<!-- .TA .5i 3i -->
-<!-- .ta .5i 3i -->
static XtCallbackRec callbacks[] = {
{A, (XtPointer) clientDataA},
{B, (XtPointer) clientDataB},
{(XtCallbackProc) NULL, (XtPointer) NULL}
};
</literallayout>
-<!-- .KE -->
-</para>
<para>
-<!-- .LP -->
Although callback lists are passed by address in arglists
and varargs lists,
-the (xI recognize callback lists
+the Intrinsics recognize callback lists
through the widget resource list and will copy the contents
when necessary.
Widget initialize and set_values procedures
should not allocate memory for the callback list contents.
-The (xI automatically do this,
+The Intrinsics automatically do this,
potentially using a different structure for their
internal representation.
-
</para>
-</sect2>
-<sect2 id="Identifying_Callback_Lists">
+</sect1>
+
+<sect1 id="Identifying_Callback_Lists">
<title>Identifying Callback Lists</title>
-<!-- .XS -->
-<!-- <function>(SN Identifying Callback Lists</function> -->
-<!-- .XE -->
<para>
-<!-- .LP -->
Whenever a widget contains a callback list for use by clients,
it also exports in its public .h file the resource name of the callback list.
Applications and client widgets never access callback list fields directly.
@@ -234,11 +143,11 @@ except
check
to see that the requested callback list is indeed implemented by the widget.
</para>
+
<para>
-<!-- .LP -->
-For the (xI to find and correctly handle callback lists,
+For the Intrinsics to find and correctly handle callback lists,
they must be declared with a resource type of
-<function>XtRCallback .</function>
+<function>XtRCallback</function>.
The internal representation of a callback list is
implementation-dependent; widgets may make no assumptions about the
value stored in this resource if it is non-NULL. Except to compare
@@ -246,37 +155,27 @@ the value to NULL (which is equivalent to
<function>XtCallbackStatus</function>
<function>XtCallbackHasNone ),</function>
access to callback list resources must be made
-through other (xI procedures.
-
+through other Intrinsics procedures.
</para>
-</sect2>
-<sect2 id="Adding_Callback_Procedures">
+</sect1>
+
+<sect1 id="Adding_Callback_Procedures">
<title>Adding Callback Procedures</title>
-<!-- .XS -->
-<!-- <function>(SN Adding Callback Procedures</function> -->
-<!-- .XE -->
<para>
-<!-- .LP -->
To add a callback procedure to a widget's callback list, use
-<function>XtAddCallback .</function>
+<function>XtAddCallback</function>.
</para>
-<para>
-<!-- .LP -->
-<!-- .IN "XtAddCallback" "" "@DEF@" -->
-<!-- .sM -->
-</para>
-<!-- .FD 0 -->
-void XtAddCallback(<emphasis remap='I'>w</emphasis>, <emphasis remap='I'>callback_name, </emphasis><emphasis remap='I'>callback</emphasis>, \
-<emphasis remap='I'>client_data</emphasis>)
-<!-- .br -->
- Widget <emphasis remap='I'>w</emphasis>;
-<!-- .br -->
- String <emphasis remap='I'>callback_name</emphasis>;
-<!-- .br -->
- XtCallbackProc <emphasis remap='I'>callback</emphasis>;
-<!-- .br -->
- XtPointer <emphasis remap='I'>client_data</emphasis>;
-<!-- .FN -->
+
+<funcsynopsis id='XtAddCallback'>
+<funcprototype>
+<funcdef>void <function>XtAddCallback</function></funcdef>
+ <paramdef>Widget <parameter>w</parameter></paramdef>
+ <paramdef>String <parameter>callback_name</parameter></paramdef>
+ <paramdef>XtCallbackProc <parameter>callback</parameter></paramdef>
+ <paramdef>XtPointer <parameter>client_data</parameter></paramdef>
+</funcprototype>
+</funcsynopsis>
+
<variablelist>
<varlistentry>
<term>
@@ -284,7 +183,7 @@ void XtAddCallback(<emphasis remap='I'>w</emphasis>, <emphasis remap='I'>callbac
</term>
<listitem>
<para>
-Specifies the widget. (oI
+Specifies the widget. Must be of class Object or any subclass thereof.
</para>
</listitem>
</varlistentry>
@@ -322,30 +221,23 @@ or NULL.
</varlistentry>
</variablelist>
<para>
-<!-- .LP -->
-<!-- .eM -->
A callback will be invoked as many times as it occurs in the callback list.
-<!-- .sp -->
</para>
+
<para>
-<!-- .LP -->
To add a list of callback procedures to a given widget's callback list, use
-<function>XtAddCallbacks .</function>
+<function>XtAddCallbacks</function>.
</para>
-<para>
-<!-- .LP -->
-<!-- .IN "XtAddCallbacks" "" "@DEF@" -->
-<!-- .sM -->
-</para>
-<!-- .FD 0 -->
-void XtAddCallbacks(<emphasis remap='I'>w</emphasis>, <emphasis remap='I'>callback_name, </emphasis><emphasis remap='I'>callbacks</emphasis>)
-<!-- .br -->
- Widget <emphasis remap='I'>w</emphasis>;
-<!-- .br -->
- String <emphasis remap='I'>callback_name</emphasis>;
-<!-- .br -->
- XtCallbackList <emphasis remap='I'>callbacks</emphasis>;
-<!-- .FN -->
+
+<funcsynopsis id='XtAddCallbacks'>
+<funcprototype>
+<funcdef>void <function>XtAddCallbacks</function></funcdef>
+ <paramdef>Widget <parameter>w</parameter></paramdef>
+ <paramdef>String <parameter>callback_name</parameter></paramdef>
+ <paramdef>XtCallbackList <parameter>callbacks</parameter></paramdef>
+</funcprototype>
+</funcsynopsis>
+
<variablelist>
<varlistentry>
<term>
@@ -353,7 +245,7 @@ void XtAddCallbacks(<emphasis remap='I'>w</emphasis>, <emphasis remap='I'>callba
</term>
<listitem>
<para>
-Specifies the widget. (oI
+Specifies the widget. Must be of class Object or any subclass thereof.
</para>
</listitem>
</varlistentry>
@@ -379,38 +271,26 @@ client data.
</listitem>
</varlistentry>
</variablelist>
-<para>
-<!-- .LP -->
-<!-- .eM -->
-</para>
-</sect2>
-<sect2 id="Removing_Callback_Procedures">
+
+</sect1>
+
+<sect1 id="Removing_Callback_Procedures">
<title>Removing Callback Procedures</title>
-<!-- .XS -->
-<!-- <function>(SN Removing Callback Procedures</function> -->
-<!-- .XE -->
<para>
-<!-- .LP -->
To delete a callback procedure from a widget's callback list, use
-<function>XtRemoveCallback .</function>
+<function>XtRemoveCallback</function>.
</para>
-<para>
-<!-- .LP -->
-<!-- .IN "XtRemoveCallback" "" "@DEF@" -->
-<!-- .sM -->
-</para>
-<!-- .FD 0 -->
-void XtRemoveCallback(<emphasis remap='I'>w</emphasis>, <emphasis remap='I'>callback_name</emphasis>, <emphasis remap='I'>callback</emphasis>, \
-<emphasis remap='I'>client_data</emphasis>)
-<!-- .br -->
- Widget <emphasis remap='I'>w</emphasis>;
-<!-- .br -->
- String <emphasis remap='I'>callback_name</emphasis>;
-<!-- .br -->
- XtCallbackProc <emphasis remap='I'>callback</emphasis>;
-<!-- .br -->
- XtPointer <emphasis remap='I'>client_data</emphasis>;
-<!-- .FN -->
+
+<funcsynopsis id='XtRemoveCallback'>
+<funcprototype>
+<funcdef>void <function>XtRemoveCallback</function></funcdef>
+ <paramdef>Widget <parameter>w</parameter></paramdef>
+ <paramdef>String <parameter>callback_name</parameter></paramdef>
+ <paramdef>XtCallbackProc <parameter>callback</parameter></paramdef>
+ <paramdef>XtPointer <parameter>client_data</parameter></paramdef>
+</funcprototype>
+</funcsynopsis>
+
<variablelist>
<varlistentry>
<term>
@@ -418,7 +298,7 @@ void XtRemoveCallback(<emphasis remap='I'>w</emphasis>, <emphasis remap='I'>call
</term>
<listitem>
<para>
-Specifies the widget. (oI
+Specifies the widget. Must be of class Object or any subclass thereof.
</para>
</listitem>
</varlistentry>
@@ -454,33 +334,26 @@ Specifies the client data to match with the registered callback entry.
</varlistentry>
</variablelist>
<para>
-<!-- .LP -->
-<!-- .eM -->
The
<function>XtRemoveCallback</function>
function removes a callback only if both the procedure and the client
data match.
-<!-- .sp -->
</para>
+
<para>
-<!-- .LP -->
To delete a list of callback procedures from a given widget's callback list, use
-<function>XtRemoveCallbacks .</function>
+<function>XtRemoveCallbacks</function>.
</para>
-<para>
-<!-- .LP -->
-<!-- .IN "XtRemoveCallbacks" "" "@DEF@" -->
-<!-- .sM -->
-</para>
-<!-- .FD 0 -->
-void XtRemoveCallbacks(<emphasis remap='I'>w</emphasis>, <emphasis remap='I'>callback_name</emphasis>, <emphasis remap='I'>callbacks</emphasis>)
-<!-- .br -->
- Widget <emphasis remap='I'>w</emphasis>;
-<!-- .br -->
- String <emphasis remap='I'>callback_name</emphasis>;
-<!-- .br -->
- XtCallbackList <emphasis remap='I'>callbacks</emphasis>;
-<!-- .FN -->
+
+<funcsynopsis id='XtRemoveCallbacks'>
+<funcprototype>
+<funcdef>void <function>XtRemoveCallbacks</function></funcdef>
+ <paramdef>Widget <parameter>w</parameter></paramdef>
+ <paramdef>String <parameter>callback_name</parameter></paramdef>
+ <paramdef>XtCallbackList <parameter>callbacks</parameter></paramdef>
+</funcprototype>
+</funcsynopsis>
+
<variablelist>
<varlistentry>
<term>
@@ -488,7 +361,7 @@ void XtRemoveCallbacks(<emphasis remap='I'>w</emphasis>, <emphasis remap='I'>cal
</term>
<listitem>
<para>
-Specifies the widget. (oI
+Specifies the widget. Must be of class Object or any subclass thereof.
</para>
</listitem>
</varlistentry>
@@ -515,24 +388,19 @@ client data.
</varlistentry>
</variablelist>
<para>
-<!-- .LP -->
-<!-- .eM -->
To delete all callback procedures from a given widget's callback list
and free all storage associated with the callback list, use
-<function>XtRemoveAllCallbacks .</function>
+<function>XtRemoveAllCallbacks</function>.
</para>
-<para>
-<!-- .LP -->
-<!-- .IN "XtRemoveAllCallbacks" "" "@DEF@" -->
-<!-- .sM -->
-</para>
-<!-- .FD 0 -->
-void XtRemoveAllCallbacks(<emphasis remap='I'>w</emphasis>, <emphasis remap='I'>callback_name</emphasis>)
-<!-- .br -->
- Widget <emphasis remap='I'>w</emphasis>;
-<!-- .br -->
- String <emphasis remap='I'>callback_name</emphasis>;
-<!-- .FN -->
+
+<funcsynopsis id='XtRemoveAllCallbacks'>
+<funcprototype>
+<funcdef>void <function>XtRemoveAllCallbacks</function></funcdef>
+ <paramdef>Widget <parameter>w</parameter></paramdef>
+ <paramdef>String <parameter>callback_name</parameter></paramdef>
+</funcprototype>
+</funcsynopsis>
+
<variablelist>
<varlistentry>
<term>
@@ -540,7 +408,7 @@ void XtRemoveAllCallbacks(<emphasis remap='I'>w</emphasis>, <emphasis remap='I'>
</term>
<listitem>
<para>
-Specifies the widget. (oI
+Specifies the widget. Must be of class Object or any subclass thereof.
</para>
</listitem>
</varlistentry>
@@ -555,36 +423,26 @@ Specifies the callback list to be cleared.
</listitem>
</varlistentry>
</variablelist>
-<para>
-<!-- .LP -->
-<!-- .eM -->
-</para>
-</sect2>
-<sect2 id="Executing_Callback_Procedures">
+
+</sect1>
+
+<sect1 id="Executing_Callback_Procedures">
<title>Executing Callback Procedures</title>
-<!-- .XS -->
-<!-- (SN Executing Callback Procedures -->
-<!-- .XE -->
<para>
-<!-- .LP -->
To execute the procedures in a given widget's callback list,
specifying the callback list by resource name, use
-<function>XtCallCallbacks .</function>
+<function>XtCallCallbacks</function>.
</para>
-<para>
-<!-- .LP -->
-<!-- .IN "XtCallCallbacks" "" "@DEF@" -->
-<!-- .sM -->
-</para>
-<!-- .FD 0 -->
-void XtCallCallbacks(<emphasis remap='I'>w</emphasis>, <emphasis remap='I'>callback_name</emphasis>, <emphasis remap='I'>call_data</emphasis>)
-<!-- .br -->
- Widget <emphasis remap='I'>w</emphasis>;
-<!-- .br -->
- String <emphasis remap='I'>callback_name</emphasis>;
-<!-- .br -->
- XtPointer <emphasis remap='I'>call_data</emphasis>;
-<!-- .FN -->
+
+<funcsynopsis id='XtCallCallbacks'>
+<funcprototype>
+<funcdef>void <function>XtCallCallbacks</function></funcdef>
+ <paramdef>Widget <parameter>w</parameter></paramdef>
+ <paramdef>String <parameter>callback_name</parameter></paramdef>
+ <paramdef>XtPointer <parameter>call_data</parameter></paramdef>
+</funcprototype>
+</funcsynopsis>
+
<variablelist>
<varlistentry>
<term>
@@ -592,7 +450,7 @@ void XtCallCallbacks(<emphasis remap='I'>w</emphasis>, <emphasis remap='I'>callb
</term>
<listitem>
<para>
-Specifies the widget. (oI
+Specifies the widget. Must be of class Object or any subclass thereof.
</para>
</listitem>
</varlistentry>
@@ -618,38 +476,29 @@ procedure in the list, or NULL.
</listitem>
</varlistentry>
</variablelist>
+
<para>
-<!-- .LP -->
-<!-- .eM -->
-</para>
-<para>
-<!-- .LP -->
<function>XtCallCallbacks</function>
calls each of the callback procedures in the list
named by <emphasis remap='I'>callback_name</emphasis> in the specified widget, passing the client
data registered with the procedure and <emphasis remap='I'>call-data</emphasis>.
-<!-- .sp -->
</para>
+
<para>
-<!-- .LP -->
To execute the procedures in a callback list, specifying the callback
list by address, use
-<function>XtCallCallbackList .</function>
+<function>XtCallCallbackList</function>.
</para>
-<para>
-<!-- .LP -->
-<!-- .IN "XtCallCallbackList" "" "@DEF@" -->
-<!-- .sM -->
-</para>
-<!-- .FD 0 -->
-void XtCallCallbackList(<emphasis remap='I'>widget</emphasis>, <emphasis remap='I'>callbacks</emphasis>, <emphasis remap='I'>call_data</emphasis>)
-<!-- .br -->
- Widget <emphasis remap='I'>widget</emphasis>;
-<!-- .br -->
- XtCallbackList <emphasis remap='I'>callbacks</emphasis>;
-<!-- .br -->
- XtPointer <emphasis remap='I'>call_data</emphasis>;
-<!-- .FN -->
+
+<funcsynopsis id='XtCallCallbackList'>
+<funcprototype>
+<funcdef>void <function>XtCallCallbackList</function></funcdef>
+ <paramdef>Widget <parameter>widget</parameter></paramdef>
+ <paramdef>XtCallbackList <parameter>callbacks</parameter></paramdef>
+ <paramdef>XtPointer <parameter>call_data</parameter></paramdef>
+</funcprototype>
+</funcsynopsis>
+
<variablelist>
<varlistentry>
<term>
@@ -657,7 +506,7 @@ void XtCallCallbackList(<emphasis remap='I'>widget</emphasis>, <emphasis remap='
</term>
<listitem>
<para>
-Specifies the widget instance that contains the callback list. (oI
+Specifies the widget instance that contains the callback list. Must be of class Object or any subclass thereof.
</para>
</listitem>
</varlistentry>
@@ -684,44 +533,35 @@ to each of the callback procedures in the list, or NULL.
</varlistentry>
</variablelist>
<para>
-<!-- .LP -->
-<!-- .eM -->
The <emphasis remap='I'>callbacks</emphasis> parameter must specify the contents of a widget or
object resource declared with representation type
-<function>XtRCallback .</function>
+<function>XtRCallback</function>.
If <emphasis remap='I'>callbacks</emphasis> is NULL,
<function>XtCallCallbackList</function>
returns immediately; otherwise it calls each of the callback
procedures in the list, passing the client data and <emphasis remap='I'>call_data</emphasis>.
-
</para>
-</sect2>
-<sect2 id="Checking_the_Status_of_a_Callback_List">
+</sect1>
+
+<sect1 id="Checking_the_Status_of_a_Callback_List">
<title>Checking the Status of a Callback List</title>
-<!-- .XS -->
-<!-- (SN Checking the Status of a Callback List -->
-<!-- .XE -->
<para>
-<!-- .LP -->
To find out the status of a given widget's callback list, use
-<function>XtHasCallbacks .</function>
+<function>XtHasCallbacks</function>.
</para>
+
<para>
-<!-- .LP -->
-<!-- .IN "XtHasCallbacks" "" "@DEF@" -->
-<!-- .sp -->
-<!-- .sM -->
+typedef enum {XtCallbackNoList, XtCallbackHasNone, XtCallbackHasSome} XtCallbackStatus;
</para>
-<!-- .FD 0 -->
-typedef enum {XtCallbackNoList, XtCallbackHasNone, XtCallbackHasSome} \
-XtCallbackStatus;
-<!-- .sp -->
-XtCallbackStatus XtHasCallbacks(<emphasis remap='I'>w</emphasis>, <emphasis remap='I'>callback_name</emphasis>)
-<!-- .br -->
- Widget <emphasis remap='I'>w</emphasis>;
-<!-- .br -->
- String <emphasis remap='I'>callback_name</emphasis>;
-<!-- .FN -->
+
+<funcsynopsis id='XtHasCallbacks'>
+<funcprototype>
+<funcdef>XtCallbackStatus <function>XtHasCallbacks</function></funcdef>
+ <paramdef>Widget <parameter>w</parameter></paramdef>
+ <paramdef>String <parameter>callback_name</parameter></paramdef>
+</funcprototype>
+</funcsynopsis>
+
<variablelist>
<varlistentry>
<term>
@@ -729,7 +569,7 @@ XtCallbackStatus XtHasCallbacks(<emphasis remap='I'>w</emphasis>, <emphasis rema
</term>
<listitem>
<para>
-Specifies the widget. (oI
+Specifies the widget. Must be of class Object or any subclass thereof.
</para>
</listitem>
</varlistentry>
@@ -745,8 +585,6 @@ Specifies the callback list to be checked.
</varlistentry>
</variablelist>
<para>
-<!-- .LP -->
-<!-- .eM -->
The
<function>XtHasCallbacks</function>
function first checks to see if the widget has a callback list identified
@@ -754,30 +592,13 @@ by <emphasis remap='I'>callback_name</emphasis>.
If the callback list does not exist,
<function>XtHasCallbacks</function>
returns
-<function>XtCallbackNoList .</function>
+<function>XtCallbackNoList</function>.
If the callback list exists but is empty,
it returns
-<function>XtCallbackHasNone .</function>
+<function>XtCallbackHasNone</function>.
If the callback list exists and has at least one callback registered,
it returns
-<function>XtCallbackHasSome .</function>
-<!-- .bp -->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+<function>XtCallbackHasSome</function>.
</para>
-</sect2>
+</sect1>
</chapter>
-</book>