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