summaryrefslogtreecommitdiff
path: root/specs/CH01
diff options
context:
space:
mode:
Diffstat (limited to 'specs/CH01')
-rw-r--r--specs/CH01140
1 files changed, 70 insertions, 70 deletions
diff --git a/specs/CH01 b/specs/CH01
index 78f128b..8445733 100644
--- a/specs/CH01
+++ b/specs/CH01
@@ -1,7 +1,7 @@
.\" $Xorg: CH01,v 1.3 2000/08/17 19:42:42 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
@@ -9,10 +9,10 @@
.\" 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.
@@ -20,15 +20,15 @@
.\" 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
@@ -67,7 +67,7 @@ Intrinsics
\fB\*(SN Intrinsics\fP
.XE
.LP
-The \*(xI provide the base mechanism necessary to build
+The \*(xI provide the base mechanism necessary to build
a wide variety of interoperating widget sets and application environments.
The Intrinsics are a layer on top of Xlib, the
C Library X Interface. They extend the
@@ -145,7 +145,7 @@ each widget class that they are to use (for example,
.Pn < X11/Xaw/Label.h >
or
.Pn < X11/Xaw/Scrollbar.h >).
-On a POSIX-based system,
+On a POSIX-based system,
the \*(xI object library file is named
.PN libXt.a
and is usually referenced as \-lXt when linking the application.
@@ -222,7 +222,7 @@ A data structure which contains instance-specific values.
A class structure which contains information that is applicable to
all widgets of that class.
.LP
-Much of the input/output of a widget (for example, fonts, colors, sizes,
+Much of the input/output of a widget (for example, fonts, colors, sizes,
or border widths) is customizable by users.
.LP
This chapter discusses the base widget classes,
@@ -236,15 +236,15 @@ Core Widgets
.XE
.LP
.IN "Core" "" "@DEF@"
-The
-Core
+The
+Core
widget class contains the definitions of fields common to all widgets.
All widgets classes are subclasses of the
Core class,
-which is defined by the
+which is defined by the
.PN CoreClassPart
-and
-.PN CorePart
+and
+.PN CorePart
structures.
.NH 4
@@ -545,7 +545,7 @@ logical AND of parent's \fIsensitive\fP and
T}
accelerators NULL
T{
-border_pixel
+border_pixel
T} T{
.PN XtDefaultForeground
T}
@@ -608,14 +608,14 @@ Composite Widgets
.XE
.LP
.IN "Composite" "" "@DEF@"
-The Composite
-widget class is a subclass of the
-Core
+The Composite
+widget class is a subclass of the
+Core
widget class (see Chapter 3).
Composite widgets are intended to be containers for other widgets.
The additional data used by composite widgets are defined by the
.PN CompositeClassPart
-and
+and
.PN CompositePart
structures.
@@ -625,8 +625,8 @@ CompositeClassPart Structure
\*(SN CompositeClassPart Structure
.XE
.LP
-In addition to the
-Core
+In addition to the
+Core
class fields,
widgets of the Composite class have the following class fields.
.LP
@@ -670,7 +670,7 @@ typedef struct {
.De
.LP
.eM
-Composite
+Composite
classes have the Composite class fields immediately following the
Core class fields.
.LP
@@ -765,7 +765,7 @@ typedef struct {
.De
.LP
.eM
-Composite
+Composite
widgets have the Composite instance fields immediately following the Core
instance fields.
.LP
@@ -828,8 +828,8 @@ CompositePart Default Values
.XE
.LP
The default values for the Composite fields,
-which are filled in from the
-Composite
+which are filled in from the
+Composite
resource list and by the
Composite
initialize procedure, are
@@ -871,8 +871,8 @@ Constraint Widgets
.XE
.LP
.IN "Constraint" "" "@DEF@"
-The Constraint
-widget class is a subclass of the
+The Constraint
+widget class is a subclass of the
Composite
widget class (see Section 3.6). Constraint
widgets maintain additional state
@@ -893,7 +893,7 @@ ConstraintClassPart Structure
In addition to the
Core
and
-Composite
+Composite
class fields,
widgets of the Constraint class
have the following class fields.
@@ -938,7 +938,7 @@ typedef struct {
.De
.LP
.eM
-Constraint
+Constraint
classes have the Constraint class fields immediately following the
Composite class fields.
.LP
@@ -1033,7 +1033,7 @@ typedef struct {
.De
.LP
.eM
-Constraint
+Constraint
widgets have the Constraint instance fields immediately following the
Composite instance fields.
.LP
@@ -1184,17 +1184,17 @@ Widget Classing
.IN "widget_class" "" "@DEF@"
The \fIwidget_class\fP field of a widget points to its widget class structure,
which contains information that is constant across all widgets of that class.
-As a consequence,
+As a consequence,
widgets usually do not implement directly callable procedures;
rather, they implement procedures, called methods, that are available through
their widget class structure.
-These methods are invoked by generic procedures that envelop common actions
+These methods are invoked by generic procedures that envelop common actions
around the methods implemented by the widget class.
Such procedures are applicable to all widgets
of that class and also to widgets whose classes are subclasses of that class.
.LP
-All widget classes are a subclass of
-Core
+All widget classes are a subclass of
+Core
and can be subclassed further.
Subclassing reduces the amount of code and declarations
necessary to make a
@@ -1212,7 +1212,7 @@ superclass,
you should consider whether you have chosen the most
appropriate superclass.
.LP
-To make good use of subclassing,
+To make good use of subclassing,
widget declarations and naming conventions are highly stylized.
A widget consists of three files:
.IP \(bu 5
@@ -1253,12 +1253,12 @@ For example,
the \fIbackground_pixmap\fP field has the corresponding identifier
XtNbackgroundPixmap,
which is defined as the string ``backgroundPixmap''.
-Many predefined names are listed in
+Many predefined names are listed in
.Pn < X11/StringDefs.h >.
Before you invent a new name,
you should make sure there is not already a name that you can use.
.IP \(bu 5
-A resource class string starts with a capital letter
+A resource class string starts with a capital letter
and uses capitalization for compound names (for example,``BorderWidth'').
Each resource class string should have a symbolic identifier prefixed with
``XtC''
@@ -1385,9 +1385,9 @@ To accommodate operating systems with file name length restrictions,
the name of the public .h file is the first ten characters of the
widget class.
For example,
-the public .h file for the
-Constraint
-widget class is
+the public .h file for the
+Constraint
+widget class is
.PN Constraint.h .
.NH 3
@@ -1521,9 +1521,9 @@ To accommodate operating systems with file name length restrictions,
the name of the private .h file is the first nine characters of the
widget class followed by a capital P.
For example,
-the private .h file for the
-Constraint
-widget class is
+the private .h file for the
+Constraint
+widget class is
.PN ConstrainP.h .
.NH 3
@@ -1540,9 +1540,9 @@ Class information (for example, \fIsuperclass\fP, \fIclass_name\fP,
\fIwidget_size\fP,
\fIclass_initialize\fP, and \fIclass_inited\fP).
.IP \(bu 5
-Data constants (for example, \fIresources\fP and \fInum_resources\fP,
+Data constants (for example, \fIresources\fP and \fInum_resources\fP,
\fIactions\fP and \fInum_actions\fP, \fIvisible_interest\fP,
-\fIcompress_motion\fP,
+\fIcompress_motion\fP,
\fIcompress_exposure\fP, and \fIversion\fP).
.IP \(bu 5
Widget operations (for example, \fIinitialize\fP, \fIrealize\fP, \fIdestroy\fP,
@@ -1586,7 +1586,7 @@ Widget writers must set it to the
implementation-defined symbolic value
.PN XtVersion
in the widget class structure initialization.
-Those widget writers who believe that their widget binaries are compatible
+Those widget writers who believe that their widget binaries are compatible
with other implementations of the \*(xI can put the special value
.PN XtVersionDontCheck
in the \fIversion\fP field to disable version checking for those widgets.
@@ -1600,11 +1600,11 @@ allows the \*(xI implementation to recognize widget binaries
that were compiled with older implementations.
.LP
The \fIextension\fP field is for future upward compatibility.
-If the widget programmer adds fields to class parts,
+If the widget programmer adds fields to class parts,
all subclass structure layouts change,
-requiring complete recompilation.
-To allow clients to avoid recompilation,
-an extension field at the end of each class part can point to a record
+requiring complete recompilation.
+To allow clients to avoid recompilation,
+an extension field at the end of each class part can point to a record
that contains any additional class information required.
.LP
All other fields are described in their respective sections.
@@ -1780,8 +1780,8 @@ Specifies the widget class for which to test. \*(oC
.eM
The
.PN XtIsSubclass
-function returns
-.PN True
+function returns
+.PN True
if the class of the specified widget is equal to
or is a subclass of the specified class.
The widget's class can be any number of subclasses down the chain
@@ -1879,12 +1879,12 @@ constructs an error message from the supplied message,
the widget's actual class, and the expected class and calls
.PN XtErrorMsg .
.PN XtCheckSubclass
-should be used at the entry point of exported routines to ensure
+should be used at the entry point of exported routines to ensure
that the client has passed in a valid widget class for the exported operation.
.LP
.PN XtCheckSubclass
is only executed when the module has been compiled with the compiler symbol
-DEBUG defined; otherwise, it is defined as the empty string
+DEBUG defined; otherwise, it is defined as the empty string
and generates no code.
.NH 3
@@ -1903,7 +1903,7 @@ some fields are linked to their corresponding fields in their superclass
structures.
With a linked field,
the \*(xI access the field's value only after accessing its corresponding
-superclass value (called downward superclass chaining) or
+superclass value (called downward superclass chaining) or
before accessing its corresponding superclass value (called upward superclass
chaining). The self-contained fields are
.sp
@@ -1962,7 +1962,7 @@ the invocation of an operation first accesses the field from the
Object,
RectObj,
and
-Core
+Core
class structures, then from the subclass structure, and so on down the class chain to
that widget's class structure. These superclass-to-subclass fields are
.sp
@@ -2004,9 +2004,9 @@ class down to the subclass:
.sp
.LP
With upward superclass chaining,
-the invocation of an operation first accesses the field from the widget
+the invocation of an operation first accesses the field from the widget
class structure, then from the superclass structure,
-and so on up the class chain to the
+and so on up the class chain to the
Core,
RectObj,
and
@@ -2092,16 +2092,16 @@ necessary to their class's part of the record.
The most common is the resolution of any inherited methods defined in the
class.
For example,
-if a widget class C has superclasses
-Core,
-Composite,
-A, and B, the class record for C first is passed to
-Core 's
+if a widget class C has superclasses
+Core,
+Composite,
+A, and B, the class record for C first is passed to
+Core 's
class_part_initialize procedure.
This resolves any inherited Core methods and compiles the textual
representations of the resource list and action table that are defined in the
class record.
-Next, Composite's
+Next, Composite's
class_part_initialize procedure is called to initialize the
composite part of C's class record.
Finally, the class_part_initialize procedures for A, B, and C, in that order,
@@ -2113,16 +2113,16 @@ or that need no extra processing for them can specify NULL
in the \fIclass_part_initialize\fP field.
.LP
All widget classes, whether they have a class initialization procedure or not,
-must start with their \fIclass_inited\fP field
+must start with their \fIclass_inited\fP field
.PN False .
.LP
The first time a widget of a class is created,
.PN XtCreateWidget
ensures that the widget class and all superclasses are initialized, in
superclass-to-subclass order, by checking each \fIclass_inited\fP field and,
-if it is
-.PN False ,
-by calling the class_initialize and the class_part_initialize procedures
+if it is
+.PN False ,
+by calling the class_initialize and the class_part_initialize procedures
for the class and all its superclasses.
The \*(xI then set the \fIclass_inited\fP field to a nonzero value.
After the one-time initialization,
@@ -2170,7 +2170,7 @@ If the specified widget class is already initialized,
.PN XtInitializeWidgetClass
returns immediately.
.LP
-If the class initialization procedure registers type converters,
+If the class initialization procedure registers type converters,
these type converters are not available until the first object
of the class or subclass is created or
.PN XtInitializeWidgetClass
@@ -2314,7 +2314,7 @@ that is not chained.
For example,
a widget's expose procedure might call its superclass's \fIexpose\fP
and then perform a little more work on its own.
-For example, a Composite
+For example, a Composite
class with predefined managed children can implement insert_child
by first calling its superclass's \fIinsert_child\fP
.IN "insert_child procedure"