Monday, November 08, 2010 at 12:03 AM.
system.verbs.builtins.Frontier.tools.windowTypes.findWindowWithMatchingAtts
on findWindowWithMatchingAtts (adratts, adradrwindow, adrwindows=nil) { <<Changes: <<9/6/01; 7:20:20 PM by JES <<Fix item #1 errors. <<10/11/01; 3:02:26 AM by JES <<Dereference the address of the window's table when checking its type. Without this, the matching window would never be found. if adrwindows == nil { adrwindows = Frontier.tools.windowTypes.init ()}; local (adr); for adr in adrwindows { if typeOf (adr^) == tableType { //avoid item #1 errors local (adrwindow = @adr^.window, t, flFoundIt = false); if window.attributes.getAll (@t, adrwindow) { local (adratt); on checkAllAtts () { for adratt in adratts { local (name = nameOf (adratt^)); if not defined (t.[name]) { return (false)}; if adratt^ != t.[name] { return (false)}}; return (true)}; if checkAllAtts () { adradrwindow^ = adrwindow; return (true)}}}}; return (false)}
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.