Hi, Carlos, No doubt theme support for Apache Royale components/containers/controls (I will use "components" from now on) would be very valuable.
Obviously, themes could only be applied to components that conform to a specific interface and who can be extensively CSS-styled. I agree that it would not apply to MDL and other "external" (non-Royale) components... Your suggestion of applying a theme at application level sounds logical. There is also a theme-related compiler argument where the theme file can be a SWC or a CSS file (this implies that a theme could be one or the other). As I said before, the number of "colors" should allow for clear differentiation between disabled/enabled, selected/unselected, hovered parts, dark text/light text. Window title/ window content. It seems to me that 2 or 3 colors are sufficient, but we probably need several shades for each. As for which component set to use, and from various contributions on the dev-list, Express appears as a serious candidate. I do not like very much the idea of multiple component sets, each one with specific capabilities... If I understand correctly, we are not talking about "drawing" components on a "canvas", right ? For a button, it would be an assembly of "inline" block (a div or some container element) with a css "radius" attribute etc. I am right ? But, in fact, it should be possible to use theming for any Royale-developed component set ? It would be a matter of attaching a "style-handling" bead ? It would be nice to know when a specific style can or cannot be applied to a component... Meaning all components should expose their own list of styleable properties... I do not really understand why we should choose some components among the components set ? Or maybe I still (!) do not have a very good understanding of how styles, themes and beads are related... Nicolas Granon > -----Message d'origine----- > De : [email protected] [mailto:[email protected]] De la > part de Carlos Rovira > Envoyé : dimanche 5 novembre 2017 11:58 > À : [email protected] > Objet : [DISCUSS] Apache Royale Theme feature > > Hi all, > > in this thread I want to join a plan to work on a theme feature for > Apache Royale. Hope you all could comment here if this starting point > is in the good track or if you think we need things not expressed here. > > 1.- Theme feature will be a pluggable set of styles (colors, drawings, > images, animations,...) to customize the visuals of Apache Royale > controls and components. > > 2.- The affected list of controls and components must to be defined in > a vote thread. We'll be opening a vote thread to designate that > concrete list based on concrete set of components. For example: Express > Set : Button, TextInput, CheckBox,.... and so on. > While some of the components will be clearly included at first sight > (Button, TextInput,...) sets in different frameworks are very different > and for this reason we must to concrete our own set or at least what we > start offering (although that will be evolving over time with more > component > inclusions) > > (in this point is important that if you could propose a concrete list > of components, that would be of great help, of course that list must be > implemented in the set you think would have the theme feature. I assume > that will be Express. If not, should we create a new set?) > > 3.- MDL, CreateJS are sets that has it's own visuals, implementations > and will be excluded of this plan. In fact, the problem with all that > sets is that once the user start developing in one of them, they are > tied the concrete implementation, set of controls, events, properties > and change the final app visuals are impossible without rewriting the > entire application. > > 4.- The themes will be a separate library project that will create a > SWC > > 5.- SWC themes must be easily swappable. We must defined a way to swap > themes. In Flex we add src theme and have a "theme" property. In Royale > it could be a Bead for the main application component. The best > solution on this should be provided by people here more near to the > apache royale arquitecture > > 3.- We'll be creating at least one theme that will be highly > configurable > > 4.- We'll be using 2-3 color scheme (primary, secondary, contrast) for > all components in a theme > > 5.- We'll use solid colors (we could try as well to integrate > gradients, but this would depend on how visuals result looks) > > 6.- We'll try to include some more configuration per component. For > example: round corners on buttons, boxed text inputs vs underlined > ones... > > There's much more that can be done here, but I think we must reach a > point and from there examine our experience and see where to gro from > there. > I'm sure will be learning a lot in the progress and right now we don't > know how to do more advanced things, or most things could take much > more time if we try to do all at the same time. > > For example, some things that will be off in the first stage would be > skins. > > Thanks > > > -- > Carlos Rovira > http://about.me/carlosrovira
