Volume Four: X Toolkit Intrinsics Programming Manual

OSF/Motif 1.2 Edition for X11, Release 5

Front Matter

| List of Figures | List of Examples | List of Tables |


Table of Contents

Preface
Summary of Contents
Assumptions
Related Documents
How to Use This Manual
Request for Comments
Bulk Sales Information
Obtaining the X Window System Software
Obtaining Motif
Obtaining the Example Programs
Compiling the Example Programs
Acknowledgments

1. Introduction to the X Window System
The Server and Client
The Software Hierarchy
Event-driven Programming
The Window Manager
Extensions to X

2. Introduction to the X Toolkit and Motif
Programming with Widgets
Structure of Motif Applications
A Simple X Toolkit Application
Connecting Widgets to Application Code
More About Resources
Advice on X Programming
Debugging Xt Applications

3. More Techniques for Using Widgets
Using Composite Widgets
Using Constraint Widgets
The Standard Motif Instance Hierarchy
Using Popups
More About Callbacks
Application Resources
Command-line Options
Preventing User Customization of Widget Resources
More About Application Contexts

4. An Example Application
xbitmap1: Bitmap Editor Using a BitmapEdit Widget
xbitmap2: Adding Graphics to Display the Bitmap
xbitmap3: Another Way to Create a Custom Window
xbitmap4: A Bitmap Editor Without a BitmapEdit Widget

5. More About Motif
The Remaining Motif Widgets and Gadgets
Widget Creation Functions
Compound Strings
Pixmap and Image Caching Functions
Dynamic Resource Defaulting
Resolution Independence
Keyboard Traversal and Focus
Motif Virtual Keyboard Bindings
Drag and Drop
Tear-off Menus
The Motif User Interface Language

6. Inside a Widget
Widget Source File Organization
The Private Header File--BitmapEdiP.h
The Widget Implementation File--BitmapEdit.c
The Public Header File--BitmapEdit.h
The Process of Widget Writing
Summary of Conventions

7. Basic Widget Methods
The X Graphics Model Inside Widgets
The initialize Method
The expose Method
The set_values Method
The resize Method
The query_geometry Method
The destroy Method
Actions in the Widget Framework

8. Events, Translations, and Accelerators
Translation Table Syntax
Accelerators and Mnemonics

9. More Input Techniques
Event Handlers
Writing Routines That Use Specific Event Data
File, Pipe, and Socket Input
Timeouts
Visibility Interest
Work Procedures
Low-level Management of the Event Queue

10. Resource Management and Type Conversion
Review of Resource Fundamentals
How Xt's Resource Manager Works
Type Conversion
Subparts and Subresources

11. Interclient Communications
Window Manager Interactions
Selections: Widget-to-Widget Communication
Motif Cut and Paste Functions and the Clipboard

12. Geometry Management
How Composite Management Works
Writing a Composite Widget
How Constraint Management Works
Writing a Constraint Widget
Compound Widgets
Stacking Order

13. Menus, Gadgets, and Cascaded Popups
Menu Styles and Implementation
Using Motif Menus
Basic Xt Popup Support
About Dialog Boxes
Gadgets

14. Miscellaneous Toolkit Programming Techniques
Errors and Warnings
Objects
Macros For Getting Information
The accept_focus Method and the Keyboard Focus
Keyboard Interpretation
Memory Allocation
Action Hooks and Calling Actions Directly
Xt Grabbing Functions
File Finding and Internationalization
Application Contexts
Multiple Top-level Shells
Connecting to Multiple Servers
Class Extension Structures
Using Editres in Xt Programming
Internationalization in the X Toolkit

A. Athena, OPEN LOOK, and Motif
The AT&T OPEN LOOK Widgets
The OSF/Motif Widgets

B. Specifying Fonts and Colors
Color Specification
Font Specification
Font Service
Scalable Fonts
Window Geometry

C. Naming Conventions

D. Release Notes
R4 to R5
Motif 1.1 to 1.2

E. The xbitmap Application
The BitmapEdit Widget
The BitmapEdiP.h Private Header File
The BitmapEdit.h Public Header File
xbitmap5

F. Sources of Additional Information
Getting the X Software
Netnews
Training, Consulting, and Support
The X Consortium
Finding Out for Yourself

Glossary

Index