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

Benjamin Shine ben at laszlosystems.com
Tue Jan 2 12:54:01 PST 2007


Sarah, do you really want us to accept this change for 3.4alpha ?
> You will get a warning if you use "OxXXXXXX" to specify a color in a
> CSS style sheet.  You should be using #XXXXXX instead.

That means that all of your existing stylesheets will cause warnings.


On Jan 2, 2007, at 11:06 AM, Sarah Allen wrote:

> 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