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