I'm afraid the answer will not be a clear "yes".
The aim of the traditional mode is clearly to facilitate migration from BDS (or even legacy Informix 4GL code, if possible).
Basically: bring your old (nearly) text based application to Genero without the need of rewriting everything before.
So when running in traditional mode, you'll sill be able to make an OPEN WINDOW AT, and the newly opened window will be placed at the given position on the current window grid.
But if you start using a "modern" window, there is still no way to give a precise position where to open the window. You can rely on the different values for the styleAttribute position (center, center2, field).
This choice is due to :
- our architecture, where the same 4GL program can run with GDC, but also with GWC and text mode, on various platforms...
- history of 4GL, which is character based.
So beeing able to define a precise position for a window when your window can be opened by GDC on a large desktop, or by GWC on a PDA, where the user can change his default font size...
This is pretty easy in a character based mode with a fixed grid, but quite impossible to achieve with today's front ends.
For your specific menu problem, if you run it without the traditional flag, it won't display correctly, as the position of the windows will anyway be defined by the window manager ; more over, there is no Z-order concept, so the windows may not overlap correctly.
With the traditional flag, it should behaves correctly.
TopMenu can be a solution - it graphically does the job -, but I agree that usually topmenus have 2 or 3 levels, after that it starts to be confusing.
The startmenu modification has already been considered, but it looks like what you would like to have is our so wanted TreeView widget. I can't give a release date (we're still fighting against technical issues to integrate the tree in a classic 4GL background, and I'm not crazy enough to give a date for a feature which has been promissed for years, sorry ;) ), but I expect your tree menu to be done very easily, with classic 4GL statements.
We're working hard to have a nice solution, so stay tuned.