About Bluestone  |  Contact Us
 
 
text begins here text ends

Unix-based Tools

Java-based Tools

 

IT Staff Augmentation

  • Development
  • Database
  • System Admin.
Training
 
 
 
 
 
X/Motif

Course Overview
This 5-day course prepares the student to create OSF/Motif graphical user interfaces (GUI) using Motif and Xt, while also using lower level X function calls (Xlib) when necessary.

The course presents the essential elements of the X Window system, and continues through the Motif widget set and function libraries, along with the Xt toolkit intrinsics that are necessary to use them.

Students reinforce their understanding of the concepts by immediately applying them in hands-on exercises that build working X and Motif GUI applications.

Training Date(s) / Location
Call your Bluestone representative or 856-813-1100 for scheduling information.

Key Benefits

  • Develop and use GUIs using X library functions (Xlib).
  • Learn how to handle events and perform low-level graphics operations.
  • Understand GUIs and how they are constructed.
  • Understand the event-driven nature of X applications.
  • Understand the relationship between widgets, OSF/Motif, the Xt intrinsics, and the X Window system.
  • Learn the functionality of each of the Motif widgets.
  • Write callbacks, translations, actions and event handlers.
  • Access resources programmatically and in resource files.
  • Gain hands-on experience with OSF/Motif, Xt, and X window programming.

Audience
This course is designed for programmers, engineers, and managers who need to learn how to build efficient and effective GUIs using OSF/Motif, but who also want to be able to use X window system features that are only available at the Xlib level.

Prerequisites
  • Advanced C Programming
  • UNIX Fundamentals
  • vi or emacs

Course Content:

Fundamental X Concepts

  • Background History
  • The X Window System
  • Software Layers
  • Standard Locations of X Files
  • Some Standard X Applications
  • The Client/Server Model
  • Client and Server Roles
  • Client Communication with the Server
  • Server and Events
  • Debugging: _Xdebug and XSynchronize(...)
  • Server Resources
  • The Display
  • Pixels, Planes and Colormaps
  • Opening a Display Connection
  • Display Naming
  • Closing a Display Connection
  • Exercises

Windows

  • Window Hierarchies
  • Window Clipping and Stacking Rules
  • Window Managers
  • Exploded View of a Window Hierarchy
  • Window Geometry
  • Creating and Destroying a Simple Window
  • Mapping and Unmapping a Window
  • Window Visibility
  • Raising and Lowering Windows
  • Flushing the Request Buffer
  • Creating a Child Window
  • Moving and Resizing Windows
  • Window Attributes
  • Override Windows
  • Getting Window Information
  • Exercises

Events

  • Kinds of Events
  • Selecting Events
  • Event Masks
  • Event Propagation
  • Receiving Events
  • The XEvent Structure
  • The XAnyEvent Structure
  • Event Masks, Names, Types and Members
  • A Minimal X Application
  • Handling events
  • Non-blocking Event handling
  • Interrupting X Applications
  • Expose Events
  • The XExposeEvent Structure
  • Handling Expose Events
  • Exercises

Graphics Contexts

Fonts and Drawing Text

Pixmaps, Bitmaps, Cursors and Images

The Pointer and Keyboard

Inter-Client Communication

Basic Xt Intrinsics and Motif Widget Fundamentals

  • Software Layers
  • Object Oriented Programming
  • What is a Widget?
  • Widgets on the Screen
  • The Widget Instance Hierarchy
  • Basic Widget Capabilities
  • XT: The X Toolkit Instrinsics
  • Important Xt and Widget Terminology
  • The X Toolkit Programming Model
  • Compiling and Linking an Xt Program
  • Header Files
  • Private Header Files
  • Initializing the Toolkit
  • Creating a Widget
  • Managing and Mapping Widget
  • Creating and Management Order
  • Realizing Widgets
  • Entering the Main Loop
  • Event Functions
  • Introduction to OSF/Motif
  • Motif Widget Class Hierarchy
  • The Core Widget
  • Widget Class Hierarchy vs. Widget Instance Hierarchy
  • Lab Exercises

Xt Resources

  • Widget Resources
  • Widget Class Resource Tables
  • Setting Resource Values Programmatically
  • Setting Resources Using XtVaSetValues
  • Getting Resources Using XtVaGetValues
  • Setting Resources Using XtSetArg
  • The Arg Struct and XtSetArg
  • Getting Resources Using XtGetValues
  • Default Resource Settings
  • Resource Files, Passing Default Values
  • Resource File Specification
  • Passing in Values on the Command Line
  • Using xrdb
  • Fallback Resources
  • Lab Exercises

Making the Interface Work

  • Event Handlers, Actions and Callbacks
  • Event Handlers
  • Action Functions and Translations
  • Using Action Functions and Translations
  • Callback Functions
  • Registering Callback Functions
  • Lab Exercises

Primitive Widgets and Gadgets

  • XmPrimitive
  • XmLabel Widget
  • XmPushButton Widget
  • XmCascadeButton Widget
  • XmDrawnButton Widget
  • XmToggleButton Widget
  • XmArrowButton Widget
  • XmSeparator Widget
  • XmScrollBar Widget
  • XmList Widget
  • XmTextField Widget
  • XmText Widget
  • Gadgets
  • Lab Exercises

Composite Widgets

  • Composite Widgets
  • Composite Resources
  • Constraint Widget
  • Constraint Resources
  • XmManager Widget
  • XmManager Widget Resources
  • XmManager Resources
  • XmManager Translations
  • XmFrame Widget
  • XmBulletinBoard Widget
  • XmForm Widget
  • XmForm Constraint Resources
  • XmRowColumn Widget
  • XmPanedWindow Widget
  • XmScrolled Window Widget
  • XmMainWindow Widget
  • XmScale Widget
  • XmDrawing Area Widget
  • Lab Exercises

Shell Widgets

  • The Shell Widget Class
  • Shell Widget Resources
  • Kinds of Shell Widgets
  • OverrideShell Widget
  • XmMenuShell Widget
  • WMShell Widget
  • VendorShell Widget
  • TransientShell Widget
  • XmDialogShell Widget
  • TopLevelShell Widget
  • ApplicationShell Widget
  • Creating the Application Shell Explicitly
  • Lab Exercises

Menus and Dialogs

  • Menus
  • Pull-down Menus
  • Popup Menus
  • Option Menus
  • Dialogs
  • Lab Exercises

Miscellaneous Topics

  • Command Line Options and Application Resources
  • Timeout Functions
  • Work Procedures
  • Drag and Drop
  • Lab Exercises

 

 

 

   
contact | home | privacy policy |
copyright © 2003 Bluestone Consulting, Inc.