Motif Programming in the X Window System Environment
ISBN: 0-07-031723-2; To Order: 800/352-3566
Table of Contents
- What Is a Window System?
- Data-Processing: Batch vs. Command-Line vs. Graphic-User Interfaces
- Window System Concepts
- Types of Input to a Window System
- Advantages of a Graphic-User Interface
- Disadvantages of a Graphic-User Interface
- Application Programming for a Window System
- A Brief History of Window Systems
- What Is the X Window System?
- The X Window System
- X Windowing Concepts
- X Window Pointer Concepts
- X and Xt Data Types
- Starting X
- Window Manager Concepts
- What Is the Motif Toolkit?
- The Open Software Foundation
- OSF/Motif
- Motif Toolkit Library
- Motif Data Types
- Motif Window Manager
- The Relationship between X and Motif
- A Typical X/Motif Terminal Session
- Output from and Input to a Motif Application
- Graphic-User Interface Objects -- Widgets
- X and Object-Oriented Programming
- Widget Concepts
- Motif Widgets
- Xt Widgets
- The X/Motif Widget Class Tree
- Purpose of this Book
- X Application Programming Concepts
- Documentation
- Function Naming Conventions
- Header Files
- Initializing and Creating a Shell Widget
- Error Handling
- Creating a Motif PushButton Widget
- Managing Nonshell Widgets
- Making the Shell Widget Visible
- Entering an Event Loop
- A Complete X/Motif Client Application
- Compiling and Executing X Programs
- Event-Driven Programming
- Handling Input through the Widgets
- Callback Function Concepts
- Registering a Callback Function
- Coding a Callback Function
- Removing a Callback
- Terminating an X Program and Closing the Display
- A Complete X/Motif Client Application
- Multiple-Widget Programs
- Composite/Manager Widget Concepts
- Creating a Motif RowColumn Manager
- Don't Forget to Manage the Manager
- Widget Instance/Management Tree
- Parameters for Motif Widget Creation Functions
- Outline of a Basic X/Motif Program
- A Complete X/Motif Client Application
- Passing Data to a Callback Function
- Function Parameters
- Client_data
- Call_data
- Call_data for a PushButton
- Call_data for a RowColumn
- A Complete X/Motif Client Application
- Resources
- X and Object-Oriented Programming
- Resource Concepts
- Classes, Instances, and Inheritance
- Core Widget and Resources
- XmPrimitive Widget and Resources
- Composite Widget and Resources
- Constraint Widget and Resources
- XmManager Widget and Resources
- Important Resource Concepts
- Resources for PushButtons
- Resources for RowColumns
- Setting Resources at Widget Creation
- Setting and Getting Resources After Widget Creation
- Resource Convenience Functions
- Motif Compound Strings
- A Complete X/Motif Client Application
- Resource Files
- Resource File Concepts
- Syntax for Resource Files
- Sources for Resources
- Advantages and Disadvantages of Resource Files
- xrdb Program
- A Complete X/Motif Client Application
- Motif Primitive Widgets
- Primitive Widget Concepts
- Motif ArrowButton
- Motif CascadeButton
- Motif DrawnButton
- Motif Label
- Motif List
- Motif ScrollBar
- Motif Separator
- Motif ToggleButton
- Motif Gadgets
- Motif PushButtonGadget
- A Complete X/Motif Client Application
- Motif Manager Widgets
- Manager Widget Concepts
- Motif BulletinBoard
- Motif DrawingArea
- Motif Frame
- Motif PanedWindow
- Motif Scale
- Motif ScrolledWindow
- ScrolledWindow Extensions
- A Complete X/Motif Client Application
- Motif Text Widget
- Motif Text
- Common Text Widget Editing Behaviors
- Differences Between Single- and Multi-Line Text Widgets
- Motif Text Convenience Functions
- A Complete X/Motif Client Application
- Common Motif Manager Widgets
- Motif Form
- Theory of Form Children Attachments
- Form Attachments
- Widget Attachments
- Position Attachments
- Rubber Positioning and XmATTACH_NONE
- Common Form Children Layouts
- Motif MainWindow
- Defined Widget Resource Values
- A Complete X/Motif Client Application
- Graphic-User Interface Design Guidelines
- Motif Style Guide
- Giving Power to the User
- Client Areas
- Grouping Related Controls
- Designing a Client Area
- Motif's MainWindow Widget
- X Events
- Event Concepts
- Differences between Callbacks and Event Handlers
- Event Types
- Registering an Event Handler
- Coding an Event Handler
- Removing an Event Handler
- X Event Data Structures
- Accessing Members of X Event Data Structures
- Other Common Event Structure Definitions
- Determining the Actual Mouse Pointer Location
- Translating Keypress Events into Characters
- Timeouts
- Work Procedures
- A Complete X/Motif Client Application
- Motif Menus
- Menu Concepts
- Menu Instance Trees
- Motif PopupMenus
- Motif PulldownMenus
- Motif OptionMenus
- Making Menu Options Unavailable
- Motif MenuShells
- A Complete X/Motif Client Application
- Motif Dialog Boxes
- Dialog Box Concepts
- Motif MessageBox
- Motif SelectionBox
- Creating and Managing Dialog Boxes
- MessageBox Dialogs
- SelectionBox Dialogs
- Create Your Own Dialog
- Motif Dialog Box Convenience Functions
- Motif Dialog Shells
- A Complete X/Motif Client Application
- Color
- X Color Concepts
- X Terminals and Visual Classes
- The X Window System and Colormaps
- Using Colors in Your Application
- Installing Colors in a Colormap
- Using Custom Colormaps
- ColormapNotify Events
- A Complete X/Motif Client Application
- X Fonts, Motif Fontlists, and the X Cursor Font
- X Font Concepts
- Motif Font Concepts
- Loading a Font
- Getting Font Information
- Creating a Motif Fontlist
- Compound Strings and Fontlists
- X Cursor Font
- A Complete X/Motif Client Application
- A Motif Case Study Example Program
- Graphics Context
- Graphics Concepts
- Creating a Graphics Context
- Meaning of Various GC Members
- Changing the Graphics Context Programmatically
- Drawing a Line
- Drawing Text
- Drawings and Expose Events
- A Complete X/Motif Client Application
- Drawing Graphics Objects (Optional)
- Graphics Review
- Drawing Points
- Drawing Lines and Segments
- Drawing Rectangles
- Drawing Arcs
- Drawing Filled Rectangles and Arcs
- Drawing Filled Polygons
- Clearing and Copying Areas
- A Complete X/Motif Client Application
- Pixmaps and Bitmaps (Optional)
- Pixmap Concepts
- Creating a Pixmap
- Clearing and Copying Pixmaps
- Bitmap Concepts
- Creating a Pixmap from a Bitmap
- Cursor Pixmaps
- A Complete X/Motif Client Application
- Motif Window Manager (Optional)
- Purpose of a Window Manager
- Motif's Input Selection Model
- Motif Window Manager Resources
- .mwmrc File
- Motif Keyboard Bindings
- Motif Mouse Button Bindings
- Motif Window Manager Menus
- X11R4, X11R5, Motif 1.1, and Motif 1.2 (Optional)
- X11 Release 4
- X11 Release 5
- OSF/Motif 1.1
- Motif 1.1 Changes to Metaclass Widgets
- Motif 1.1 Changes to Primitive Widgets and Gadgets
- Motif 1.1 Changes to Manager Widgets
- Motif 1.1 Changes to Dialog Widgets
- Motif 1.1 Changes to Menu Widgets
- Motif 1.1 Changes to Support ANSI C
- OSF/Motif 1.2
An errata sheet is available for this book.
![[Pic of original seven wonders]](GRAPHICS/wapSevenWondersNew.gif)



![[Logos for technologies used to build this site]](GRAPHICS/AppleJavaLinux.jpg)