Monday, November 08, 2010 at 12:03 AM.
system.verbs.builtins.Frontier.tools.windowTypes.commands.viewInBrowser
on viewInBrowser (adr = nil) { <<Change Notes <<Fri, Jul 7, 2000 at 11:00:09 PM by AR <<Call any scripts in user.pike.commandCallbacks.viewInBrowser <<If one of the scripts returns true, we're done <<Sat, Aug 26, 2000 at 6:10:27 PM by JES <<Use the website framework to preview weblog pages <<10/02/00; 12:17:32 PM by PBS <<Callbacks can be addresses. <<11/30/00; 12:18:18 AM by JES <<Dereference callback addresses in a try block in case a tool's odb is not opened <<12/14/00; 12:18:27 AM by PBS <<View local, file-based outlines in the browser. <<12/29/00; 3:39:07 PM by JES <<View object database outlines in the browser. <<05/2501; 10:33:51 PM by JES <<Optimization: Don't save Manila site outlines, unless they've been modified. if adr == nil { //default to the front window try {adr = table.getCursorAddress ()}}; bundle { //run callbacks on runCallbacks (adrtable) { local (flConsumed = false); if defined (adrtable^) { local (adrcallback); for adrcallback in adrtable { try { //11/30/00 JES while typeOf (adrcallback^) == addressType { adrcallback = adrcallback^}; flConsumed = adrcallback^ (adr)}; if flConsumed { return (true)}}}; return (false)}; if runCallbacks (@user.tools.commandCallbacks.viewInBrowser) { return (true)}; if system.environment.isRadio { if defined (user.pike.commandCallbacks.viewInBrowser) { if runCallbacks (@user.pike.commandCallbacks.viewInBrowser) { return (true)}}}}; local (adrType); bundle { //if there's a windowType that handles this command, call it if Frontier.tools.windowTypes.findWindowType (adradrtable:@adrtype, adrwindow:adr) { if defined (adrtype^.viewInBrowser) { if adrtype^.viewInBrowser (adr) { return (false)}}}}; if adr != nil { //do default behavior local (f); if Frontier.tools.windowTypes.commands.saveAsHtml (adr, @f, true) { webBrowser.openDocument (f); webBrowser.bringToFront (); return (true)}}; return (false)}; <<bundle // debugging <<viewInBrowser (window.frontmost ())
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.