Dumps the menu into a HTML document false false true macros_menu.examples>end("Examples").end ruby # @title Menus: dumping the menu structure # # This application dumps the menu structure into a HTML browser window. Beyond acting as an example, # this script is quite useful to visualize the menu structure and to determine insert points when # installing new items. module Examples # Dumps an item and it's children recursively def self.dump_children(space, menu, item) s = "" s += "<tr><td><tt>#{space}#{item}</tt></td><td>#{menu.action(item).title}</td><td>#{menu.action(item).shortcut}</td></tr>\n" menu.items(item).each { |child| s += dump_children("&nbsp;&nbsp;#{space}", menu, child) } return s end # Gets the menu object app = RBA::Application.instance mw = app.main_window menu = mw.menu # Creates the HTML page s = "<h1>Menu item structure</h1>\n" s += "<table>\n" s += "<tr><td><b>Path</b></td><td><b>Title</b></td><td><b>Shortcut</b></td></tr>\n" menu.items("").each { |item| s += dump_children("", menu, item) } s += "</table>\n" # And shows this base in the HTML browser dialog text = RBA::BrowserSource::new_html( s ) browser = RBA::BrowserDialog::new browser.set_source( text ) browser.set_home( "int:" ) browser.exec end