|
Course ID: 877
| Course Duration: 5 Days
|
|
Course Dates:
|
| |
|
| |
X/Motif Programming Training Class
Course ID: 877
|
|
| |
|
|
| |
|
|
| |
X/Motif Programming Training Seminar
X/Motif Programming Duration: 5 days
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.
Prerequisites: C Programming Experience
"Excellent class! Good instructor! [He] covered a lot of important topics I see at my job, and have wondered about for years." - W.M., Robins AFB
"This was the best instructor I've ever had for the last 15 years of post-college technical training. Wonderful! The instructor knew his material, was very excited about it (which motivated us) and easily adapted the info to all of our questions." - M.S., General Dynamics Advanced Information Systems
"The instructor did an excellent job in presenting the material in such a way that is most applicable. Highly informative. Can't wait to implement this." - G.C., Endura Products Inc
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
Agenda |
|
| |
X/Motif Programming Course Overview:
|
Fundamentals of Widgets and Resources
Resource 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 Toolkit
Widget Libraries
Windowing Concepts
Window Manager Interaction
|
|
Motif Application Structure
Event Driven Programming
Introduction to X Events
Toolkit and Resource Initialization
Creating Widgets
Managing Widgets
Registering Callbacks
Callback Function Arguments
Realizing Widgets
Event Loop Processing
|
|
|
| |
|
|
|
| |
|
|
| |
Pre-requisites |
|
| |
C Programming Experience
|
|
|
| | |