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

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

Introduction

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

Prototype

public void setResizePolicy(ResizePolicy resizePolicy) 

Source Link

Document

Set the resize policy of the table.

Usage

From source file:com.google.gwt.gen2.demo.scrolltable.client.ScrollTableDemo.java

License:Apache License

/**
 * Setup the scroll table./* w w w.  ja  va  2s . com*/
 */
protected AbstractScrollTable createScrollTable() {
    // Create the three component tables
    FixedWidthFlexTable headerTable = createHeaderTable();
    FixedWidthFlexTable footerTable = createFooterTable();
    FixedWidthGrid dataTable = createDataTable();

    // Create the scroll table
    ScrollTable theScrollTable = new ScrollTable(dataTable, headerTable);
    theScrollTable.setFooterTable(footerTable);

    // Setup the formatting
    theScrollTable.setCellPadding(3);
    theScrollTable.setCellSpacing(0);
    theScrollTable.setResizePolicy(ScrollTable.ResizePolicy.FILL_WIDTH);

    // first name
    theScrollTable.setMinimumColumnWidth(0, 50);
    theScrollTable.setPreferredColumnWidth(0, 100);
    theScrollTable.setColumnTruncatable(0, false);

    // last name
    theScrollTable.setMinimumColumnWidth(1, 50);
    theScrollTable.setPreferredColumnWidth(1, 100);
    theScrollTable.setColumnTruncatable(1, false);

    // age
    theScrollTable.setMinimumColumnWidth(2, 35);
    theScrollTable.setPreferredColumnWidth(2, 35);
    theScrollTable.setMaximumColumnWidth(2, 35);

    // gender
    theScrollTable.setMinimumColumnWidth(3, 45);
    theScrollTable.setPreferredColumnWidth(3, 45);
    theScrollTable.setMaximumColumnWidth(3, 45);

    // race
    theScrollTable.setMinimumColumnWidth(4, 45);
    theScrollTable.setPreferredColumnWidth(4, 45);
    theScrollTable.setMaximumColumnWidth(4, 45);

    // color
    theScrollTable.setPreferredColumnWidth(5, 80);

    // sport
    theScrollTable.setMinimumColumnWidth(6, 40);
    theScrollTable.setPreferredColumnWidth(6, 110);

    // college
    theScrollTable.setMinimumColumnWidth(7, 50);
    theScrollTable.setPreferredColumnWidth(7, 180);
    theScrollTable.setMaximumColumnWidth(7, 250);

    // year
    theScrollTable.setPreferredColumnWidth(8, 25);
    theScrollTable.setColumnTruncatable(8, false);

    // gpa
    theScrollTable.setPreferredColumnWidth(9, 35);
    theScrollTable.setColumnTruncatable(9, false);

    // id
    theScrollTable.setPreferredColumnWidth(10, 55);
    theScrollTable.setColumnTruncatable(10, false);

    // pin
    theScrollTable.setPreferredColumnWidth(11, 45);
    theScrollTable.setColumnTruncatable(11, false);

    return theScrollTable;
}

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//  w  w w  . j a v  a  2 s  . c o m
                    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;
}

From source file:org.gwtaf.widgets.search.SearchResultScrollTable.java

License:Apache License

private void setValue(List<SearchResult> results, boolean saveFullResult) {

    // store the full results if necessary.
    if (saveFullResult) {
        fullResults = new DynamicSearchResults();
        fullResults.setResults(results);
    }//from   w w w.j a  va2 s.  c  o  m

    // nothing to do if there are no results.
    if (results == null) {
        return;
    }

    // figure out how many columns we'll need
    int neededColumns = results.size() == 0 ? 0 : results.get(0).getDataValues().length;

    // make a new data grid
    this.dataGrid = createDataGrid(results.size(), neededColumns);
    dataGrid.setCellSpacing(0);

    // pass on the cell selection handler
    dataGrid.addCellClickHandler(clickHandler);

    // pass on the handler
    dataGrid.addRowSelectionHandler(rowSelectionHandler);

    // add handler for sorting
    dataGrid.addColumnSortHandler(new ColumnSortHandler() {

        public void onColumnSorted(ColumnSortEvent event) {
            lastSortedColumn = event.getColumnSortList().getPrimaryColumn();
            lastSortDirection = event.getColumnSortList().isPrimaryAscending();
            markOdd();
        }
    });

    int dataGridIndex = 0;

    // set the values into the list
    for (int i = 0; i < results.size(); i++) {

        // if not null
        if (results.get(i) != null) {
            setSingleResult(results.get(i), dataGridIndex);
            dataGridIndex++;
        }
    }

    /**
     * Creating a new header table. Cannot re-use the old one due to
     * scrolltable not supporting remove. (one parent widget constraint)
     */
    FixedWidthFlexTable newHeaderTable = new FixedWidthFlexTable();
    for (int i = 0; i < headerTable.getColumnCount(); i++) {
        newHeaderTable.setHTML(0, i, headerTable.getHTML(0, i));
    }

    // replace the scrolltable
    ScrollTable newTable = new ScrollTable(dataGrid, newHeaderTable);
    newTable.setSortPolicy(SortPolicy.SINGLE_CELL);
    newTable.setResizePolicy(ScrollTable.ResizePolicy.FILL_WIDTH);
    this.scrollTable = newTable;
    mainPanel.clear();
    mainPanel.setWidget(0, 0, newTable);
}