Not a bug. You're in charge of MyExternalBundle, including injecting it.
Note that there is no relationship between the bundle generated for the
<ui:style> block and your MyExternalBundle instance.

On Wed, Oct 7, 2009 at 3:10 PM, Sami Jaber <sami.ja...@gmail.com> wrote:

> Hi gwitters,
>
> Before filling any issue, just want to be sure that it's a bug.
> Here is my ui.xml
>
> <gwt:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
>     xmlns:gwt='urn:import:com.google.gwt.user.client.ui'>
>     <ui:with field='bundle' type='com.somewhere.client.MyExternalBundle'/>
>     <ui:style>
>     .neverUsed { background-color:red;}
>     </ui:style>
> <gwt:HorizontalPanel>
> <gwt:Label ui:field='label' styleName="{bundle.style.bold}" text="is it a
> bug ?"/>
> </gwt:UIBinder
> </gwt:HorizontalPanel>
>
> MyExternalBundle is pretty simple, it contains a style() method that
> returns myCss type (with a bold() function)
> When there is no <ui:style> tag in my ui.xml, the line
> ensureCssInjected(clientBundleFieldNameUnlikelyToCollideWithUserSpecifiedFieldOkay.style());
> is not generated at the end of createAndBindUI() in the Impl.
> I have to explicitly call
> com.google.gwt.dom.client.StyleInjector.injectStylesheet(bundle.style().getText())
> after my initWidget() to get it working
> If I add a dummy never used <ui:style> in the ui.xml, it works perfectly,
> ensureCssInjected is added
>
> I have quickly looked into UiBinderParser class, It is probably related to
> the findStyles() method witch does not call createStyle() which won't add
> ImplicitCssResource in bundleClass object.
>
> any thought ?
>
> Sami
>
>

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to