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

Reply via email to