Hi Cristi In order to give you feedback, and gain some feedback too, I have some comments and questions about this topic:
You wrote: my approach was also Decorating existing renderers but for Tomahawk, I did one generic Renderer for all components, based on reflection it just searches for any "Class' or 'StyleClass' ending properties in the component and if it finds them then it searches for their name in the defined selectors and sets the appropriate styleClasses into the component It sounds good, I started doing something similiar, but there are some components that use class ending properties for another uses different to CSS classes. By example: - s:graphicImage ( imageRendererClass ) - s:outputLinkDynamic ( resourceRendererClass ) Fortunately, only these two components have this problem. The question is how to avoid use this fields as CSS class properties? I have found other things like this: Suppose you want to skin properties in h:dataTable like rowClasses and columnClasses. The first approach is doing the same like in other properties. But It has its drawbacks. This properties are a list of comma separated CSS classes. How do you plan to skin this? Take a look at t:column and t:columns component. This component does not have a renderer!!!. You have to put the code inside the class that decorate the render of t:dataTable and s:autoUpdateDataTable. How to skin this component? And the final question: How do you find the selector? how a component selector looks like? I hope that this contribute to you project. regards Att: Leonardo Uribe
