Zur Erzeugung von Menüelementen gibt es schließlich die folgende Funktion:
createMenuItem :: MenuItem w =>
Menu -> -- Menü-Container
MenuItemKind -> -- Objekttyp
(GUIOBJECT -> w) -> -- Wrap
[Config w] -> -- Konfigurationen
IO w
Diese Funktion gibt ebenfalls das ,,echte'' Menüelement, bzw. dessen
externe Repräsentation, zurück. Sie funktioniert im Prinzip genau wie
createCanvasItem. Die Parameter sind:
MenuButton-, MenuCascade-, oder Window-Objekt
zugeordnet werden).
ObjectKind
für Widgets). Der Typ MenuItemKind steht auch im Modul
GUIObjectKind in kernel/GUIObjectKind.hs:
data MenuItemKind =
MENUCASCADE
| MENUCOMMAND
...
GUIOBJECT-Wertes die externe Repräsentation des Menüelementes
liefert (siehe Canvasitems, dies ermöglicht wiederum das Verarbeiten
der Konfigurationen innerhalb dieser Funktion).