DE9 - How to use DE8 Custom Menus etc.
First thing first, you can keep your DE8 filemenus, toolbar and tab bar in DE9 (even catalog) if you want to.
You can do this either programatically via SetCurrent() ex. SetCurrent("FileMenu","On")
SetCurrent("Statusbar","Off") -- Switch off the statusbar.
SetCurrent("Tabbar","Off") -- Switch off the Tabbar.
SetCurrent("Toolbar","Off") -- Switch off the Toolbar.
SetCurrent("Filemenu","Off","Keepline") -- Seitch off the FileMenu but will keep the white background.
SetCurrent("AllBars","Off") -- Will switch off File Menu/Toolbar/Tabbar and Statusline in Runtime.
What we have done in DE9 is to take a step away from the fixed model used in DFW 1 through 8.5 and moved all menus/tab bars/tool bars etc out of DE and into the application.
All menus in DE9 are developed in DE9 so in principle you can make them yourself. Anything you can do in DE8(DE9) you can now do programatically rather than as part of the framework, and you can even change it in runtime.
You can have glimpse into it here:
http://www.dataease.com/DG3_BlogList/?ParentID=0000000478&field1=0000000478
If you want to switch the old stuff back by default you can do that in the RDRRxAAA.INI file (Application configuration).
[INTERFACE]
ApplicationCaption=DataEase: FileMenuTest
ShowCatalog=1
ShowToolbar=0 --1 to switch on
ShowStatusbar=1
ExpandCatalogLists=1
GridOn=1
RulersOn=1
OutlinesOn=1
LabelsOn=0
ShowObjectPalette=0
UndoLevels=10
ShowSystemTables=0
PasswordAfterMinimize=0
EnableDOSReports=0
AllowSQLTextViewing=0
NewStyleSysForms=0
RefreshInterval=2
InitialCodepage=1252
ApplicationCharset=0
ShowTabbar=0 --1 to switch on
ShowMenus=0 --1 to switch on
We already have a function to read out the Custom File Menu as a JSON array that one can use to re-implement the menu as a service Window Menu.
DEOS("@GetDefinition","document","menus") return current menu as json string using tojson on deobject. The result is as it is stored in DataEase object object model.
However this is not used in the enviroment yet to re-implement the file menu, but we intend to simply make a DQL that we ship with DE9 that will produce a HTML List that can be styled any way you want like the current file Menu in DE9.
The idea in DE9 is to enable the developer to develop the application exactly as they want without any limits or restrictions when at the same time we implement the best version we can as a "default".
There is no limits in DE9 either in DT or RT (you now have full control of both from your application if you want to) so it is not a joke when we say you can develop your own development tool in DE9.
So in a perfect world improvements and fixes in DE9 can be developed by YOU and suggest to us to include in the standard product.