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].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to