Reuben,
About:
MENU ... ATTRIBUTES(STYLE="dialog foo")
Providing multiple style names in the STYLE attribute of a MENU is not expected and not documented.
In fact, unlike other STYLE usages, with MENU, there is no corresponding <Style/> definition required in the .4st file!
Yes, this is confusing.
When MENU + STYLE was introduced, maybe the intention was to do something similar to OPEN WINDOW + ATTRIBUTES(STYLE="..."), but it ended up as a kind of implicit menu type without any .4st definition.
For sure, in .4st files, we have no Menu class with a menuType="modal" style attribute, similar to Window / windowType="modal".
I think we should have defined another syntax since the beginning, to define the general rendering of a MENU:
MENU ... ATTRIBUTES( TYPE=MODAL )
We did it with OPEN WINDOW ... ATTRIBUTES( TYPE=... ) when we introduced splitviews for mobile.
BTW this is desupported since 4.00 (but the .4gl grammar is still there!):
https://4js.com/online_documentation/fjs-fgl-manual-html/#fgl-topics/c_fgl_Migrate_to_400_paradlg_desupport.htmlFor consistency, I think we should have TYPE=MODAL for both MENU and OPEN WINDOW instructions, AND a STYLE attribute for style attribute indirection, so you could write:
MENU ... ATTRIBUTES( TYPE=MODAL, STYLE="foo bar", ... )
+ some additional cleanup is required, to remove TYPE = POPUP/LEFT/RIGHT/NAVIGATOR from the .4gl grammar.
Seb