Hi,Is there an any example - how to add image into Cell with UiBinder?There is great example in showcase (http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellList) but without uiBinder.UiBinder file:<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"><ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"><ui:with field='contact' type='com.billmanager.client.model.ClientContact'/><ui:with field='res' type='com.billmanager.client.common.Resources'/><g:HTMLPanel><span><ui:text from='{contact.getDisplayName}'/></span><span><ui:text from='{contact.getDisplayEmail}'/></span><g:Image resource='{res.delete}'/></g:HTMLPanel></ui:UiBinder>Do not displays image.My java class is simple:public class ContactCell extends AbstractCell<ClientContact> {interface MyUiRenderer extends UiRenderer {void render(SafeHtmlBuilder sb, ClientContact contact);}private static MyUiRenderer renderer = GWT.create(MyUiRenderer.class);@Overridepublic void render(com.google.gwt.cell.client.Cell.Context context, ClientContact value, SafeHtmlBuilder sb) {renderer.render(sb, value);}}What I thought is to get rendered element (empty) and add image as html, but I don't thing it is the right way.
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"><ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"><ui:with field='contact' type='com.billmanager.client.model.ClientContact' />
<div>
<span><ui:text from='{contact.getDisplayName}' /></span><span><ui:text from='{contact.getDisplayEmail}' /></span>
<span><ui:safehtml from='{contact.getDeleteBtn}' /></span></div></ui:UiBinder>
public class ContactCell extends AbstractCell<ClientContact> {
private static ImageResourceRenderer imageRenderer = new ImageResourceRenderer();
interface MyUiRenderer extends UiRenderer {void render(SafeHtmlBuilder sb, ClientContact contact);}private static MyUiRenderer renderer = GWT.create(MyUiRenderer.class);@Overridepublic void render(com.google.gwt.cell.client.Cell.Context context, ClientContact value, SafeHtmlBuilder sb) {
value.setDeleteBtn(imageRenderer.render(Resources.INSTANCE.delete()));renderer.render(sb, value);}}
MyUiRenderer.render() to match the fields defined in <ui:with> tags. Use as many as needed to render your data.) <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"><ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"><ui:with field='contact' type='com.billmanager.client.model.ClientContact' />
<ui:with field='image' type='com.google.gwt.safehtml.shared.SafeHtml'/>
<div><span><ui:text from='{contact.getDisplayName}' /></span><span><ui:text from='{contact.getDisplayEmail}' /></span><span>
<ui:safehtml from='{image}' /></span></div></ui:UiBinder>
public class ContactCell extends AbstractCell<ClientContact> {private static ImageResourceRenderer imageRenderer = new ImageResourceRenderer();interface MyUiRenderer extends UiRenderer {
void render(SafeHtmlBuilder sb, ClientContact contact, SafeHtml image);
}private static MyUiRenderer renderer = GWT.create(MyUiRenderer.class);@Overridepublic void render(com.google.gwt.cell.client.Cell.Context context, ClientContact value, SafeHtmlBuilder sb) {
renderer.render(sb, value, imageRenderer.render(Resources.INSTANCE.delete()));}}