[Laszlo-dev] For Review: Change 20070102-ptw-s Summary: Better typing for styles

Sarah Allen sallen at laszlosystems.com
Tue Jan 2 11:06:37 PST 2007


Thanks for taking a look at this -- it will be great to be able to 
support setting bgcolor to null (transparent) with CSS!  It would be 
nice if the css files could specify 0xFFFFFF as well as #FFFFFF, just 
because it's hard for folk to remember where to use which format.  It is 
bad enough that in LZX we can say :

bgcolor="#FFFFFF" or bgcolor="0xFFFFFF" or bgcolor="${0xFFFFFF}"
but not
bgcolor="${#FFFFFF}"

On Tue, Jan 2, 2007 at 10:20 AM, P T Withington wrote:

> Change 20070102-ptw-s by ptw at dueling-banjos.local on 2007-01-02 
> 10:14:51 EST
>      in /Users/ptw/OpenLaszlo/trunk
>
> Summary: Better typing for styles
>
> Bugs Fixed:
> LPP-3356: 'can't make bgcolor transparent with css'
>
> Technical Reviewer: ben (pending)
> QA Reviewer: adam (pending)
> Doc Reviewer: jsundman (pending)
>
> Documentation:
>
> It seems that people want to write CSS colors as 0xFF00DD.  But that
> is not valid CSS.  So they wrote them as "0xFF00DD" and then were
> disappointed that the runtime did not recognize those strings as
> numbers.  So a kludge was added to the style applicator to convert
> strings to numbers.  But this kludge did not consider that the string
> "null" would coerce nicely to the number 0, which for a color is
> black.  And thereby hangs a tale.
>
> Release Notes:
>
> You will get a warning if you use "OxXXXXXX" to specify a color in a
> CSS style sheet.  You should be using #XXXXXX instead.
>
> Details:
>      LzCSSStyle.js: Consider the case where the value of the property
>      may be 0, or null, which coerce to false in a boolean context.
>
>      LzNode.as: Only do the string->int conversion if the string is
>      really parseable as a number.  Warn the user that there is a
>      better way.
>
>      LaszloView.as: Fix the code that was trying to warn you when you
>      set bgcolor to a non-number to actually detect and report that.
>
>      StyleProperty.java: Add a toString method to support
>      ScriptCompiler.writeObject
>
>      CSSHandler.java: Use the LexicalUnitType information to store the
>      value as an appropriate Javascript literal (i.e., encode the type
>      information).
>
>      StyleSheetCompiler: Use ScriptCompiler.writeObject to write the
>      style map, so that type information encoded in the literals is
>      preserved.
>
> Tests:
>      Bug test and failing cases both pass now.  That is, once I
>      corrected the failing test case to specify CSS bgcolor as the
>      token `null`, rather than the string `"null"`.
>
> Files:
> M      WEB-INF/lps/lfc/services/LzCSSStyle.js
> M      WEB-INF/lps/lfc/core/LzNode.as
> M      WEB-INF/lps/lfc/views/LaszloView.as
> M      WEB-INF/lps/server/src/org/openlaszlo/css/StyleProperty.java
> M      WEB-INF/lps/server/src/org/openlaszlo/css/CSSHandler.java
> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/ 
> StyleSheetCompiler.java
>
>
> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20070102-ptw- 
> s.tar



More information about the Laszlo-dev mailing list