> Inject your eventBus in to the widget, it will work just fine, then "new"
> your widget or create it by using injection, or whatever.
As mentioned in topic title and in my message, the widget is being
*created by uiBinder*.
> You only need <ui:with> if you need to access some object in the ui.xml file
> that you want to be constructed somewhere else. Typically this is some
> object that get injected in to the ui.xml associated .java class or it is a
> Resources object (typically also injected).
>
> Example:
>
> public class MyWidget extends Composite {
> private static MyWidgetUiBinder uiBinder =
> GWT.create(MyWidgetBinder.class);
> interface MyWidgetUiBinder extends UiBinder<Widget, MyWidget> {
> }
>
> private final EventBus bus;
>
> @UiField
> private HTMLPanel outerPanel;
>
> @Inject
> public MyWidget(EventBus bus) {
> this.bus = bus;
> initWidget(uiBinder.createAndBindUi(this));
> }
>
> }
>
I've now tried incorporating Gin and following your suggestions.
Introducing a no-argument constructor causes my application to fail to
start:
01:00:41.503 [ERROR] [testapp] com.testapp.agency.client.Mailboxes has
no default (zero args) constructor. To fix this, you can define a
@UiFactory method on the UiBinder's owner, or annotate a constructor
of Mailboxes with @UiConstructor.
Any ideas? Does your response address injecting resources into widgets
created by uiBinder?
Pete
--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
No comments:
Post a Comment