In the process you have to keep compatibility with hmg-3 syntax, expecially it's "command like" syntax (1 of the 3 syntaxes you may use to write hmg-4 programs)
I will assume that this is the syntax preprocessed with the hmg.ch and converted to the "with object" statements .
Ok, since you are already thinking about this change, I ask you to please write a message explaining the changes you have in mind and how they adapt to hmg-4 and qt.
The major difficulty I found is that, the way the lib is written, when a NEW() is called to create a control the parent isn´t known, it will be known only when the CREATE() method is called in the container window.
In QT controls, the first parameter is almost always the parent object.
In HMG4 the NEW() method should be called passing the parent as the first parameter NEW( parent )
, just as in QT.
But I don´t know if there is a direct way to reference the upper parent in a nested WITH / END WITH structure.
If not, a control heap needs to be used, probably as a public var. If I could understand the code in window.prg, this is the way the relation between parent / child is managed, and this will ned to be moved from the CREATE() to the NEW() methods.