Tuesday, November 25, 2014

Re: GWT 2.5-rc1 feature uirender is not working as expected.

Hi all.

I'm see this old topic but I stuck with this problem. I tried to remove the type tag but I'm getting an error anyway in compile time. @UiFactory either not working. Any clue?

четверг, 26 июля 2012 г., 15:26:22 UTC+3 пользователь Vasu написал:
Woow.. really quick thanks Rodrigo. Also would like to thanks Thomas for giving right direction.

On Thursday, 26 July 2012 02:41:03 UTC+5:30, Rodrigo Chandia wrote:
I think this patch (under review) fixes this issue:

http://gwt-code-reviews.appspot.com/1794803 

On Tuesday, July 24, 2012 3:27:29 PM UTC-4, Rodrigo Chandia wrote:
Hmm, this seems like a bug to me. Hopefully I'll have a fix ready for rc2.


On Mon, Jul 23, 2012 at 11:11 PM, Vasu wrote:

Yea !!!! you are absolutely right. It worked when I removed type attribute from <ui:with > tag. I was wondering it has to identify type to call respective methods on the same and I realized that it tries to match the variable name with that of name of the parameter to render method (which I marked in blue color in below code).

----------------------------------------------------------------------------------------------------------------------------------------------
interface MyUiRenderer extends UiRenderer {
        void render(SafeHtmlBuilder sb, Person person);
    }
----------------------------------------------------------------------------------------------------------------------------------------------


So Finally working code looks like this.


PersonCell.java
----------------------------------------------------------------------------------------------------------------------------------------------


public class PearsonCell extends AbstractCell<Person> {


    interface MyUiRenderer extends UiRenderer {
        void render(SafeHtmlBuilder sb, Person person);

    }

    private static MyUiRenderer    renderer    = GWT.create(MyUiRenderer.class);

    @Override
    public void render(com.google.gwt.cell.client.Cell.Context context, Person value, SafeHtmlBuilder sb) {
        renderer.render(sb, value);
    }

}

----------------------------------------------------------------------------------------------------------------------------------------------

PersonCell.ui.xml
----------------------------------------------------------------------------------------------------------------------------------------------

<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'>
    <ui:with field='person' />

    <div>
        First Name :
        <span>
            <ui:text from='{person.getFname}' />
        </span>
        <p>
            Last Name :
            <span>
                <ui:text from='{person.getLname}' />
            </span>
        </p>
        <p>
            Email :
            <span>
                <ui:text from='{person.getEmailid}' />
            </span>
        </p>
    </div>
</ui:UiBinder>
----------------------------------------------------------------------------------------------------------------------------------------------

Thanks Thomas for your valuable inputs. Without that it would have been painful to identify the issue.

Thanks,
-Pandurang.


On Thursday, 19 July 2012 13:34:11 UTC+5:30, Thomas Broyer wrote:


On Thursday, July 19, 2012 5:36:13 AM UTC+2, Vasu wrote:
Yes you were right, it is instantiating new Person object. But if I try to set Type to empty string validation fails and I cannot run the application.

I didn't mean to set it to the empty string, but to not use the attribute: <ui:with field="person" />

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment