Menu Properties --------------- o Item list o Drawing (layout, mostly) interface Optionally, perhaps stored in an alist * Title item (a regular menu item) * Local keymap context (default to global menu keymap) * Popup delay (could do this instead w/ a hook when a menu item becomes the current selection, before mouse/key click) * Side pixmap, color * Text color * background color * background pixmap * Font * Other things interpreted specially by the arbitrary drawing code Menu Item Properties -------------------- o Identifier o "Hover" hook (when the item is highlighted; use for cascade, popup-help, etc.) o "Action" hook (when the item is activated) o Drawing interface Optionally: * String(s) to display (identifier used if not given) * Pixmap, and properties (e.g., location) * Shortcut key list (just gets incorporated into the keymap of parent) * States (hidden, grayed, selected) Notes: if both Hover and Action are #f, then the item is not highlighted and is not a stopping place for keypresses Need to be able to: o change key bindings dynamically and arbitrarily o dynamically load new drawing code