Training Course: X Motif Programming
training course enquiry
Training Course Summary:
This hands on X/Motif programming course presents Motif GUI implementation using the X Window toolkit intrinsics along with Xlib and Motif function library calls, with an emphasis on event-driven programming. The extensive hands on exercises are hierarchically structured to build complex skills in a very short time. The course provides a thorough introduction to the Xt toolkit functions used in application programming, including those used for managing resources, handling events, and manipulating widgets. Students will learn how to effectively utilize primitive, manager, and shell widgets from the Motif library. Special emphasis is placed on designing for good interactive response and adhering to proper Motif style. Students also receive extensive practice using the Xlib application programming interface for window management, graphics and text display, event handling, interprocess communication, colormap creation and control, pixmap creation and management, and image processing. Use of UIL as well as C is integrated throughout, both as a learning tool and as an application development and prototyping skill useful after the class. Students will take home a versatile set of X/Motif clients to use as templates for their own work.Pre-Requisites:
C Programming ExperienceTraining Course Overview/Content:
Fundamentals of Widgets and ResourcesResource Inheritance
Xt Widget Classes
Motif Widget Classes
Gadgets
Resource Naming Conventions
The Resource Database
Setting Resources Externally
Setting Resources Within an Application
Creating Your Own Application Resources
Parsing Resources from Command Line Options
Designing a User Interface
Motif Style Guidelines
Human Engineering and Usability Testing
Techniques for Enhancing Visual Design
Keyboard Traversal and Tab Groups
Controlling Keyboard Focus from Within the Application
Direct Manipulation Techniques
Motif Drag and Drop
Handling Events
Types of Events
Event Data Structures
Event Handlers, Actions, and Callbacks
Xlib Routines for Getting Events
Keyboard Focus
Pointer and Keyboard Grabs
The Translation Manager
Translating Events to Actions
Translation Table Syntax
Setting Translations Externally
Setting Translations Within an Application
Adding Your Own Actions
Motif Primitive Widgets
Fundamental Characteristics of XmPrimitive
XmPrimitive Derived Classes
Widget Behavior, Resources, and Callbacks
Labels and Buttons
Text
Scrollbars
List
Motif Manager Widgets
Fundamental Characteristics of XmManager
XmManager Derived Classes
Bulletin Board
Use as a Work Area
Use with Dialogs
RowColumn
Control Panel Layout
Radio Box
Menus
Check Box
Form
Attachment Constraints
Using UIL
Uses, Advantages, and Disadvantages of UIL
UIL File Structure and Syntax
Compiling a UIL File
Runtime Calls
Structure of an Application Using UIL
Deferred Fetching
Use of the Create Callback
Internationalization Using Environment Variables
Motif Menus
Types of Menus
MenuBar
OptionMenu
PulldownMenu
PopupMenu
MenuShell
Menu Placement
Tearoff Menus
Application Design Issues
UIL Considerations
Dialog Boxes
Classes of Dialogs
TransientShell
Mode Settings
Single Reply Dialogs
Multiple Reply Dialogs
FileSelectionBox
Custom Dialogs
Application Design Issues
Drawing Into Widgets
DrawingArea Widget
Scrolling Considerations
Retrieving X Resource IDs for Drawing
Resizing and Scaling Considerations
Use of XEvent Structure
Using Graphics Effectively in GUI Design
Using Pixmaps
When to Use Pixmaps
Creating Bitmaps and Pixmaps
Stippling and Tiling On Screen versus Off Screen Drawing
Off Screen Drawing Techniques
XLib Drawing Routines
Creating a Graphics Context
GC Elements
Setting and Using GC Elements
Xlib Drawing Routines
XCopyArea
Erasure
Scaling Graphics
Using Regions
Window Refresh Techniques
Presenting Text
Introduction to Graphics Text and Text Fonts
Loading and Querying Font Information
Locating Text in a Window
Resizing Text
Checking for Availability of Fonts
Advantages of Using a Text Widget
Text Widget Translations and Callbacks
Convenience Functions
Compound Strings and Font Lists
Purpose of Compound Strings
String Segment Components
Compound String Library Components
Use of Font Lists
Setting Font Lists Externally
Setting Font Lists Within an Application
Basic Color Techniques
Fundamental Color Concepts
Virtual Colormaps
Colorname Mapping
Allocating Sharable Colorcells
Allocating Nonsharable Colorcells
Storing Colors
Advanced Color Techniques
Querying and Using Visuals
Creating Private Colormaps
Drawing on Separate Planes
Setting Up for Occlusion
Dynamic Graphics Techniques
Window Properties
Property IDs and Types
Creating and Destroying Properties
Setting and Getting Properties
Standard Properties for Top Level Windows
Using Properties for Interclient Communication
Advanced Application Design Techniques
Work Procedures
Alternate Input
Timeouts
Connecting to Multiple Displays
Use of Multiple Top Level Shells
Designing for Good Interactive Response
Introduction to X Windows and the X Toolkit
Client/Server Design Model
X Software Architecture
Introduction to the X Toolki

