Example usage for com.google.gwt.gen2.table.client ScrollTable redraw

List of usage examples for com.google.gwt.gen2.table.client ScrollTable redraw

Introduction

In this page you can find the example usage for com.google.gwt.gen2.table.client ScrollTable redraw.

Prototype

public void redraw() 

Source Link

Document

Redraw the table.

Usage

From source file:com.qualogy.qafe.gwt.client.ui.renderer.TableRenderer.java

License:Apache License

public UIObject render(ComponentGVO component, String uuid, String parent, String context) {
    ScrollTable uiObject = null;
    if (component != null) {
        if (component instanceof TableGVO) {
            TableGVO gvo = (TableGVO) component;
            // setup the table
            FixedWidthFlexTable headerTable = new FixedWidthFlexTable();
            FixedWidthGrid dataTable = new FixedWidthGrid();
            //dataTable.setHoveringPolicy(SelectionGrid.HOVERING_POLICY_ROW);
            if (gvo.getMenu() != null) {
                final ComponentGVO finalComponentGVO = component;
                final String finalUuid = uuid;
                final String finalParent = parent;
                uiObject = new ScrollTable(dataTable, headerTable) {
                    @Override//from   w ww .j  a v a2  s .  c  om
                    public void onBrowserEvent(Event event) {
                        if (event.getTypeInt() == Event.ONCONTEXTMENU) {
                            DOM.eventPreventDefault(event);
                            applyContextMenu(event, finalComponentGVO, finalUuid, finalParent);
                        }
                        super.onBrowserEvent(event);
                    }

                    @Override
                    protected void setElement(Element elem) {
                        super.setElement(elem);
                        sinkEvents(Event.ONCONTEXTMENU);
                    }
                };
            } else {
                uiObject = new ScrollTable(dataTable, headerTable);
            }

            uiObject.setCellPadding(3);
            uiObject.setCellSpacing(1);
            uiObject.setResizePolicy(ScrollTable.ResizePolicy.FILL_WIDTH);

            // Header processing

            TableRowGVO header = gvo.getHeader();
            if (header != null) {
                TableCellGVO[] cells = header.getCells();
                if (cells != null) {

                    for (int i = 0; i < cells.length; i++) {
                        UIObject componentUIObject = renderChildComponent(cells[i].getComponent(), uuid, parent,
                                context);
                        if (componentUIObject != null && componentUIObject instanceof Widget) {
                            Widget w = (Widget) componentUIObject;
                            headerTable.setWidget(0, i, w);
                        }

                    }
                }
            }
            // Row processing
            TableRowGVO[] rows = gvo.getRows();
            if (rows != null) {
                for (int i = 0; i < rows.length; i++) {
                    int beforeRow = dataTable.insertRow(i);
                    TableCellGVO[] cells = rows[i].getCells();
                    if (cells != null) {
                        dataTable.resizeColumns(cells.length);
                        for (int j = 0; j < cells.length; j++) {
                            UIObject componentUIObject = renderChildComponent(cells[j].getComponent(), uuid,
                                    parent, context);
                            if (componentUIObject != null && componentUIObject instanceof Widget) {
                                Widget w = (Widget) componentUIObject;

                                dataTable.setWidget(beforeRow, j, w);
                            }

                        }
                    }
                }
            }
            // Redraw the scroll table
            RendererHelper.fillIn(gvo, uiObject, uuid, parent, context);

            uiObject.redraw();

        }

    }

    return uiObject;
}