The CoreRenderKit of Trinidad adds all "standard" JSF components,
delivered by HTML_BASIC RenderKit.
So for <h:graphicImage /> the javax.faces** component and renderer is used.

But, this isn't true for commandButton/commandLink/form

     // But we render UIForms with our own renderer
     addRenderer(UIForm.COMPONENT_FAMILY,
                 "javax.faces.Form",
                 new HtmlFormRenderer());
     // And we render UICommandLink with our own renderer
     addRenderer(UICommand.COMPONENT_FAMILY,
                 "javax.faces.Link",
                 new HtmlCommandLinkRenderer());
     // In jsf 1.1_02 the ri FormRenderer writes out script used by
     // h:commandButton. Since we override the RI FormRenderer, we also
     // need to override the commandButton renderer:
     addRenderer(UICommand.COMPONENT_FAMILY,
                 "javax.faces.Button",
                 new HtmlCommandButtonRenderer());

-Matthias

On 6/26/07, Renzo Tomaselli <[EMAIL PROTECTED]> wrote:
Hi, in a mixed environment (Trinidad, Tomahawk, Facelets, Richfaces) I
noticed that - even when using non-Trinidad components - we get Trinidad
skins being used for classes.
For example, in:

<h:commandLink>
    <h:graphicImage value="#{sessionBean.map[menu.link.icon]}"
style="border: 0px" rendered="#{menu.link.iconized}"/>
    <h:outputText value="#{menu.label}"/>
</h:commandLink>

there is no Trinidad component involved, but I get the class OraLink
being used for rendering the <a> element.
Also I should remark that at higher level, there are other Trinidad
containing components, but I guess there is no "inheritance" in
rendering styles.
When such (standard) link is embedded into another library component -
style conflict arise - such as in:

<rich:dropDownMenu>
    <f:facet name="label">
        <h:commandLink>
       ....
How can we avoid this effect ?

Thanks -- Renzo





--
Matthias Wessendorf

further stuff:
blog: http://matthiaswessendorf.wordpress.com/
mail: matzew-at-apache-dot-org

Reply via email to