Lovely. Approved.

On Wed, Aug 25, 2010 at 4:37 PM, P T Withington <[email protected]> wrote:

> Change ptw-20100825-rTl by [email protected] on 2010-08-25 15:30:14 EDT
>    in /Users/ptw/OpenLaszlo/trunk-2
>    for http://svn.openlaszlo.org/openlaszlo/trunk
>
> Summary: Implement CSS 'classes' for LZX nodes
>
> New Features:  <node>/styleclass
>
> Bugs Fixed:  LPP-7358 Add support for CSS 'classes' to &lt;node&gt;
>
> Technical Reviewer: [email protected] (pending)
> QA Reviewer: [email protected] (pending)
> Doc Reviewer: [email protected] (pending)
>
> Documentation:
>
>    [Please see <node>/styleclass in the LZX Reference in the nightly
>    build after I check this in.  I will also be updating the CSS
>    section of the developer's guide with an additional example
>    modelled on the new test/style/classes test.]
>
> Release Notes:
>
>    It is now possible to use CSS class selectors (i.e., view.foo) for
>    LZX <node>s.  The `styleclass` attribute of <node> is a
>    space-separated list of CSS class names that the node belongs to.
>    These class names can be used in CSS selectors to cause the
>    corresponding styles to be applied to the node.  See the CSS
>    section of the Developer's Guide for more information.
>
> Overview:
>
>    Made class selectors and conjunctions work.  Eliminated the
>    runtime parsing of CSS selectors by generating them pre-parsed in
>    the StyleSheetCompiler.  Streamlined the selector representation.
>
> Details:
>
>    dynamic: Cleaned up and renamed classes so I can replicate this
>    for a dynamic class test.
>
>    classes/*: A test modelled on the dynamic attributes test but
>    using multiple dynamic class selectors instead.
>
>    LzCSSStyle, StyleSheetCompiler: Improved the construction of style
>    rules.  The selector is now emitted already parsed with
>    specificity by the style compiler by modelling it as a Map and
>    List internally and using the ScriptCompiler object writer to emit
>    it, rather than trying to build up a string by hand.  Throws a
>    compile-time error if an unimplemented rule is encountered (rather
>    than the former behaviour of emitting an ill-formed rule to the
>    runtime). The only runtime parsing is to accumulate the
>    specificity of compound rules.  Shortened the names of the parts
>    of selectors to make them more compact (at the price of
>    legibility).  Added support for classes (e.g., .foo), conditional
>    'conjunction' rules (e.g., .foo.bar or [foo=x][bar=y]), for ~= and
>    |= matches.  Simplified attribute rules structure since the
>    2-level lookup can't be used in the dynamic attribute
>    implementation.  Eliminated the rule 'type' field since the
>    salient points about type can all be tested directly.  Reorganized
>    the attribute checker to work for conjunctions and additional
>    matches.  Simplified the main path so that the lookup test in
>    metasuite is actually improved.
>
>    LzNode: Added the `styleclass` property with a setter that caches
>    multiple classes in a format that makes testing for them faster.
>
> Tests:
>
>    style/metasuite with the new dynamic classes test, and smokecheck
>    on all platforms.
>
> Files:
> M       test/style/dynamic/dynamic.lzx
> A       test/style/classes
> A       test/style/classes/library.lzx
> A       test/style/classes/main.lzx
> A       test/style/classes/classes.lzx
> M       test/style/metasuite.lzx
> M       WEB-INF/lps/lfc/services/LzCSSStyle.lzs
> M       WEB-INF/lps/lfc/core/LzNode.lzs
> M
> WEB-INF/lps/server/src/org/openlaszlo/compiler/StyleSheetCompiler.java
>
> Changeset:
> http://svn.openlaszlo.org/openlaszlo/patches/ptw-20100825-rTl.tar
>

Reply via email to