Standard Training Courses
Introductory Programming for the QNX Photon microGUI Windowing System
Prerequisites
You should have a good working knowledge of C. Familiarity with graphical user interface (GUI) development and message passing in the QNX® Neutrino® RTOS will help you take full advantage of this course.
Objectives
This course is designed for anyone who wants to develop applications using the QNX Photon microGUI® windowing system. By the end of this four-day course, you will have learned how to develop graphical applications quickly and efficiently, using the application builder for the QNX Photon microGUI.
- Familiarize the developer with the concepts of the QNX Photon microGUI windowing system and the application builder.
- Teach the developer to build a GUI quickly using the application builder.
- Detail time-saving programming techniques
- Provide hands-on exercises that allow the developer to apply the techniques covered in the course.
Topics
The course consists of the following sections:
-
Introduction
The first day will feature an overview of the QNX Photon microGUI windowing system and a guided tour of the application builder. We'll go over the steps in creating an application with the application builder. We'll also cover working with widgets, geometry management, global headers, initializing an application, and dialogs. -
Widgets
Widgets are the main building blocks of the QNX Photon microGUI windowing system. They vary from simple graphics such as rectangles to complex items such as trees and multi-line text widgets. The use of widgets reduces development time and effort, since all interface components are prebuilt. We'll discuss selecting widgets, positioning and sizing widgets, assigning a unique instance name to each widget, the widget hierarchy, and widget families. We'll also discuss how an application can get and set a widget's attributes. -
Working with the application builder
The application builder provides an interactive graphical environment that lets you build a user interface quickly and easily. Throughout the course, we'll look at how to create graphical applications, using the application builder’s point-and-click interface and easy-to-understand dialogs. We'll cover all aspects of the application builder, including: creating and maintaining applications; creating widgets; using resource editors to modify widgets; and aligning, grouping, resizing, and anchoring widgets. We'll also show you how to create modules (windows, dialogs, menus, etc.) and how to attach callbacks to link widgets to modules and application code. -
Programming techniques
To help reduce the effort required to create applications, we'll teach the most efficient methods for handling common situations in the QNX Photon microGUI, such as interacting with the window manager and setting up hotkeys.You’ll also learn how to create a collection of preformatted widgets and how to access those widgets from code. Moreover, you’ll learn how to display windows from code, provide application initialization code, generate code for the application, and make and test the application.
Most applications in the Photon microGUI windowing system act as graphical front-ends for larger applications and must therefore communicate with other processes. Consequently, you will learn how to handle QNX Neutrino RTOS messages and how to handle pulses and signals from within your QNX Photon microGUI application.
-
Putting theory into practice
You’ll build an application progressively throughout the course, starting with a few simple widgets, then adding dialogs, menus, and so on. You’ll also learn to apply each programming technique to situations that may arise in your own application. Diskettes with solutions to the problems covered in class will be distributed at the end of the course, and blank diskettes will also be provided to let you take your work home.