List of usage examples for com.google.gwt.user.client.ui Grid getCellCount
@Override public int getCellCount(int row)
From source file:org.openelis.ui.widget.tree.StaticView.java
License:Open Source License
protected void bulkRender() { CellRenderer renderer;/* w ww. j ava 2s. co m*/ String style; Node node; SafeHtmlBuilder tb = new SafeHtmlBuilder(); for (int r = 0; r < tree.getRowCount(); r++) { node = tree.getNodeAt(r); style = node.getStyle(r); tb.appendHtmlConstant("<tr height='" + tree.getRowHeight() + "px' index='" + r + "'" + (style != null ? " class='" + style + "'>" : ">")); for (int c = 0; c < tree.getColumnCount(); c++) { if (c < tree.getNodeDefinition(node.getType()).size()) { renderer = tree.getCellRenderer(r, c); if (c == 0) { Grid treeGrid = getTreeCell(node, r, c); renderer.render(treeGrid, 0, treeGrid.getCellCount(0) - 1, tree.getValueAt(r, c)); tb.appendHtmlConstant("<td>"); tb.appendHtmlConstant(treeGrid.getElement().getString()); tb.appendHtmlConstant("</td>"); } else { tb.appendHtmlConstant("<td>"); tb.append(renderer.bulkRender(tree.getValueAt(r, c))); tb.appendHtmlConstant("</td>"); } } else { tb.appendHtmlConstant("<td/>"); } } tb.appendHtmlConstant("</tr>"); } flexTable.getElement().getElementsByTagName("tbody").getItem(0).setInnerSafeHtml(tb.toSafeHtml()); Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() { @Override public void execute() { adjustForScroll(0); } }); }
From source file:org.openelis.ui.widget.tree.StaticView.java
License:Open Source License
protected void renderCell(int r, int c) { CellRenderer renderer;/* w w w . j a va2 s . c o m*/ HTMLTable table; int row, col, level; Node node; node = tree.getNodeAt(r); level = tree.showRoot() ? node.getLevel() : node.getLevel() - 1; if (c < tree.getNodeDefinition(node.getType()).size()) renderer = tree.getCellRenderer(r, c); else { flexTable.setText(r, c, ""); flexTable.getCellFormatter().removeStyleName(r, c, css.InputError()); return; } table = flexTable; row = r; col = c; if (c == 0) { if (flexTable.getCellCount(r) == 0) { SafeHtmlBuilder tb = new SafeHtmlBuilder(); Grid treeGrid = getTreeCell(node, r, c); renderer.render(treeGrid, 0, treeGrid.getCellCount(0) - 1, tree.getValueAt(r, c)); tb.appendHtmlConstant("<td>"); tb.appendHtmlConstant(treeGrid.getElement().getString()); tb.appendHtmlConstant("</td>"); flexTable.setHTML(r, c, treeGrid.getElement().getString()); } else { if (!node.isLeaf()) { if (level == 0) flexTable.getCellFormatter().getElement(r, c).getElementsByTagName("td").getItem(0) .getStyle().setDisplay(Display.NONE); if (node.isOpen) flexTable.getCellFormatter().getElement(r, c).getElementsByTagName("td").getItem(1) .setClassName(css.treeOpenImage()); else flexTable.getCellFormatter().getElement(r, c).getElementsByTagName("td").getItem(1) .setClassName(css.treeClosedImage()); } else { if (level == 0) { flexTable.getCellFormatter().getElement(r, c).getElementsByTagName("td").getItem(0) .getStyle().setProperty("display", "table-cell"); } flexTable.getCellFormatter().getElement(r, c).getElementsByTagName("td").getItem(1) .setClassName(""); } if (node.getImage() != null) { flexTable.getCellFormatter().getElement(r, c).getElementsByTagName("td").getItem(2) .setClassName(node.getImage()); flexTable.getCellFormatter().getElement(r, c).getElementsByTagName("td").getItem(2).getStyle() .setProperty("display", "table-cell"); } else flexTable.getCellFormatter().getElement(r, c).getElementsByTagName("td").getItem(2).getStyle() .setProperty("display", "none"); flexTable.getCellFormatter().getElement(r, c).getElementsByTagName("td").getItem(3) .setInnerSafeHtml(renderer.bulkRender(tree.getValueAt(r, c))); } } else { if (tree.getQueryMode()) renderer.renderQuery(table, row, col, (QueryData) tree.getValueAt(r, c)); else renderer.render(table, row, col, tree.getValueAt(r, c)); } if (tree.hasExceptions(r, c)) { flexTable.getCellFormatter().addStyleName(r, c, Balloon.isWarning(tree.getEndUserExceptions(r, c), tree.getValidateExceptions(r, c)) ? css.InputWarning() : css.InputError()); flexTable.addCellMouseOverHandler(new CellMouseOverEvent.Handler(r, c) { @Override public void onCellMouseOver(CellMouseOverEvent event) { tree.drawExceptions(event.getRow(), event.getCol(), event.getX(), event.getY()); } }); } else { flexTable.getCellFormatter().removeStyleName(r, c, css.InputError()); flexTable.getCellFormatter().removeStyleName(r, c, css.InputWarning()); flexTable.removeHandler(r, c); } }