Example usage for com.google.gwt.gen2.table.client FixedWidthGrid resizeColumns

List of usage examples for com.google.gwt.gen2.table.client FixedWidthGrid resizeColumns

Introduction

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

Prototype

@Override
    public void resizeColumns(int columns) 

Source Link

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;/*from  w  ww.  j a  v  a2s.  c  o  m*/
    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
                    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;
}