Ah, sorry.  I didn't realize that.  It looks like we are using
AllCSSValuesImpl in Express?  It could have its parseStyles parse into a
BindableCSSStyles.

-Alex

On 10/25/17, 1:34 PM, "Harbs" <[email protected]> wrote:

>Right. My point is that Express creates a BindableCSSStyles object in the
>constructor. That’s useful for folks who expect to be able to change
>style properties at runtime.
>
>I’m looking for an easy was to specify styles i a component *without*
>overwriting the default BindableCSSStyles.
>
>> On Oct 25, 2017, at 10:35 PM, Alex Harui <[email protected]>
>>wrote:
>> 
>> IIRC, a UIBase style property is either declared as a string or as a
>>style
>> object like BindableCSSStyles.  If declared as a string,
>> SimpleCSSValuesImpl will parse the string into an object.  The only
>> reasons for SimpleCSSStyles is to save the time parsing the strings and
>> have the compiler and IDEs catch errors early.  BindableCSSStyles
>>provides
>> change events.
>> 
>> HTH,
>> -Alex
>> 
>> On 10/25/17, 10:31 AM, "Harbs" <[email protected]> wrote:
>> 
>>> I have used that, but I forgot to include it.
>>> 
>>> How does that work? Is the declared style object preserved (i.e.
>>> BindableCSSStyles) when declaring the style as a string?
>>> 
>>>> On Oct 25, 2017, at 8:13 PM, Alex Harui <[email protected]>
>>>> wrote:
>>>> 
>>>> There is a fourth, which is to declare styles as in HTML:
>>>> 
>>>> <js:SomeComponent style="fontWeight:bold; fontStyle:italic" />
>>>> 
>>>> There should be some usage of it in RoyaleStore.
>>>> 
>>>> We could fatten the API surface of Express to populate every CSS style
>>>> onto the components, but IMO, it gets nasty when you want to allow for
>>>> non-standard/browser-specific styles (--moz-xxx).  So, that's why, at
>>>> least for now, Royale does not put styles in the APIs.
>>>> 
>>>> It would be cool if the newer IDEs would help check for mis-spellings
>>>> and
>>>> invalid values in that HTML-like style syntax.
>>>> 
>>>> HTH,
>>>> -Alex
>>>> 
>>>> On 10/25/17, 3:14 AM, "Harbs" <[email protected]> wrote:
>>>> 
>>>>> I’m trying to figure out the best way to make it easier to declare
>>>>> styling for express components.
>>>>> 
>>>>> Right now, I know of three ways to set styling:
>>>>> 1. Using class names in css blocks
>>>>> 2. programmatically setting the values when the component is
>>>>> initialized
>>>>> 3. using js:style mxml blocks and declaring some kind of stlye object
>>>>> in
>>>>> that.
>>>>> 
>>>>> None of these options are as easy as what we had in Flex.
>>>>> 
>>>>> In Flex, you could just declare the styling options as attributes of
>>>>> the
>>>>> main tag. Even option #3 is problematic because it makes it too easy
>>>>>to
>>>>> swap out the style object defined in the component, so
>>>>> BindableCSSStyles
>>>>> might be replaced with the non-bindable version by mistake.
>>>>> 
>>>>> One option is that we can add getters and setters for the styles that
>>>>> Flex supported natively. That would use whatever CSS object is
>>>>>created
>>>>> by
>>>>> default, and support simple declarations in the main tags.
>>>>> 
>>>>> Another option would be to add a new setter which takes an object of
>>>>> any
>>>>> type and for-ins the object to insert the values into the default
>>>>> styles
>>>>> object in the component.
>>>>> 
>>>>> One variation on the first option is to create a new “styleable”
>>>>> component set which has a large gamut of style-able proprties (and
>>>>> possibly a better skinning story). Maybe express could be
>>>>>middleweight
>>>>> components and “styleable” or “skinnable” would be a heavier-weight
>>>>> component set which would be closer to Flex components.
>>>>> 
>>>>> Thoughts?
>>>>> 
>>>>> Harbs
>>>> 
>>> 
>> 
>

Reply via email to