The combination of menu items, menu components and menus can create a hierarchical structure as shown schematically in A schematic example of a menu hierarchy and graphically in An example of a menu hierarchy. This menu has five elements, one of which is itself a menu (with three menu items) and the remainder are menu components and menu items. Items in a menu inherit values from their parent, allowing similar elements to share relevant properties whenever possible.
(defun menu-item-name (data) (format nil "Menu Item ~D" data)) (defun submenu-item-name (data) (format nil "Submenu Item ~D" data)) (contain (make-instance 'menu :items (list (make-instance 'menu-component :items '(1 2) :print-function 'menu-item-name ) (make-instance 'menu-component :items (list 3 (make-instance 'menu :title "Submenu" :items '(1 2 3) :print-function 'submenu-item-name)) :print-function 'menu-item-name) (make-instance 'menu-item :data 42)) :print-function 'menu-item-name))
CAPI User Guide and Reference Manual (Unix version) - 01 Dec 2021 19:32:36