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

Reply via email to