Monday, November 08, 2010 at 12:02 AM.
system.verbs.builtins.export.sendSubMenu
on sendSubMenu () { local (adrMenuBar = address (window.frontmost ())); local (fname = op.getLineText () + " SubMenuBar"); if not file.putFileDialog ("Name of export file:", @fname) { return (false)}; local (subMenu); bundle { <<create a menubar object in subMenu, containing the selection wp.setTextMode (false); <<be sure copy gets outline stuff editMenu.copy (); new (menubarType, @subMenu); target.set (@subMenu); editMenu.paste (); op.firstSummit (); <<put cursor on blank line op.deleteLine (); <<delete it target.clear ()}; bundle { <<create the new file, the importer script is embedded in it export.sendtodesktop (@export.callImportSubMenu, fname)}; bundle { <<save the submenu into a 'data' resource local (resdata, cmdName); pack (subMenu, @resdata); pack (resdata, @resdata); rez.putNamedResource (fname, 'data', string (adrMenuBar), @resdata)}; bundle { <<for the future, get the name of the parent menu in a 'STR ' resource local (parent, saveCursor); op.setDisplay (false); saveCursor = op.getCursor (); if op.go (left, 1) { parent = op.getLineText ()} else { parent = ""}; op.setCursor (saveCursor); op.setDisplay (true); rez.putStringResource (fname, 132, parent)}; return (true)}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.