A little suggestion:
Since QT official reference samples (and most of those we can find on the web) are C++ based, could be very useful if you could write a small HOWTO file, explaining how to handle certain situations when the translation of the code is not obvious for a Harbour/xBase programmer without C++ knowledge.
This aspect has gained more importance now as you have decided to base HMG on hbQT.
I do not commit but I will try to write one. In all practical situations you can easily grasp the
idea off hbIDE sources which exploits almost all classes of Qt.
As a rule of hbQT implementation, a pointer has to be encapsulated within return type object,
which on the issue we just resolved is - qPainter:device(). If you read Qt's documentation
QPainter():device() returns the QPaintDevice() *. Just encapsulate it in QPaintDevice():from( painter:device() ).
This holds good for all other classes too.
BTW I just downloaded HMG sources and the first scan have a suggestion for you:
The code is haphazardly formatted, indentation is TAB key but anybody touching the code
takes his/her own path, and many more anomalies. The code is entirely off Harbour standards on formatting levels.
I agree that writing the correct and efficient code is of utmost importance, but it is equally important
to have it presentable. I could not ascertain the correct picture of HMG object modal at all and after
few minutes gave up.
You can suggest your developers to use hbIDE. That could be an important resource for your team
to learn how Qt can be exploited best besides provoding necessary tips on formatting front.
This is simply a suggestion, you may follow or descard, entirely upto you.