I'm already doing like you, but I'd like to try the solution #1 explained by
Thomas Broyer, so the code is from that test. The class already extends
DialogBox and I get the error reported, the extends is missing because I
done something wrong with cut&paste.
I need @Inject because that class is the Display injected in a Presenter.

I want to try that solution because I prefer to extends DialogBox.


On Wed, Feb 10, 2010 at 5:16 PM, Christian Goudreau <
goudreau.christ...@gmail.com> wrote:

> Oh no his solution #2 isn't like mine at all, lol, but anyway, do you
> really need @Inject ? There's nothing to inject in your example.
>
>
> On Wed, Feb 10, 2010 at 11:11 AM, Christian Goudreau <
> goudreau.christ...@gmail.com> wrote:
>
>> In your code, for solution #1, you need to extends DialogBox, you forgot
>> that.
>>
>> For my solution, I only encapsulate DialogBox within an HTMLPanel an then
>> I added two public function for showing and hiding my dialogbox. (Solution
>> #2) Btw, I found solution #2 less intrusive and more simple.
>>
>>
>> On Wed, Feb 10, 2010 at 10:58 AM, Stefano Ciccarelli <
>> sciccare...@gmail.com> wrote:
>>
>>> 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 <
>>> goudreau.christ...@gmail.com> 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 <
>>>> sciccare...@gmail.com> 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 <t.bro...@gmail.com>wrote:
>>>>>
>>>>>>
>>>>>> On Feb 9, 12:00 pm, Ovidiu Gheorghies <ogheorgh...@gmail.com> 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
>>>>>> google-web-tool...@googlegroups.com.
>>>>>> To unsubscribe from this group, send email to
>>>>>> google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@googlegroups.com>
>>>>>> .
>>>>>> 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
>>>>> google-web-tool...@googlegroups.com.
>>>>> To unsubscribe from this group, send email to
>>>>> google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@googlegroups.com>
>>>>> .
>>>>> 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
>>>> google-web-tool...@googlegroups.com.
>>>> To unsubscribe from this group, send email to
>>>> google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@googlegroups.com>
>>>> .
>>>> 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 google-web-toolkit@googlegroups.com
>>> .
>>> To unsubscribe from this group, send email to
>>> google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@googlegroups.com>
>>> .
>>> 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 google-web-tool...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@googlegroups.com>
> .
> 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 google-web-tool...@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to