package com.andreiolar.abms.client.widgets; import com.google.gwt.cell.client.AbstractCell; import com.google.gwt.cell.client.ValueUpdater; import com.google.gwt.dom.client.Element; import com.google.gwt.dom.client.NativeEvent; import com.google.gwt.resources.client.ImageResource; import com.google.gwt.safehtml.shared.SafeHtmlBuilder; import com.google.gwt.user.client.ui.ImageResourceRenderer; //clickable imageresource cell public class ClickableImageResourceCell extends AbstractCell<ImageResource> { private static ImageResourceRenderer renderer; public ClickableImageResourceCell() { super("click"); if (renderer == null) { renderer = new ImageResourceRenderer(); } } @Override public void onBrowserEvent(Context context, final Element parent, ImageResource value, NativeEvent event, ValueUpdater<ImageResource> valueUpdater) { super.onBrowserEvent(context, parent, value, event, valueUpdater); if (event.getType().equals("click")) { if (valueUpdater != null) { valueUpdater.update(value); } } } @Override public void render(com.google.gwt.cell.client.Cell.Context context, ImageResource value, final SafeHtmlBuilder sb) { sb.append(renderer.render(value)); } }