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 <
[email protected]> 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 <
> [email protected]> 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 <
>> [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]<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