Article View: comp.windows.x
Article #24229Re: Books on X Programming
From: Paul Asente
Date: Fri, 28 Jun 1991 21:48
Date: Fri, 28 Jun 1991 21:48
801 lines
29143 bytes
29143 bytes
>>>Asente, Paul J. and Ralph R. Swick, X Window System Toolkit,
>>>Digital Press, Bedford, MA, 1990 (distributed by Prentice Hall).
>>>ISBN (Digital Press) 1-55558-051-3, (Prentice Hall) 0-13-972191-6.
>Can someone post a description of the table of contents for this book?
>Is it up-to-date? What toolkits are covered?
The book completely covers the R4 Xt toolkit. It does not discuss any
widget sets.
The table of contents is at the end of this message.
-paul asente
asente@adobe.com ...decwrl!adobe!asente
Ratz put a bucket of liquid in front of me.
"I wanted a glass of docs, Ratz. What the hell is this?" I barked.
"Motif don't fit in a glass anymore," he barked back.
I looked at the liquid. It was totally opaque to me.
TABLE OF CONTENTS
Introduction
PART I PROGRAMMER'S GUIDE
Chapter 1. Applications
Writing Applications
1.1. Structure of Toolkit Applications
1.2. What Is a Widget?
1.3. Object-Oriented Programming
1.4. Terminology
1.5. Intrinsics Data Types
1.6. The Callback Model
1.7. Error Handling
1.8. The Application User Interface
1.9. A Simple Application -- "Goodbye, world"
1.10. Application Contexts
1.11. Initializing the Toolkit
1.12. Exiting Applications
1.13. Writing Applications
1.14. Writing a New Widget
1.15. Debugging Toolkit Applications
1.16. Procedures and Macros
1.17. Procedure Types
Writing Widgets
1.18. More on Header Files
1.19. Designing Widget Sets
Chapter 2. Widgets
Writing Applications
2.1. Common Widget Classes
2.2. The Class Hierarchy
2.3. Initializing Widget Classes
2.4. Widget Naming Conventions
2.5. Widget Resources
2.6. The Base Widget Classes
2.6.1. The Core Widget and Its Resources
2.6.2. The Composite Widget and Its Resources
2.6.3. The Constraint Widget
2.7. Visuals, Colormaps, and Window Depths
2.8. Creating Widget Instances
2.9. Realizing Widgets
2.10. Unrealizing Widgets
2.11. Destroying Widgets
2.12. Widget Information Functions
Writing Widgets
2.13. Widget Data Structures
2.14. Structure Naming Conventions
2.15. Writing Header Files
2.15.1. Writing Private Header Files
2.15.2. Writing Public Header Files
2.15.3. Internal Header Files
2.16. The Base Widget Classes
2.16.1. The Core Class Structure
2.16.2. The Core Instance Structure
2.16.3. The Composite Class Structure
2.16.4. The Composite Instance Structure
2.16.5. The Constraint Class Structure
2.16.6. The Constraint Instance Structure
2.17. Declaring the Class Record
2.18. Class Methods
2.19. Class Information Functions
2.20. Class Initialization
2.21. Extension Records
2.22. Anticipating Subclassing
2.23. Initializing Widgets
2.24. Realizing Widgets
2.25. Destroying Widgets
2.26. Designing Class Methods
2.27. New Widget Methods
Chapter 3. Resources and Callbacks
Writing Applications
3.1. What Is a Resource?
3.2. Resource Naming Conventions
3.3. Resource Types
3.4. Resource Specifications
3.5. Resource Files
3.6. Parsing the Command Line
3.7. Resource Conversions
3.8. Argument Lists
3.9. Variable Argument Procedures
3.10. Resource Files versus Argument Lists
3.11. Application Resources
3.12. Finding Out about a Widget's Resources
3.13. Resources at Widget Creation
3.14. Getting Widget Resources
3.15. Setting Widget Resources
3.16. Callback Procedures
Writing Widgets
3.17. Resource Lists
3.18. Designing Resources
3.19. The Conversion Cache
3.20. Resource Converters
3.21. Adding New Type Converters
3.22. Reference Counting
3.23. Providing Resource Values
3.24. Setting Resource Values
3.25. Subresources
3.26. Callbacks
Chapter 4. Composite Widgets and Geometry Management
Writing Applications
4.1. Geometry
4.2. Order of Children
4.3. Managed and Unmanaged Widgets
4.4. Mapping and Unmapping
4.5. Realized, Unrealized, Managed, and Unmanaged Widgets
4.6. Using Constraint Widgets
Writing Widgets
4.7. Composite Widgets
4.8. Inserting and Deleting Children
4.9. Data Caching
4.10. Notification of Managed Set Changing
4.11. Control Flow for Widget Creation
4.12. Geometry Changes
4.13. Making Geometry Requests
4.14. Geometry Managers
4.15. Changing Geometry from Above
4.16. Responding to Geometry Changes
4.17. Querying Geometry
4.18. Writing Constraint Widgets
Chapter 5. Shell Widgets and Pop-Ups
Writing Applications
5.1. Shell Widgets
5.2. Shell Widget Resources
5.3. Shells and Geometry
5.4. Children of Shells
5.5. Creating a New Widget Tree
5.6. Pop-Up Shells and Pop-Up Children
5.7. Creating Pop-Up Shells
5.8. Types of Pop-Up Widgets
5.9. Controlling Pop-Ups
Writing Widgets
5.10. The Shell Class Hierarchy
5.10.1. The Shell Widget
5.10.2. The Override Shell Widget
5.10.3. The Window Manager Shell Widget
5.10.4. The Vendor Shell Widget
5.10.5. The Transient Shell Widget
5.10.6. The Top-Level Shell Widget
5.10.7. The Application Shell Widget
5.11. What Shells Do
5.11.1. Setting Properties
5.11.2. Iconification and Deiconification
5.11.3. Changing Size and Position
5.11.4. External Geometry Changes
5.11.5. Size and Window Manager Hints
5.12. Vendor Shells
Chapter 6. Event Handling
Writing Applications
6.1. X Events
6.2. The Application Main Loop
6.3. Alternate Input Sources
6.4. Timers
6.5. The Grab List
6.6. Setting Window Manager Protocols
6.7. Handling Focus
6.8. Getting Events
6.9. Dispatching Events
6.10. Custom Event-Dispatching Loops
6.11. Background Work Procedures
6.12. Using Xlib Event Routines
6.13. Pointer and Keyboard Grabs
6.14. Sensitivity
Writing Widgets
6.15. Event Filters
6.16. Handling Exposures
6.17. Visibility
6.18. Implementing Sensitivity
6.19. Accepting Input Focus
6.20. More on the Grab List
6.21. Pointer and Keyboard Grabs
6.22. X Event Handlers
6.23. Getting the Current Event Mask
Chapter 7. Translation Management
Writing Applications
7.1. Translation Tables
7.2. Setting the Multi-Click Timeout
7.3. Translation Tables in the Program
7.4. Translation Tables in Resource Files
7.5. Action Tables
7.6. Adding Application Actions
7.7. Writing Action Procedures
7.8. XtMenuPopup and XtMenuPopdown
7.9. Resolving Action Names
7.10. Registering Grab Actions
7.11. A Translation Example
7.12. Calling Action Procedures Directly
7.13. Handling the Keyboard
7.14. Action Hooks
7.15. Defining Accelerators
7.16. Installing Accelerators
7.17. An Accelerator Example
7.18. Using a Widget as a Window
Writing Widgets
7.19. More on Translation Tables
7.20. Default Translations and Action Tables
7.21. Displaying Accelerators
7.22. Getting a Keysym from a Keyboard Event
7.23. Keycodes and Keysyms: Here Be Dragons
Chapter 8. Nonwidget Objects
Writing Applications
8.1. Background
8.2. The Base Object Classes
8.2.1. The Object and Its Resource
8.2.2. The Rectangle Object and Its Resources
8.2.3. Resources Not Defined for Objects
8.3. Types and Intrinsic Routines
8.4. Object Information Functions
8.5. Using Objects in Applications
8.6. Using Gadgets
Writing Widgets
8.7. The Base Object Classes
8.7.1. The Object Class Structure
8.7.2. The Object Instance Structure
8.7.3. The Rectangle Object Class Structure
8.7.4. The Rectangle Object Instance Structure
8.7.5. The Unnamed Class
8.7.6. Object and Rectangle Object Declarations
8.8. Using Objects in Widgets
8.9. Writing Composite Widgets to Support Gadgets
8.10. Writing Gadgets
Chapter 9. Odds and Ends
Writing Applications
9.1. Toolkit Version
9.2. The Size of Arrays
9.3. Finding Widgets
9.4. Memory Management
9.5. Translating Coordinates
9.6. Error Handling
9.7. Setting Colormap Windows
9.8. Finding Files
9.9. Selections
9.10. Getting the Most Recent Timestamp
Writing Widgets
9.11. Graphics Contexts
9.12. Merging Exposures
9.13. Selections
9.13.1. Getting the Selection Value
9.13.2. Providing the Selection
9.14. Incremental Selections
9.14.1. Getting the Selection Value Incrementally
9.14.2. Providing the Selection Incrementally
9.15. Getting the Selection Request Event
9.16. Selection Timeouts
Chapter 10. Pulling It All Together
Writing Applications
10.1. The Sample Widgets
10.1.1. The Label Widget
10.1.2. The Pubutton Widget
10.1.3. The MenuItem Widget
10.1.4. The Box Widget
10.1.5. The MinMax Widget
10.1.6. The Confirm Widget
10.1.7. The Menu Widget
10.1.8. The Label Gadget
10.1.9. The Graph Widget
10.1.10. The GraphDisplay Object
10.1.11. The BarDisplay Object
10.2. A Desktop Calculator
10.2.1. The Implementation
10.2.2. The Application Defaults File
10.2.3. Suggested Programming Exercises
10.3. A Mail Notifier
10.3.1. The Implementation
10.3.2. The Application Defaults File
10.3.3. Suggested Programming Exercises
10.4. A System Monitor
10.4.1. The Implementation
10.4.2. The Application Defaults File
10.4.3. Suggested Programming Exercises
Writing Widgets
10.5. The Label Widget
10.5.1. The Public Header File
10.5.2. The Private Header File
10.5.3. The Implementation
10.5.4. Suggested Programming Exercises
10.6. The Pubutton Widget
10.6.1. The Public Header File
10.6.2. The Private Header File
10.6.3. The Implementation
10.6.4. Suggested Programming Exercises
10.7. The MenuItem Widget
10.7.1. The Public Header File
10.7.2. The Private Header File
10.7.3. The Implementation
10.7.4. Suggested Programming Exercises
10.8. The Box Widget
10.8.1. The Public Header File
10.8.2. The Private Header File
10.8.3. The Implementation
10.8.4. Suggested Programming Exercises
10.9. The MinMax Widget
10.9.1. The Public Header File
10.9.2. The Private Header File
10.9.3. The Implementation
10.9.4. Suggested Programming Exercises
10.10. The Confirm Widget
10.10.1. The Public Header File
10.10.2. The Private Header File
10.10.3. The Implementation
10.10.4. Suggested Programming Exercises
10.11. The Confirm Widget, Alternative Implementation
10.11.1. The Public Header File
10.11.2. The Private Header File
10.11.3. The Implementation
10.12. The Menu Widget
10.12.1. The Public Header File
10.12.2. The Private Header File
10.12.3. The Implementation
10.12.4. Suggested Programming Exercises
10.13. The Label Gadget
10.13.1. The Public Header File
10.13.2. The Private Header File
10.13.3. The Implementation
10.13.4. Suggested Programming Exercises
10.14. The Graph Widget
10.14.1. The Public Header File
10.14.2. The Private Header File
10.14.3. The Implementation
10.14.4. Suggested Programming Exercises
10.15. The GraphDisplay Object
10.15.1. The Public Header File
10.15.2. The Private Header File
10.15.3. The Implementation
10.16. The BarDisplay Object
10.16.1. The Public Header File
10.16.2. The Private Header File
10.16.3. The Implementation
10.16.4. Suggested Programming Exercises
PART II SPECIFICATION
Chapter 1. Intrinsics and Widgets
1.1. Intrinsics
1.2. Languages
1.3. Procedures and Macros
1.4. Widgets
1.4.1. Core Widgets
1.4.1.1. CoreClassPart Structure
1.4.1.2. CorePart Structure
1.4.1.3. Core Resources
1.4.1.4. CorePart Default Values
1.4.2. Composite Widgets
1.4.2.1. CompositeClassPart Structure
1.4.2.2. CompositePart Structure
1.4.2.3. Composite Resources
1.4.2.4. CompositePart Default Values
1.4.3. Constraint Widgets
1.4.3.1. ConstraintClassPart Structure
1.4.3.2. ConstraintPart Structure
1.4.3.3. Constraint Resources
1.5. Implementation-Specific Types
1.6. Widget Classing
1.6.1. Widget Naming Conventions
1.6.2. Widget Subclassing in Public .h Files
1.6.3. Widget Subclassing in Private .h Files
1.6.4. Widget Subclassing in .c Files
1.6.5. Widget Class and Superclass Lookup
1.6.6. Widget Subclass Verification
1.6.7. Superclass Chaining
1.6.8. Class Initialization: class_initialize and
class_part_initialize Procedures
1.6.9. Initializing a Widget Class
1.6.10. Inheritance of Superclass Operations
1.6.11. Invocation of Superclass Operations
1.6.12. Class Extension Records
Chapter 2. Widget Instantiation
2.1. Initializing the X Toolkit
2.2. Loading the Resource Database
2.3. Parsing the Command Line
2.4. Creating Widgets
2.4.1. Creating and Merging Argument Lists
2.4.2. Creating a Widget Instance
2.4.3. Creating an Application Shell Instance
2.4.4. Convenience Procedure to Initialize an Application
2.4.5. Widget Instance Initialization: the initialize Procedure
2.4.6. Constraint Instance Initialization: the
ConstraintClassPart initialize Procedure
2.4.7. Nonwidget Data Initialization: the initialize_hook Procedure
2.5. Realizing Widgets
2.5.1. Widget Instance Window Creation: the realize Procedure
2.5.2. Window Creation Convenience Routine
2.6. Obtaining Window Information from a Widget
2.7. Unrealizing Widgets
2.8. Destroying Widgets
2.8.1. Adding and Removing Destroy Callbacks
2.8.2. Dynamic Data Deallocation: the destroy Procedure
2.8.3. Dynamic Constraint Data Deallocation: the
ConstraintClassPart destroy Procedure
2.9. Exiting from an Application
Chapter 3. Composite Widgets and Their Children
3.1. Addition of Children to a Composite Widget: the
insert_child Procedure
3.2. Insertion Order of Children: the insert_position Procedure
3.3. Deletion of Children: the delete_child Procedure
3.4. Adding and Removing Children from the Managed Set
3.4.1. Managing Children
3.4.2. Unmanaging Children
3.4.3. Determining If a Widget Is Managed
3.5. Controlling When Widgets Get Mapped
3.6. Constrained Composite Widgets
Chapter 4. Shell Widgets
4.1. Shell Widget Definitions
4.1.1. ShellClassPart Definitions
4.1.2. ShellPart Definition
4.1.3. Shell Resources
4.1.4. ShellPart Default Values
Chapter 5. Pop-Up Widgets
5.1. Pop-Up Widget Types
5.2. Creating a Pop-Up ell
5.3. Creating Pop-Up Children
5.4. Mapping a Pop-Up Widget
5.5. Unmapping a Pop-Up Widget
Chapter 6. Geometry Management
6.1. Initiating Geometry Changes
6.2. General Geometry Manager Requests
6.3. Resize Requests
6.4. Potential Geometry Changes
6.5. Child Geometry Management: the geometry_manager Procedure
6.6. Widget Placement and Sizing
6.7. Preferred Geometry
6.8. Size Change Management: the resize Procedure
Chapter 7. Event Management
7.1. Adding and Deleting Additional Event Sources
7.1.1. Adding and Removing Input Sources
7.1.2. Adding and Removing Timeouts
7.2. Constraining Events to a Cascade of Widgets
7.2.1. Requesting Key and Button Grabs
7.3. Focusing Events on a Child
7.4. Querying Event Sources
7.5. Dispatching Events
7.6. The Application Input Loop
7.7. Setting and Checking the Sensitivity State of a Widget
7.8. Adding Background Work Procedures
7.9. X Event Filters
7.9.1. Pointer Motion Compression
7.9.2. Enter/Leave Compression
7.9.3. Exposure Compression
7.10. Widget Exposure and Visibility
7.10.1. Redisplay of a Widget: the expose Procedure
7.10.2. Widget Visibility
7.11. X Event Handlers
7.11.1. Event Handlers That Select Events
7.11.2. Event Handlers That Do Not Select Events
7.11.3. Current Event Mask
Chapter 8. Callbacks
8.1. Using Callback Procedures and Callback List Definitions
8.2. Identifying Callback Lists
8.3. Adding Callback Procedures
8.4. Removing Callback Procedures
8.5. Executing Callback Procedures
8.6. Checking the Status of a Callback List
Chapter 9. Resource Management
9.1. Resource Lists
9.2. Byte Offset Calculations
9.3. Superclass-to-Subclass Chaining of Resource Lists
9.4. Subresources
9.5. Obtaining Application Resources
9.6. Resource Conversions
9.6.1. Predefined Resource Converters
9.6.2. New Resource Converters
9.6.3. Issuing Conversion Warnings
9.6.4. Registering a New Resource Converter
9.6.5. Resource Converter Invocation
9.7. Reading and Writing Widget State
9.7.1. Obtaining Widget State
9.7.1.1. Widget Subpart Resource Data: the get_values_hook
Procedure
9.7.1.2. Widget Subpart State
9.7.2. Setting Widget State
9.7.2.1. Widget State: the set_values Procedure
9.7.2.2. Widget State: the set_values_almost Procedure
9.7.2.3. Widget State: the ConstraintClassPart set_values Procedure
9.7.2.4. Widget Subpart State
9.7.2.5. Widget Subpart Resource Data: the set_values_hook
Procedure
Chapter 10. Translation Management
10.1. Action Tables
10.1.1. Action Table Registration
10.1.2. Action Names to Procedure Translations
10.1.3. Action Hook Registration
10.2. Translation Tables
10.2.1. Event Sequences
10.2.2. Action Sequences
10.2.3. Multi-Click Time
10.3. Translation Table Management
10.4. Using Accelerators
10.5. KeyCode-to-KeySym Conversions
10.6. Obtaining a KeySym in an Action Procedure
10.7. KeySym-to-KeyCode Conversions
10.8. Registering Button and Key Grabs For Actions
10.9. Invoking Actions Directly
Chapter 11. Utility Functions
11.1. Determining the Number of Elements in an Array
11.2. Translating Strings to Widget Instances
11.3. Managing Memory Usage
11.4. aring Graphics Contexts
11.5. Managing Selections
11.5.1. Setting and Getting the Selection Timeout Value
11.5.2. Using Atomic Transfers
11.5.2.1. Atomic Transfer Procedures
11.5.2.2. Getting the Selection Value
11.5.2.3. Setting the Selection Owner
11.5.3. Using Incremental Transfers
11.5.3.1. Incremental Transfer Procedures
11.5.3.2. Getting the Selection Value Incrementally
11.5.3.3. Setting the Selection Owner for Incremental Transfers
11.5.4. Retrieving the Most Recent Timestamp
11.6. Merging Exposure Events into a Region
11.7. Translating Widget Coordinates
11.8. Translating a Window to a Widget
11.9. Handling Errors
11.10. Setting WM_COLORMAP_WINDOWS
11.11. Finding File Names
Chapter 12. Nonwidget Objects
12.1. Data Structures
12.2. Object Objects
12.2.1. ObjectClassPart Structure
12.2.2. ObjectPart Structure
12.2.3. Object Resources
12.2.4. ObjectPart Default Values
12.2.5. Object Arguments To Intrinsics Routines
12.2.6. Use of Objects
12.3. Rectangle Objects
12.3.1. RectObjClassPart Structure
12.3.2. RectObjPart Structure
12.3.3. RectObj Resources
12.3.4. RectObjPart Default Values
12.3.5. RectObj Arguments to Intrinsics Routines
12.3.6. Use of Rectangle Objects
12.4. Undeclared Class
12.5. Widget Arguments To Intrinsics Routines
Chapter 13. Evolution of the Intrinsics
13.1. Determining Specification Revision Level
13.2. Release 3 to Release 4 Compatibility
13.2.1. Additional Arguments
13.2.2. Set_values_almost Procedures
13.2.3. Query Geometry
13.2.4. UnrealizeCallback Callback List
13.2.5. Subclasses of WMell
13.2.6. Resource Type Converters
13.2.7. KeySym Case Conversion Procedure
13.2.8. Nonwidget Objects
PART III APPENDICES
Appendix A. Resource File Format
Appendix B. Translation Table Syntax
B.1. Notation
B.2. Syntax
B.3. Modifier Names
B.4. Event Types
B.5. Canonical Representation
B.7. Examples
Appendix C. Compatibility Functions
Appendix D. Intrinsics Error Messages
D.1. Error Messages
D.2. Warning Messages
Appendix E. StringDefs.h Header File
Appendix F. Parameter and Return Types
Appendix G. Naming Conventions
G.1. File Name Conventions
G.2. Widget Name Conventions
G.3. Resource Name Conventions
G.4. Constraint Name Conventions
G.5. Extension Name Conventions
Appendix H. The X Registry and the Examples
H.1. The X Registry
H.2. Getting the Example Programs
INDEX
LIST OF FIGURES
1.1. The structure of a toolkit application
1.2. Mapping user actions to application functions
1.3. A sample application's interface and its widget tree
1.4. Layout policies of various composite widgets
1.5. The widgets in the sample application with a pop-up
2.1. An example widget class hierarchy
2.2. The class linkage of several widgets
2.3. The instance linkage of several widgets
3.1. "Goodbye, world" with customizations
4.1. Managed, mapped, and unmanaged widgets
4.2. Geometry propagation at realization
4.3. The same MinMax widget at different sizes
5.1. A widget tree with several shells
5.2. The shell class hierarchy
6.1. Toolkit event handling
6.2. Focus redirection
6.3. Keyboard forwarding and grabs
7.1. "Goodbye, world" with an installed accelerator
8.1. The Intrinsics class hierarchy
8.2. Exposures and gadget children
9.1. A sample widget tree
10.1. Pushbuttons in various states
10.2. A menu with an inverted item
10.3. The same MinMax widget at different sizes
10.4. A Confirm widget
10.5. The calculator
10.6. The calculator's widget tree
10.7. The mail notifier and its widget tree
10.8. The system monitor and its widget tree
LIST OF EXAMPLES
1.1. The "Goodbye, world" program
1.2. "Goodbye, world" using explicit initialization
2.1. The Label private header file
2.2. The Label public header file
2.3. The Label class record declaration
2.4. The Label class initialization procedure
2.5. A sample extension initialization routine
2.6. Utility procedures for the Label initialize procedure
2.7. The Label initialize procedure
2.8. The Label destroy procedure
2.9. The Label select text method
2.10. The Label class part initialization procedure
3.1. "Goodbye, world" using a defaults file
3.2. The "Goodbye, world" defaults file
3.3. Fallback resources for "Goodbye, world"
3.4. Fetching application resources
3.5. The Label resource list
3.6. The Pushbutton resource list
3.7. The string-to-justification converter
3.8. The string-to-justification converter using quarks
3.9. The string-to-widget converter
3.10. The string-to-string-list converter
3.11. The string-to-string-list destructor
3.12. The Label set_values procedure
3.13. Subresources for millimeter dimension resources
3.14. Initializing the subresources
3.15. Providing subresource values
3.16. Modifying subresource values
4.1. The Box change_managed procedure
4.2. The Box geometry manager
4.3. A complex Box geometry manager
4.4. The Label resize procedure
4.5. A sample use of XtQueryGeometry
4.6. Another use of XtQueryGeometry
4.7. The Label query_geometry procedure
4.8. Part of the MinMax private header file
4.9. The MinMax public header file
4.10. The MinMax constraint resources
4.11. Part of the MinMax class declaration
4.12. The MinMax constraint initialize procedure
4.13. The MinMax constraint set_values procedure
5.1. The sample Vendor.h header file
5.2. The sample VendorP.h header file
5.3. The sample vendor shell resources
5.4. Fetching an atom using type conversion
5.5. The sample vendor shell realize procedure
5.6. The sample vendor shell initialize procedure
5.7. The sample vendor shell set_values procedure
6.1. Setting the window manager protocols
6.2. Responding to window manager protocols
6.3. A work procedure to create pop-up widgets
6.4. The Label expose procedure
6.5. The Pushbutton expose procedure
6.6. Part of the Pushbutton set_values procedure
6.7. The Box widget's accept_focus procedure
6.8. The Menu widget's initialize procedure
7.1. A translation example
7.2. An accelerator example
7.3. The resources for the accelerator example
7.4. A program that uses a widget as a window
7.5. The Pushbutton default translations and actions
7.6. The Pushbutton action procedures
7.7. The display_accelerator method for Pushbutton
7.8. Mapping from keysyms to ISO Latin-1 characters
8.1. The Box insert_child procedure
8.2. The Box expose procedure
8.3. The LabelGadget expose procedure
9.1. The Label selection handling procedures
9.2. The Label select text method
LIST OF TABLES
PART I PROGRAMMER'S GUIDE
Core widget resources
Composite widget resources
Chaining for widget methods
Resource types
Predefined command line options
Shell widget resources
Nonoverride shell widget resources
Transient shell widget resources
Top-level and application shell widget resources
Application shell widget resources
Shell resources that come in pairs
Translation events and synonyms
Translation events and synonyms
Translation modifiers
Synonyms for events with modifiers
Synonyms for events with details
Toolkit equivalents for Xlib key-handling routines
Object resource
RectObj object resources
Core resources not defined for objects
XtNameToWidget examples
Label widget resources
Pushbutton widget resources
Box widget resource
MinMax widget constraint resources
Confirm widget resources
Menu widget constraint resource
Label gadget resources
Graph widget resources
GraphDisplay object resources
BarDisplay object resources
Mail notifier application resources
Mail notifier command line options
System monitor application resources
System monitor command line option
PART II SPECIFICATION
Core widget resources
CorePart default values
Composite widget resources
CompositePart default values
Predefined command line options
Shell types and variables
Shell widget resources
WMShell widget resources
TransientShell widget resources
TopLevelShell widget resources
ApplicationShell widget resources
ShellPart default values
WMShellPart default values
Shell resources that come in pairs
TransientShellPart default values
TopLevelShellPart default values
ApplicationShellPart default values
Resource types
Object resources
RectObj object resources
PART III APPENDICES
Translation modifiers
Translation events and synonyms
Abbreviations for events with modifiers and details
Detail fields for events
Standard error messages
Standard warning messages
Widget parameter types for Intrinsics routines
Widget class parameter types for Intrinsics routines
Widget file name conventions
Widget name conventions for application programmers
Widget name conventions for widget writers
Resource name conventions
Constraint name conventions
Extension name conventions
Where to get the example programs
Technical Details
Message-ID:
<17110@adobe.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!decwrl!adobe!asenteReferences:
<10907@plains.NoDak.edu> <1991Jun27.050355.28722@world.std.com> <gkgl1=+@rpi.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!decwrl!adobe!asente From: asente@adobe.com (Paul Asente) Newsgroups: comp.windows.x,alt.books.technical Subject: Re: Books on X Programming Message-ID: <17110@adobe.UUCP> Date: 28 Jun 91 21:48:37 GMT References: <10907@plains.NoDak.edu> <1991Jun27.050355.28722@world.std.com> <gkgl1=+@rpi.edu> Sender: news@adobe.COM Followup-To: comp.windows.x Organization: Adobe Systems Inc. Lines: 801