Sorry, I was talking about Thomas Broyer solution #1.
Your code (pastebin) is what I was already doing.
BTW this is the .java:
public final class AboutDialogDisplay {
@Inject
private AboutDialogDisplay() {
uiBinder.createAndBindUi(this);
}
@UiFactory
DialogBox thatsJustMe() {
return this;
}
}
And this is the .ui.xml:
<g:DialogBox animationEnabled="true" glassEnabled="true" modal="true">
......
</g:DialogBox>
Thanks
Stefano
On Wed, Feb 10, 2010 at 4:46 PM, Christian Goudreau <
[email protected]> wrote:
> First, give us your code for you .java and for your .ui.xml.
>
> I'll see what I can do for you, I also had some problems first time I
> tried this. Note that I'm using Gwt-Presenter in my example.
>
> Christian
>
> On Wed, Feb 10, 2010 at 10:24 AM, Stefano Ciccarelli <
> [email protected]> wrote:
>
>> Solution #1 doesn't work for me. I get this error:
>>
>> Second attempt to set initializer for field "f_DialogBox1", from "new
>> com.google.gwt.user.client.ui.DialogBox(false, true)" to
>> "owner.thatsJustMe()"
>>
>> Hints or suggestions?
>>
>>
>> On Tue, Feb 9, 2010 at 5:44 PM, Thomas Broyer <[email protected]> wrote:
>>
>>>
>>> On Feb 9, 12:00 pm, Ovidiu Gheorghies <[email protected]> wrote:
>>> > Hello,
>>> >
>>> > The DialogBox API (http://google-web-toolkit.googlecode.com/svn/
>>> > javadoc/2.0/com/google/gwt/user/client/ui/DialogBox.html) notes that a
>>> > DialogBox can be defined as a UIBinder template as follows:
>>> >
>>> > <g:DialogBox autoHide="true" modal="true">
>>> > <g:caption><b>Caption text</b></g:caption>
>>> > <g:HTMLPanel>
>>> > Body text
>>> > <g:Button ui:field='cancelButton'>Cancel</g:Button>
>>> > <g:Button ui:field='okButton'>Okay</g:Button>
>>> > </g:HTMLPanel>
>>> > </g:DialogBox>
>>> >
>>> > What is the proper way of using this definition from Java code?
>>> > Supposing that the above definition is contained in
>>> > NotificationWindow.ui.xml, the following naive approach to
>>> > NotificationWindow.java does not work:
>>> >
>>> > public class NotificationWindow extends Composite {
>>> > private static NotificationWindowUiBinder uiBinder =
>>> > GWT.create(NotificationWindowUiBinder.class);
>>> > interface NotificationWindowUiBinder extends UiBinder<Widget,
>>> > NotificationWindow> {}
>>> >
>>> > @UiField DialogBox dialogBox;
>>> >
>>> > public NotificationWindow() {
>>> > initWidget(uiBinder.createAndBindUi(this));
>>> > }
>>> >
>>> > public void show() {
>>> > dialogBox.show();
>>> > }
>>> >
>>> > }
>>> >
>>> > If the EntryPoint-derived class calls:
>>> >
>>> > (new NotificationWindow()).show();
>>> >
>>> > then the following exception is logged:
>>> >
>>> > java.lang.IllegalStateException: This widget's parent does not
>>> > implement HasWidgets
>>> >
>>> > How is the <g:DialogBox> definition from the DialogBox API used
>>> > correctly from Java code?
>>>
>>> There are two possibilities: inheriting DialogBox or having a
>>> DialogBox field (but then not inheriting a Widget).
>>>
>>> Solution #1: inheriting a DialogBox
>>>
>>> class NotificationWindow extends DialogBox {
>>> ...
>>>
>>> public NotificationWindow() {
>>> // we don't care about the returned value, it'll be 'this'
>>> uiBinder.createAndBindUi(this);
>>> }
>>>
>>> @UiFactory
>>> DialogBox thatsJustMe() {
>>> // UiBinder will call this to get a DialogBox instance
>>> // and this is the DialogBox instance we want to use
>>> return this;
>>> }
>>>
>>> ...
>>> }
>>>
>>>
>>> Solution #2: not inheriting DialogBox
>>>
>>> // Note: do NOT inherit Composite, Widget or UIObject!
>>> class NotificationWindow {
>>> ...
>>>
>>> private DialogBox dialogBox;
>>>
>>> public NotificationWindow() {
>>> dialogBox = uiBinder.createAndBind(this);
>>> }
>>>
>>> public void show() {
>>> dialogBox.show();
>>> }
>>>
>>> ...
>>> }
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Google Web Toolkit" group.
>>> To post to this group, send email to [email protected]
>>> .
>>> To unsubscribe from this group, send email to
>>> [email protected]<google-web-toolkit%[email protected]>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/google-web-toolkit?hl=en.
>>>
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Google Web Toolkit" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<google-web-toolkit%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/google-web-toolkit?hl=en.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google Web Toolkit" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-web-toolkit%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-web-toolkit?hl=en.
>
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en.