package com.eas.grid.cells.rowmarker; import com.eas.core.Utils.JsObject; import com.google.gwt.cell.client.AbstractCell; import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.safehtml.shared.SafeHtmlBuilder; public abstract class RowMarkerCell extends AbstractCell<Object> { public RowMarkerCell() { super(); } public abstract String getCursorProperty(); public abstract JavaScriptObject getRowsData(); @Override public void render(Context context, Object value, SafeHtmlBuilder sb) { SafeHtmlBuilder content = new SafeHtmlBuilder(); content.appendHtmlConstant("<div class=\"grid-cell-anchor\"></div>"); JavaScriptObject rows = getRowsData(); boolean currentRow = rows != null && rows.<JsObject>cast().getJs(getCursorProperty()) == value; if (currentRow) content.appendHtmlConstant("<div class=\"grid-marker-cell-cursor\"></div>"); /* if (value.isInserted()) content.appendHtmlConstant("<div class=\"grid-marker-inserted\"></div>"); else if (value.isUpdated()) content.appendHtmlConstant("<div class=\"grid-marker-cell-dirty\"></div>"); */ sb.append(content.toSafeHtml()); } }