summaryrefslogtreecommitdiff
path: root/xc/doc/specs/Xaw/CH1
diff options
context:
space:
mode:
Diffstat (limited to 'xc/doc/specs/Xaw/CH1')
-rw-r--r--xc/doc/specs/Xaw/CH1411
1 files changed, 0 insertions, 411 deletions
diff --git a/xc/doc/specs/Xaw/CH1 b/xc/doc/specs/Xaw/CH1
deleted file mode 100644
index eb323ce39..000000000
--- a/xc/doc/specs/Xaw/CH1
+++ /dev/null
@@ -1,411 +0,0 @@
-.\" $TOG: CH1 /main/17 1997/11/04 18:18:31 kaleb $
-.ps 11
-.nr PS 11
-.ds LH \fBAthena Widget Set\fP
-.ds CH
-.ds RH \fBX11, Release 6.4\fP
-.bp 1
-.af PN 1
-\&
-.sp 1
-.ce 3
-\s+1\fBChapter 1\fP\s-1
-
-\s+1\fBAthena Widgets and The Intrinsics\fP\s-1
-.sp 2
-.nr H1 1
-.if \n(GS .nr nh*hl 1
-.nr H2 0
-.nr H3 0
-.nr H4 0
-.nr H5 0
-.LP
-.XS
-Chapter 1 \- Athena Widgets and The \*(xI
-.XE
-The X Toolkit is made up of two distinct pieces, the Xt \*(xI and a
-widget set. The Athena widget set is a sample implementation of a
-widget set built upon the \*(xI. In the \*(tk, a widget is the
-combination of an X window or subwindow and its associated input and
-output semantics.
-.LP
-Because the \*(xI provide the same basic functionality to all widget
-sets it may be possible to use widgets from the Athena widget set with
-other widget sets based upon the \*(xI. Since widget sets may also
-implement private protocols, all functionality may not be available when
-mixing and matching widget sets. For information about the \*(xI, see
-the \fI\*(xT\fP.
-.LP
-The Athena widget set is a library package layered on top of the \*(xI
-and Xlib that provides a set of user interface tools sufficient to build
-a wide variety of applications. This layer extends the basic
-abstractions provided by X and provides the next layer of functionality
-primarily by supplying a cohesive set of sample widgets. Although the
-\*(xI are a Consortium standard, there is no standard widget set.
-.LP
-To the extent possible, the \*(xI are "policy-free". The application
-environment and widget set, not the \*(xI, define, implement, and
-enforce:
-.IP \(bu 5
-Policy
-.IP \(bu 5
-Consistency
-.IP \(bu 5
-Style
-.LP
-Each individual widget implementation defines its own policy. The \*(tk
-design allows for, but does not necessarily encourage, the free mixing
-of radically differing widget implementations.
-.NH 2
-Introduction to the \*(tk
-.LP
-.XS
- Introduction to the \*(tk
-.XE
-.IN "introduction" "" "@DEF@"
-The \*(tk provides tools that simplify the design of
-application user interfaces in the X Window System programming environment.
-It assists application programmers by providing a set of common
-underlying user-interface functions. It also lets widget programmers
-modify existing widgets, by subclassing, or add new widgets. By using
-the \*(tk in their applications, programmers can present a similar
-user interface across applications to all workstation users.
-.LP
-The \*(tk consists of:
-.IP \(bu 5
-A set of \*(xI functions for building widgets
-.IP \(bu 5
-An architectural model for constructing widgets
-.IP \(bu 5
-A widget set for application programming
-.LP
-While the majority of the \*(xI functions are intended
-for the widget programmer,
-a subset of the \*(xI functions are to be used by application programmers
-(see \fI\*(xT\fP).
-The architectural model lets the widget programmer design new widgets
-by using the \*(xI and by combining other widgets.
-The application interface layers built on top of the \*(tk include a
-coordinated set of widgets and composition policies.
-Some of these widgets and policies are specific to a single
-application domain, and others are common to a variety of
-applications.
-.LP
-The remainder of this chapter discusses the \*(tk and Athena widget set:
-.IP \(bu 5
-Terminology
-.IP \(bu 5
-Model
-.IP \(bu 5
-Conventions used in this manual
-.IP \(bu 5
-Format of the Widget Reference Chapters
-.NH 2
-Terminology
-.LP
-.XS
- Terminology
-.XE
-.LP
-In addition to the terms already defined for X programming (see \fI\*(xL\fP),
-the following terms are specific to the \*(xI and Athena widget set
-and used throughout this document.
-.LP
-\fBApplication programmer\fP
-.IN "application programmer" "" "@DEF@"
-.IP
-A programmer who uses the \*(tk to produce an application user interface.
-.LP
-\fBChild\fP
-.IN "child" "" "@DEF"
-.IP
-A widget that is contained within another "parent" widget.
-.LP
-\fBClass\fP
-.IN "class" "" "@DEF@"
-.IP
-The general group to which a specific object belongs.
-.LP
-\fBClient\fP
-.IN "client" "" "@DEF@"
-.IP
-A function that uses a widget in an application or for composing
-other widgets.
-.LP
-\fBFullName\fP
-.IN "FullName" "" "@DEF"
-.IP
-The name of a widget instance appended to the full name of its parent.
-.LP
-\fBInstance\fP
-.IN "instance" "" "@DEF@"
-.IP
-A specific widget object as opposed to a general widget class.
-.LP
-\fBMethod\fP
-.IN "method" "" "@DEF@"
-.IP
-A function or procedure implemented by a widget class.
-.LP
-\fBName\fP
-.IN "name" "widget" "@DEF@"
-.IP
-The name that is specific to an instance of a widget for a given client.
-This name is specified at creation time and cannot be modified.
-.LP
-\fBObject\fP
-.IN "object" "" "@DEF@"
-.IP
-A data abstraction consisting of private data and private and public
-functions that operate on the private data.
-Users of the abstraction can interact with the object only through calls
-to the object's public functions.
-In the \*(tk,
-some of the object's public functions are called directly by the application,
-while others are called indirectly when the application calls the common
-\*(xI functions.
-In general, if a function is common to all widgets,
-an application uses a single \*(xI function to invoke the function for all
-types of widgets.
-If a function is unique to a single widget type,
-the widget exports the function.
-.LP
-\fBParent\fP
-.IN "parent" "" "@DEF@"
-.IP
-A widget that contains at least one other ("child") widget.
-A parent widget is also known as a composite widget.
-.LP
-\fBResource\fP
-.IN "resource" "" "@DEF@"
-.IP
-A named piece of data in a widget that can be set by a client,
-by an application, or by user defaults.
-.LP
-\fBSuperclass\fP
-.IN "superclass" "" "@DEF@"
-.IP
-A larger class of which a specific class is a member.
-All members of a class are also members of the superclass.
-.LP
-\fBUser\fP
-.IN "user" "" "@DEF@"
-.IP
-A person interacting with a workstation.
-.LP
-\fBWidget\fP
-.IN "widget" "" "@DEF@"
-.IP
-An object providing a user-interface abstraction (for example, a Scrollbar
-widget).
-.LP
-\fBWidget class\fP
-.IN "widget class" "" "@DEF@"
-.IP
-The general group to which a specific widget belongs,
-otherwise known as the type of the widget.
-.LP
-\fBWidget programmer\fP
-.IN "widget programmer" "" "@DEF@"
-.IP
-A programmer who adds new widgets to the \*(tk.
-.NH 2
-Underlying Model
-.LP
-.XS
- Underlying Model
-.XE
-.IN "underlying model" "" "@DEF@"
-The underlying architectural model is based on the following premises:
-.KS
-.IP "Widgets are X windows"
-.IP
-Every user-interface widget is associated with an X window.
-The X window ID for a widget is readily available from the widget.
-Standard Xlib calls can be used by widgets for many of their input and
-output operations.
-.KE
-.KS
-.IP "Information hiding"
-.IP
-The data for every widget is private to the widget and its subclasses.
-That is, the data is neither directly accessible
-nor visible outside of the module implementing the widget.
-All program interaction with the widget is performed by a set of operations
-(methods) that are defined for the widget.
-.KE
-.KS
-.IP "Widget semantics and widget layout geometry"
-.IP
-Widget semantics are clearly separated from widget layout geometry.
-Widgets are concerned with implementing specific user-interface
-semantics. They have little control over issues such as their size or
-placement relative to other widget peers. Mechanisms are provided for
-associating geometric managers with widgets and for widgets to make
-suggestions about their own geometry.
-.KE
-.NH 2
-Conventions Used in this Manual
-.IP \(bu 5
-.IN "conventions" "used in manual" "@DEF@"
-All resources available to the widgets are listed with each widget. Many
-of these are available to more than one widget class due to the object
-oriented nature of the \*(xI. The new resources for each widget are
-listed in bold text, and the inherited resources are listed in plain text.
-.IP \(bu 5
-Global symbols are printed in \fBbold\fP and can be function names,
-symbols defined in include files, or structure names. Arguments are
-printed in \fIitalics\fP.
-.IP \(bu 5
-Each function is introduced by a general discussion that distinguishes
-it from other functions. The function declaration itself follows, and
-each argument is specifically explained. General discussion of the
-function, if any is required, follows the arguments. Where
-applicable, the last paragraph of the explanation lists the return values
-of the function.
-.IP \(bu 5
-To eliminate any ambiguity between those arguments that you pass and
-those that a function returns to you, the explanations for all
-arguments that you pass start with the word \fIspecifies\fP or, in the
-case of multiple arguments, the word \fIspecify\fP. The explanations
-for all arguments that are returned to you start with the word
-\fIreturns\fP or, in the case of multiple arguments, the word
-\fIreturn\fP. The explanations for all arguments that you can pass
-and are returned start with the words \fIspecifies and returns\fP.
-.IP \(bu 5
-Any pointer to a structure that is used to return a value is
-designated as such by the \fI_return\fP suffix as part of its name.
-All other pointers passed to these functions are used for reading
-only. A few arguments use pointers to structures that are used for
-both input and output and are indicated by using the \fI_in_out\fP
-suffix.
-.IN "_return" "" "@DEF@"
-.IN "_in_out" "" "@DEF@"
-.NH 2
-Format of the Widget Reference Chapters
-.LP
-.IN "conventions" "chapter format" "@DEF@"
-.IN "chapter format" "" "@DEF@"
-The majority of this document is a reference guide for the Athena
-widget set. Chapters three through six give the programmer all
-information necessary to use the widgets. The layout of the chapters
-follows a specific pattern to allow the programmer to easily find the
-desired information.
-.LP
-The first few pages of every chapter give an overview of the widgets
-in that section. Widgets are grouped into chapters by functionality.
-.IP "Chapter 3" .75i
-Simple Widgets
-.IP "Chapter 4" .75i
-Menus
-.IP "Chapter 5" .75i
-Text Widgets
-.IP "Chapter 6" .75i
-Composite and Constraint Widget
-.LP
-Following the introduction will be a description of each widget in that
-chapter. When no functional grouping is obvious the widgets are listed
-in alphabetical order, such as in chapters three and six.
-.LP
-The first section of each widget's description is a table that
-contains general information about this widget class. Here is the
-table for the Box widget, and an explanation of all the entries.
-.Ds 0
-.TA 2.0i
-.ta 2.0i
-.sp
-Application Header file <X11/Xaw/Box.h>
-Class Header file <X11/Xaw/BoxP.h>
-Class boxWidgetClass
-Class Name Box
-Superclass Composite
-.sp
-.De
-.IP "\fBApplication Header File\fP" 2.0i
-.IN "application header file" "" "@DEF@"
-This file must be included when an application uses this widget.
-It usually contains the class definition, and some resource macros.
-This is often called the ``public'' header file.
-.IN "class header file" "" "@DEF@"
-.IP "\fBClass Header File\fP" 2.0i
-This file will only be used by widget programmers. It will need to be
-included by any widget that subclasses this widget. This is often
-called the ``private'' header file.
-.IN "class" "" "@DEF@"
-.IP \fBClass\fP 2.0i
-This is the widget class of this widget. This global symbol is passed to
-\fBXtCreateWidget\fP so that the \*(xI will know which type of widget
-to create.
-.IN "class name" "" "@DEF@"
-.IP "\fBClass Name\fP" 2.0i
-This is the resource name of this class. This name can be used in
-a resource file to match any widget of this class.
-.IN "superclass" ""
-.IP \fBSuperclass\fP 2.0i
-This is the superclass that this widget class is descended from. If
-you understand how the superclass works it will allow you to more quickly
-understand what this widget does, since much of its functionality may be
-inherited from its superclass.
-.sp
-.LP
-After this table follows a general description of the default behavior of
-this widget, as seen by the user. In many cases this functionality
-may be overridden by the application programmer, or by the user.
-.LP
-The next section is a table showing the
-name, class, type and default value of each resource that is available
-to this widget. There is also a column containing notes describing
-special restrictions placed upon individual resources.
-.IN "notes" "" "@DEF@"
-.IN "A, note" "" "@DEF@"
-.IN "D, note" "" "@DEF@"
-.IN "C, note" "" "@DEF@"
-.IN "R, note" "" "@DEF@"
-.IP A .5i
-This resource may be automatically adjusted when another
-resource is changed.
-.IP C .5i
-This resource is only settable at widget creation time, and may not
-be modified with \fBXtSetValues\fP.
-.IP D .5i
-Do not modify this resource. While setting this resource will
-work, it can cause unexpected behavior. When this symbol appears
-there is another, preferred, interface provided by the \*(tk.
-.IP R .5i
-This resource is READ-ONLY, and may not be modified.
-.LP
-After the resource table is a detailed description of every resource
-available to that widget. Many of these are redundant, but printing
-them with each widget saves page flipping. The names of the resources
-that are inherited are printed in plain text, while the names of the
-resources that are new to this class are printed in \fBbold\fP.
-If you have already read the description of the superclass you need
-only pay attention to the resources printed in bold.
-.LP
-For each composite widget there is a section on layout semantics that
-follows the resource description. This section will describe the
-effect of constraint resources on the layout of the children, as well
-as a general description of where it prefers to place its children.
-.LP
-Descriptions of default translations and action routines come next, for
-widgets to which they apply. The last item in each widget's
-documentation is the description of all convenience routines provided by
-the widget.
-.NH 2
-Input Focus
-.XS
- Input Focus
-.XE
-.IN "input focus" "" "@DEF@"
-.IN "input" "" "@DEF@"
-.IN "XtNinput" "" "@DEF@"
-.LP
-The \*(xI define a resource on all Shell widgets that interact with
-the window manager called \fBinput\fP. This resource requests the
-assistance of window manager in acquiring the input focus. The
-resource defaults to \fBFalse\fP in the \*(xI, but is redefined to
-default to \fBTrue\fP when an application is using the Athena widget
-set. An application programmer may override this default and set the
-resource back to \fBFalse\fP if the application does not need the window
-manager to give it the input focus. See the \fI\*(xT\fP for details
-on the \fIinput\fP resource.