Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

About This Guide

The Photon Programmer's Guide is intended for developers of Photon applications. It describes how to create applications and the widgets that make up their user interfaces, with and without using the Photon Application Builder (PhAB).


Note: If you're familiar with earlier versions of Photon, you should read the What's New appendix. to find out how Photon and its widgets have changed in this release.

This table may help you find what you need in this book:

For information about: See:
Photon, widgets, and PhAB Introduction
Getting started with PhAB Tutorials
PhAB's user interface PhAB's Environment
Creating, opening, and saving applications in PhAB Working with Applications
PhAB modules, such as windows, dialogs, and menus Working with Modules
Adding, deleting, and modifying widgets in PhAB Creating Widgets in PhAB
Initializing a widget's resources and callbacks Editing Resources and Callbacks in PhAB
Setting the sizes of a widget and its children Geometry Management
Getting PhAB to generate code Generating, Compiling, and Running Code
Editing code generated by PhAB Working with Code
Getting and setting widget resources Manipulating Resources in Application Code
Adding or modifying widgets “on the fly” at runtime Managing Widgets in Application Code
Building special areas into a widget Control Surfaces
Using internal links to refer to PhAB modules Accessing PhAB Modules from Code
Developing a multilingual application International Language Support
Adding help information to your application Context-Sensitive Help
Communicating with a Photon application Interprocess Communication
Threads, work procedures, and background processing Parallel Operations
Using PtRaw and Photon's low-level drawing routines Raw Drawing and Animation
Encodings, fonts, languages and code tables Understanding Encodings, Fonts, Languages and Code Tables
Photon's fonts Fonts
Printing in a Photon application Printing
Transferring data from one widget or application to another Drag and Drop
Photon's regions Regions
Interaction between applications, users, and the Photon server Events
Working with windows and modal dialogs Window Management
Developing applications “by hand” without PhAB Programming Photon without PhAB
Photon's implementation Photon Architecture
PhAB's widget icons Widgets at a Glance
Handling international characters Unicode Multilingual Support
Building an embedded system Photon in Embedded Systems
Differences between the Windows and native QNX Neutrino versions of PhAB Using PhAB under Microsoft Windows
Photon terminology Glossary

Typographical conventions

Throughout this manual, we use certain typographical conventions to distinguish technical terms. In general, the conventions we use conform to those found in IEEE POSIX publications. The following table summarizes our conventions:

Reference Example
Code examples if( stream == NULL )
Command options -lR
Commands make
Environment variables PATH
File and pathnames /dev/null
Function names exit()
Keyboard chords Ctrl-Alt-Delete
Keyboard input something you type
Keyboard keys Enter
Program output login:
Programming constants NULL
Programming data types unsigned short
Programming literals 0xFF, "message string"
Variable names stdin
User-interface components Cancel

We use an arrow (→) in directions for accessing menu items, like this:

You'll find the Other... menu item under Perspective-->Show View.

We use notes, cautions, and warnings to highlight important messages:


Note: Notes point out something important or useful.


Caution: Cautions tell you about commands or procedures that may have unwanted or undesirable side effects.


WARNING: Warnings tell you about commands or procedures that could be dangerous to your files, your hardware, or even yourself.

Note to Windows users

In our documentation, we use a forward slash (/) as a delimiter in all pathnames, including those pointing to Windows files.

We also generally follow POSIX/UNIX filesystem conventions.

Navigation buttons

At the top and bottom of our HTML docs, you'll see some or all of these buttons:

Use this button: To move:
Previous To the previous part of the document.
Contents “Up” in the document:
  • In a prose book, this typically takes you to About This Guide.
  • In a reference book, it takes you to the listing of items that start with a given letter. For example, if you're looking at the docs for abs(), this button takes you to the listing of the functions that start with A.
Keyword index To the keyword index.
Next To the next part of the document.

Technical support

To obtain technical support for any QNX product, visit the Support + Services area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.

Copyright © 1995 – 2009, QNX Software Systems. All rights reserved.