looking for books / forums on programming


this may sound a little weird, but : I’ve been using QNX for 12 years now and I’m in need to write some tools which are not included in my application, for myself.

I’ve been playing a little bit with widgets, and I made a couple of stylish buttons and interfaces. Now I need to know about how to fill them with life (other than calling a follower widget or a C program). I’d like the customer to insert values into fields or modify them and start a small program with these values after that.

The QNX docs I own don’t tell much about that (QNX 6.2.1 APPBUILDER help section). Can anyone recommend a book ? Or maybe a more basic forum than this one ? I don’t want to get on nerves with very basic matters, just want to play a little bit on my own, secretly.


I don’t think there’s ever been an independent book on using Photon. I have a lot of experience with customizing Photon, and giving custom behavior and looks to existing widgets. If you need something that is not provided, there are a number of approaches. The more obvious one is to build your own custom widget. While I’ve seen some documentation on this, I’ve never attempted it myself. Here are two examples of things I’ve done.

  1. On a project we wanted to use text widgets on a system without a keyboard. Instead we had a custom keyboard program that would appear. It communicated with the main program via message passing.
    So we wanted remove the requirement for the programmer to setup the callbacks and text widget settings for every widget. The solution involved an api call that allowed walking through the widget tree. In an initialization routine, we walk through the tree, identify text widgets, and install the callbacks.

  2. Using a similar tree walking method, we developed a “3D label”. The label was actually just two text labels in different colors offset by a few pixels. We identified these widgets by some text in the user-data, hid the original widgets, and created two new widgets. The tree walk and text update code was put into a library so theirs minimum impact on the programmer.

By the way, it was announced that Photon is being deprecated, don’t put too much energy into that ;-)


Did you get the part about how he's using 6.2.1?   I don't think Photon deprecation is an issue.