i'm looking at this now, writing a test case looks like the right thing, but I think there is some work still
more as I get into it On 2010-04-23, at 13:21, Max Carlson wrote: > Change 20100423-maxcarlson-Y by maxcarl...@friendly on 2010-04-23 09:33:57 PDT > in /Users/maxcarlson/openlaszlo/trunk-clean > for http://svn.openlaszlo.org/openlaszlo/trunk > > Summary: Add support for dynamic CSS attribute bindings > > Bugs Fixed: LPP-7359 - Make CSS attribute selectors dynamic > > Technical Reviewer: ptw > QA Reviewer: hminsky > > Release Notes: CSS attribute selectors now automatically update when the > bound attribute changes, e.g. button[mouse=down] will listen for changes to > the 'mouse' attribute and will only apply when button.mouse == down. > > Details: LzCSSStyle - Allow getPropertyCache() lookups on the canvas. Track > CSS attributes that could change and need updating. Move attribute value > tests from getRulesCache() to getPropertyCache(). getRulesCache() builds > separate list of attribute bindings, adding attribute rules if the node has a > non-null value for the attribute. Add a reference to the node to the rule > for attribute selectors bound to parent nodes. Call > LzNode.__applyCSSConstraints() to build constraints to listen for LZX > attribute updates. > > LzNode - Track dynamic CSS properties to be updated, CSS property -> > attribute name and type. __applyCSSConstraints() expects a list of attribute > rules and registers/unregisters for updates. __reapplyCSS() is called by > attribute selector dependencies. __LZstyleBindAttribute() updates CSS > property -> attribute name and type mappings for use by __reapplyCSS(). > > Tests: See LPP-7359, testtest/style/metasuite.lzx?debug=true, smokecheck > across runtimes > > Files: > M WEB-INF/lps/lfc/services/LzCSSStyle.lzs > M WEB-INF/lps/lfc/core/LzNode.lzs > > Changeset: > http://svn.openlaszlo.org/openlaszlo/patches/20100423-maxcarlson-Y.tar >
