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 >>> >> >
