Hi, As you probably know, there are a lot of "composed" renderers in Trinidad which delegate to other "sub"renderers to render parts of the component. i.e. Table renderer delegates to: - NavBar(subclass of SelectRangeChoiceBarRenderer), - AllDetails (subclass of ShowDetailRenderer) - DetailColumnRenderer
input fields renderers (subclasses of InputLabelAndMessageRenderer) delegate to: - one renderer that renders the input field (subclass of FormInputRenderer) - Label (subclass of OutputLabelRenderer) - Message (subclass of MessageRenderer) and many more... As this may look like "good practice", it makes life hell for the developers that want to customize/override these renderers. I have 2 possible solutions: 1. make some xml config file that maps a "sub-renderer" type to a renderer class I know this might look like the old uix practice, but it's for a differernt reason. With a small xsd and some docs, this will be much more transparent. 2. at least have protected getters that return a renderer instance either for using the default defined sub-renderer in an overriden method or just for overriding that sub-renderer itself I personally like the 1st solution more, because it's easier to override sub-renderers defined in a super class of more renderers (LabelAndMessageRenderer) Opinions, suggestions, other solutions? regards -- Cristi Toth ------------- Codebeat www.codebeat.ro
