Example usage for com.google.gwt.user.client.ui Grid getCellCount

List of usage examples for com.google.gwt.user.client.ui Grid getCellCount

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui Grid getCellCount.

Prototype

@Override
public int getCellCount(int row) 

Source Link

Document

Return number of columns.

Usage

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);
    }

}