This example shows how to create a topmenu in all forms by using
the default initialization function and the
om.DomNode class:
CALL ui.Form.setDefaultInitializer("myinit")
OPEN FORM f1 FROM "form1"
DISPLAY FORM f1
...
FUNCTION myinit(form)
DEFINE form ui.Form
DEFINE f om.DomNode
LET f = form.getNode()
...
END FUNCTION
After getting the DOM node of the form, create a node with the
"
TopMenu" tag name:
DEFINE tm om.DomNode
LET tm = f.createChild("TopMenu")
For each Topmenu group, create a subnode with the "
TopMenuGroup"
tag name and set the attributes to define the group:
DEFINE tmg om.DomNode
LET tmg = tm.createChild("TopMenuGroup")
CALL tmg.setAttribute("text","Reports")
For each Topmenu option, create a sub-node in a group node with
the "
TopMenuCommand" tag name and set the attributes
to define the option:
DEFINE tmi om.DomNode
LET tmi = tmg.createChild("TopMenuCommand")
CALL tmi.setAttribute("name","report")
CALL tmi.setAttribute("text","Order report")
CALL tmi.setAttribute("comment","Orders entered today")
CALL tmi.setAttribute("image","smiley")
If needed, you can create a "
TopMenuSeparator"
node inside a group, to separate menu options:
DEFINE tms om.DomNode
LET tms = tmg.createChild("TopMenuSeparator")