Hands On Technology Transfer Inc - 1-800-413-0939

Discounts
Travel Packages
Guarantees
Testimonials
Why HOTT
Free Reports

Microsoft Certified Partner

Print FriendlyE-mail a Friend

X/Motif Programming

Duration: 5 days | Price: Contact a Career Consultant for pricing

Students Will Learn:
  • X Window Attributes and Properties
  • Drawing Graphics
  • Color Control
  • Event Handling & the Translation Manager
  • User Interface Design
  • Manager and Primitive Widgets
  • Top Level Shells
  • Menus and Dialogs

Description: 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

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

Student Testimonials

"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


„Hervorragender Kurs! Erstklassiger Kursleiter! [Er] hat jede Menge wichtiger Themen angesprochen, die für meine Arbeit relevant sind und die mir jahrelang unklar waren.“
- W. M., Robins AFB


„Das war der beste Kursleiter, den ich in den vergangenen 15 Jahren, seit ich die Uni verlassen habe, erlebt habe. Einfach klasse! Er kannte sich in der Materie gut aus, konnte sich (und uns) dafür begeistern und hat die Antworten auf all unsere Fragen ganz einfach in den Unterricht eingebaut.“
– M. S., General Dynamics Advanced Information Systems


„Die Art und Weise, in der der Kursleiter den zu vermittelnden Lerninhalt präsentiert hat, war richtig gut. Das alles war äußerst aufschlussreich. Ich freue mich schon darauf, das Erlernte umzusetzen.“
– G. C., Endura Products, Inc.


Northeast/New England Southeast Midwest West/Southwest Canada United Kingdom
CT - Hartford
CT - New Haven
CT - Stamford
DC - Washington
MA - Boston
MA - Chelmsford
MA - Quincy
MA - Springfield
MA - Waltham
MA - Woburn
MA - Worcester
MD - Baltimore
MD - Columbia
NH - Manchester
NH - Nashua
NJ - Jersey City
NJ - Newark
NJ - Princeton
NY - Albany
NY - Binghamton
NY - Buffalo
NY - Ithaca
NY - Manhattan
NY - Rochester
NY - Syracuse
PA - Harrisburg
PA - Philadelphia
PA - Pittsburgh
RI - Providence
AL - Huntsville
FL - Fort Lauderdale
FL - Jacksonville
FL - Miami
FL - Orlando
FL - Pensacola
FL - Sarasota
FL - Tampa
FL - West Palm Beach
GA - Atlanta
GA - Savannah
LA - Shreveport
NC - Charlotte
NC - Raleigh-Durham
NC - Winston-Salem
SC - Charleston
VA - Alexandria
VA - Fairfax
VA - Norfolk
VA - Richmond
VA - Williamsburg
AR - Little Rock
IA - Cedar Rapids
IA - Des Moines
IL - Chicago
IL - Schaumburg
IL - Springfield
IN - Indianapolis
KY - Louisville
MI - Detroit
MI - Lansing
MN - Minneapolis
MO - Kansas City
MO - St. Charles
MO - Springfield
NE - Omaha
OH - Cincinnati
OH - Cleveland
OH - Columbus
OH - Dayton
OK - Oklahoma City
OK - Tulsa
TN - Memphis
TN - Nashville
WI - Milwaukee
AZ - Phoenix
AZ - Tucson
CA - Bakersfield
CA - Fresno
CA - Irvine
CA - Los Angeles
CA - Modesto
CA - Oakland
CA - Riverside
CA - Sacramento
CA - San Diego
CA - San Francisco
CA - San Jose
CA - Santa Clarita
CA - Santa Monica
CA - Temecula
CO - Denver
ID - Boise
NM - Albuquerque
NM - Las Cruces
NV - Las Vegas
OR - Portland
TX - Austin
TX - Corpus Christi
TX - Dallas
TX - El Paso
TX - Fort Worth
TX - Houston
TX - San Antonio
UT - Salt Lake City
WA - Seattle
WA - Spokane
AB - Calgary
AB - Edmonton
BC - Vancouver
MB - Winnipeg
QC - Montreal
QC - Quebec City
ON - Kingston
ON - Mississauga
ON - Ottawa
ON - Toronto
SK - Regina
Birmingham
Bristol
Chelmsford
Edinburgh
Glasgow
Leeds
Liverpool
London
Manchester

Hands On Technology Transfer, Inc.
1 Village Square, Suite 8
14 Fletcher Street
Chelmsford, MA 01824
1-800-413-0939 | 1-978-250-4299

Copyright© Hands On Technology Transfer, Inc.