|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T p ┃
Length: 7498 (0x1d4a) Types: TextFile Names: »pr00«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─ ⟦526ad3590⟧ »EUUGD11/gnu-31mar87/X.V10.R4.tar.Z« └─⟦2109abc41⟧ └─ ⟦this⟧ »./X.V10R4/Toolkit/Xr/usr/doc/pr00«
.PH "" .PF "" .nf \0 .SP 18 .ce \fB\s20Programming With the .SP .ce X Window System .SP 18 .ce \s12November 1986 .SK \0 .SP 24 .fi \fB\s14\&Notice\fR\s10 .P The information contained in this manual is subject to change without notice. .P .VL 2 .LI \s+4\(co\s0 Copyright 1986, Hewlett-Packard Company. .LI \s+4\(co\s0 Copyright 1985, 1986, Massachusetts Institute of Technology. .LE .SP Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notices appear in all copies and that those copyright notices and this permission notice appear in supporting documentation, and that the names of Hewlett-Packard and M.I.T. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Hewlett-Packard and M.I.T. make no representations about the suitability of this software for any purpose. It is provided ``as is'' without express or implied warranty. .P This software is not subject to any license of the American Telephone and Telegraph Company or of the Regents of the University of California. .SP \fR\s10\&UNIX is a U.S. registered trademark of AT&T in the USA and other countries. .nf .SK .OF "'''\\\\fBContents\0\0\\\\nP\\\\fP'" .EF "'\\\\fB\\\\nP\0\0Contents\\\\fP'''" .ce 1 \fB\s20Contents\fR\s10 .SP 2 .TS tab(#); lw(.5i)0 lw(5.1i)0 rw(.35i). .SP \fB\s121.#Overview\fP\s0\0\a#1-1 1.1#How To Use This Manual\0\a#1-1 1.2#Using the Libraries\0\a#1-1 1.3#The Xlib Library\0\a#1-1 1.4#The Xrlib Library\0\a#1-2 1.4.1#\0\0Dialog Level\0\a#1-2 1.4.2#\0\0Field Editor Level\0\a#1-5 1.4.3#\0\0Intrinsics Level\0\a#1-7 1.5#Including the X Window System in an Application\0\a#1-8 1.6#Building A Program Using Xrlib\0\a#1-8 1.6.1#\0\0Sample 1\0\a#1-8 1.6.2#\0\0Sample 2\0\a#1-10 1.6.3#\0\0Example 3\0\a#1-12 1.7#Another Sample Program\0\a#1-15 1.7.1#\0\0Sample Program\0\a#1-18 1.7.2#\0\0The HelloWorld.h Include File\0\a#1-23 .SP \fB\s122.#X Fundamentals and the X Library\fP\s0\0\a#2-1 .SP \fB\s123.#Intrinsics\fP\s0\0\a#3-1 3.1#Graphic Structures and Data Types\0\a#3-1 3.2#Initializing the Xr Library\0\a#3-2 3.3#Input\0\a#3-5 3.3.1#\0\0The XEvent Structure\0\a#3-5 3.3.2#\0\0Xr Library Input Sources\0\a#3-6 3.3.3#\0\0Xr Library Input\0\a#3-7 3.3.4#\0\0Input Messages\0\a#3-8 3.4#The Resource Manager\0\a#3-12 3.4.1#\0\0What is a Resource?\0\a#3-12 3.4.2#\0\0Xr Library Resource Types\0\a#3-13 3.4.3#\0\0Resource Manager Messages\0\a#3-16 3.5#Creating New Resource Types\0\a#3-17 3.6#The Editor List Manager\0\a#3-18 3.7#The Editor List Structure\0\a#3-19 3.8#Editor List Messages\0\a#3-20 3.9#Editor Groups\0\a#3-22 3.9.1#\0\0The Editor Group Structure\0\a#3-22 3.9.2#\0\0Editor Group Messages\0\a#3-23 3.10#Window/Editor Relationship\0\a#3-24 3.11#Geometric Functions\0\a#3-26 3.11.1#\0\0Point Routines\0\a#3-26 3.11.2#\0\0Rectangle Routines\0\a#3-27 3.12#Utility Routines\0\a#3-29 3.12.1#\0\0StringWidth\0\a#3-29 3.12.2#\0\0MapButton\0\a#3-29 3.12.3#\0\0GetWindowEvent\0\a#3-30 3.12.4#\0\0XrVersion\0\a#3-30 .SP \fB\s124.#Field Editors\fP\s0\0\a#4-1 4.1#Introduction\0\a#4-1 4.1.1#\0\0Editor Calling Sequence\0\a#4-1 4.1.2#\0\0Creating An Editor Instance\0\a#4-1 4.1.3#\0\0Editor Messages\0\a#4-2 4.1.4#\0\0Return Value\0\a#4-6 4.2#Description\0\a#4-7 4.3#A Titlebar Editor\0\a#4-9 4.4#A Scrollbar Editor\0\a#4-11 4.5#A Radiobutton Editor\0\a#4-13 4.6#A CheckBox Editor\0\a#4-15 4.7#A Pushbutton Editor\0\a#4-17 4.8#A Text-Edit Editor\0\a#4-19 4.9#A Static Text Editor\0\a#4-22 4.10#A Raster-select Editor\0\a#4-24 4.11#A Raster Editor\0\a#4-26 4.12#A Static-Raster Editor\0\a#4-29 4.13#A Page Editor\0\a#4-30 .SP \fB\s125.#Dialogs\fP\s0\0\a#5-1 5.1#Menus\0\a#5-1 5.1.1#\0\0About Menus\0\a#5-1 5.1.2#\0\0Menu Messages and Structures\0\a#5-2 5.1.3#\0\0Using Menus\0\a#5-5 5.1.4#\0\0Advanced Use of Menus\0\a#5-8 5.2#Message Boxes\0\a#5-12 5.2.1#\0\0Message Box Structures and Messages\0\a#5-12 5.2.2#\0\0Using Message Boxes\0\a#5-14 5.3#Panels\0\a#5-15 5.3.1#\0\0About Panels\0\a#5-15 5.3.2#\0\0Panel Messages and Structures\0\a#5-15 5.3.3#\0\0Using Panels\0\a#5-21 5.3.4#\0\0Advanced Use of Panels\0\a#5-25 .SP \fB\s12A.#Reference Information\fP\s0\0\a#A-1 .SP \fB\s12B.#Building a Field Editor\fP\s0\0\a#B-1 B.1#Naming Conventions\0\a#B-1 B.2#Coding Conventions\0\a#B-3 B.3#Memory Management\0\a#B-4 B.4#Drawing and Buffer Flushing\0\a#B-5 B.5#Field Editor Messages\0\a#B-5 B.6#Returning Field Editor Status\0\a#B-10 B.7#Returning Editor Information\0\a#B-11 B.8#Field Editor Layout and Template 1\0\a#B-12 B.9#Field Editor Utility Functions\0\a#B-19 B.10#Field Editor Template 2\0\a#B-28 B.11#Sample Field Editors\0\a#B-31 .TE .fi .ie e .SK 0 .el .SK 1 .OF "'''\\\\fBPreface\0\0\\\\nP\\\\fP'" .EF "'\\\\fB\\\\nP\0\0Preface\\\\fP'''" .SA 0 .ce 1 \fB\s20Preface\fR\s10 .SP 2 The X window system is a network-transparent, portable window system developed by Project Athena at the Massachusetts Institute of Technology, with funding and participation by Digital Equipment Corporation and International Business Machines, Inc. Because MIT distributes the X source publicly without license fee, X is now appearing on computers made by an increasing number of companies. This enables network-transparent X applications to operate seamlessly across increasingly diverse network topologies. .P The low-level programmatic interface to the X window system is contained in the Xlib library, also called the X library, and is documented in chapter 2 of this manual. Three additional sets of routines are included with the standard Xlib as minimal program development tools: XMenu, Xtext, and Xtty, documented as part of appendix A in this manual. .P However, Xlib by itself is not sufficient for a programmer to easily develop applications that have advanced user interface features such as pop-up walking menus or panels filled either with standard interactive gadgetry (such as push buttons or scroll bars) or with custom gadgetry (such as thermometers or gauges) that the programmer might care to develop in a prescribed, facilitated way. .P To fill this need, Hewlett-Packard's X-ray User Interface Project developed the Xrlib user interface library, which is documented in the remainder of this manual. Xrlib provides a message-based programmatic interface to user-interface components. This facilitates access from object-oriented languages as well as from standard C. Hewlett-Packard has contributed Xrlib to Project Athena to increase the usability of X and thereby to assist the acceptance of X as an industry standard. .SP .in +5 .ll -5 \fBNote:\fR Although it is generally acknowledged that the standard X distribution needs a user interface library that is well-matched to X, the definition of a standard X user interface library has only just begun. The relation between the eventual standard and Xrlib (or any other publicly available user interface library) hasn't been determined. Therefore, it can't be guaranteed that an easy porting path will exist between Xrlib and the eventual standard. Xrlib is not provided to dictate a \fIde\ facto\fR standard, but rather to prompt discussion in the X community about what is needed in a standard and to assist those whose current needs require immediate availability of a user interface library, even if it isn't a standard. .ll +5 .in -5 .SP 2 .in +25 .nf Dr. Steve Lerman, Director Project Athena Massachusetts Institute of Technology Cambridge, Massachusetts .in -25