Friday, November 28, 2014

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

Thank you for answer.

Sorry for response delaying I tried to get GWT 2.8-SNAPSHOT.

I have such code:
PlayCell.java
public class PlayCell extends AbstractCell<PlayCellProxy> {

private static final PlayCellBinder cellRenderer = GWT.create(PlayCellBinder.class);

interface PlayCellBinder extends UiRenderer {
void render(SafeHtmlBuilder sb, PlayCellProxy myCellRenderer);
}

@Override
public void render(Context context, PlayCellProxy value, SafeHtmlBuilder sb) {
if (value == null) {
return;
}
cellRenderer.render(sb, value);
}

}

PlayCell.ui.xml

<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'>
<ui:with field='playCellProxy' type="net.rushashki.shashki64.client.cell.renderer.PlayCellProxy"/>

<div ui:field="playCell">
<div ui:field="firstName">
Title:
<ui:text from="{playCellProxy.getTitle}"/>
</div>
Player:
<ui:text from="{playCellProxy.getWhitePlayer}"/>
</div>
</ui:UiBinder>

PlayCellProxy.java
public class PlayCellProxy {

private PlayDto playDto;

public PlayCellProxy(PlayDto playDto) {
this.playDto = playDto;
}

public String getTitle() {
return playDto.getTitle();
}

public String getWhitePlayer() {
return playDto.getWhitePlayer();
}

public String getBlackPlayer() {
return playDto.getBlackPlayer();
}

public String getDeskHtml() {
return playDto.getDeskHtml();
}

}

With such code page is rendered. But fields of playCellProxy are empty.

четверг, 27 ноября 2014 г., 10:06:04 UTC+3 пользователь Vasu написал:
you need to provide your code snippets which will enable us to help you.

Pandurang Patil on about.me
 
Pandurang Patil
about.me/pandurangpatil
 
 
twitter: @agniesoftware
Cell : +91-9823241535

On Wed, Nov 26, 2014 at 12:15 AM, Aleksey Popryadukhin <lyn...@gmail.com> wrote:
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 a topic in the Google Groups "Google Web Toolkit" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-web-toolkit/TWYcWRfICXk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-we...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

--
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