DIRECTORY CD USING [Technology], CDSequencer USING [Command], Rope USING [ROPE]; CDMenus: CEDAR DEFINITIONS = BEGIN CreateMenu: PROC [label: Rope.ROPE_NIL, globalKey: ATOM_NIL] RETURNS [menu: REF]; GetMenu: PROC [globalKey: ATOM] RETURNS [menu: REF]; CreateEntry: PROC [menu: REF, entry: Rope.ROPE_NIL, key: REF]; CallMenu: PROC [menu: REF] RETURNS [key: REF]; CallCommand: PROC [menu: REF, comm: CDSequencer.Command]; ImplementMenuCommand: PROC[a: ATOM, menu: REF, technology: CD.Technology_NIL]; END. "CDMenus.mesa Copyright c 1984 by Xerox Corporation. All rights reserved. Created by: Ch. Jacobi, September 18, 1984 3:24:53 pm PDT Last Edited by: Ch. Jacobi, September 20, 1984 6:24:27 pm PDT --NIL if not found --menu: a menu => use menu -- an ATOM => fetch for menu with globalKey --key: a menu => use menu recursively -- an ATOM => return as result (does NOT search for a menu) / use CDSequencer -- others => return as result / error message --returned key will not be of type menu --the atom will be changed to the menu atom Ê‹˜šœ ™ Jšœ Ïmœ1™—J˜šÏk œ˜ Jšžœžœ˜Jšœ žœ ˜Jšœžœžœ˜J˜—JšÏbœžœž œ˜šž˜J˜—JšÏn œžœžœžœ žœžœžœžœ˜QJ˜š  œžœ žœžœžœ˜4Jšœ™—J˜š   œžœžœžœžœžœ˜>Jšœ™Jšœ-™-Jšœ%™%JšœO™OJšœ/™/—J˜š  œžœžœžœžœ˜.Jšœ'™'—J˜š  œžœžœ˜9Jšœ+™+—J˜Jš  œžœžœžœžœ žœ˜OJ˜Jšžœ˜J˜J˜J˜—…— ¹