Example usage for com.google.gwt.user.cellview.client AbstractCellTable getColumn

List of usage examples for com.google.gwt.user.cellview.client AbstractCellTable getColumn

Introduction

In this page you can find the example usage for com.google.gwt.user.cellview.client AbstractCellTable getColumn.

Prototype

public Column<T, ?> getColumn(int col) 

Source Link

Document

Get the column at the specified index.

Usage

From source file:com.bearsoft.gwt.ui.widgets.grid.GridSection.java

@Override
protected void doSetColumnWidth(int index, String aValue) {
    if (index >= 0 && index < getColumnCount()) {
        super.doSetColumnWidth(index, aValue);
        if (columnsPartners != null) {
            for (AbstractCellTable<T> partner : columnsPartners) {
                if (index >= 0 && index < partner.getColumnCount()) {
                    Column<T, ?> col = partner.getColumn(index);
                    if (aValue == null) {
                        partner.clearColumnWidth(col);
                    } else {
                        partner.setColumnWidth(col, aValue);
                    }/*from w w  w  .j a  va2 s .co m*/
                }
            }
        }
        widthChanged();
    }
}

From source file:org.jbpm.console.ng.bd.client.util.DataGridUtils.java

License:Apache License

public static int getColumnWith(AbstractCellTable table, int col) {
    return getColumnWith(table, table.getColumn(col));
}

From source file:org.kaaproject.avro.ui.gwt.client.widget.grid.StringFilterHeaderBuilder.java

License:Apache License

@SuppressWarnings("unchecked")
@Override//  ww w. j av a 2s.  com
protected boolean buildHeaderOrFooterImpl() {
    boolean result = super.buildHeaderOrFooterImpl();
    AbstractCellTable<T> table = getTable();
    Header<?> prevHeader = getHeader(0);
    Style style = table.getResources().style();
    StringBuilder classesBuilder = new StringBuilder(style.header());
    classesBuilder.append(" ").append(Utils.avroUiStyle.fieldWidget());

    TableRowBuilder tr = startRow();
    for (int i = 0; i < table.getColumnCount(); i++) {
        appendExtraStyles(prevHeader, classesBuilder);
        TableCellBuilder th = tr.startTH().className(classesBuilder.toString());
        Column<T, ?> column = table.getColumn(i);
        Header<?> header = null;
        if (column instanceof FiltrableStringColumn) {
            StringFilterHeader filterHeader = new StringFilterHeader(grid, (FiltrableStringColumn<T>) column,
                    new Integer(i));

            Set<String> headerEvents = filterHeader.getCell().getConsumedEvents();
            Set<String> consumedEvents = new HashSet<String>();
            if (headerEvents != null) {
                consumedEvents.addAll(headerEvents);
            }
            sinkEvents(table, consumedEvents);
            header = filterHeader;
        } else {
            header = new SafeHtmlHeader(SafeHtmlUtils.fromSafeConstant(""));
        }
        Context context = new Context(0, 0, header.getKey());
        renderHeader(th, context, header);

        th.endTH();
    }
    tr.endTR();
    return result;
}

From source file:org.roda.wui.common.client.widgets.wcag.AccessibleHeaderOrFooterBuilder.java

@Override
protected boolean buildHeaderOrFooterImpl() {
    AbstractCellTable<T> table = getTable();
    boolean isFooter = isBuildingFooter();

    // Early exit if there aren't any columns to render.
    int columnCount = table.getColumnCount();
    if (columnCount == 0) {
        // Nothing to render
        return false;
    }//from   w ww.ja  va 2 s  .c  om

    // Early exit if there aren't any headers in the columns to render.
    boolean hasHeader = false;
    for (int i = 0; i < columnCount; i++) {
        if (getHeader(i) != null) {
            hasHeader = true;
            break;
        }
    }
    if (!hasHeader) {
        return false;
    }

    // Get information about the sorted column.
    ColumnSortList sortList = table.getColumnSortList();
    ColumnSortInfo sortedInfo = (sortList.size() == 0) ? null : sortList.get(0);
    Column<?, ?> sortedColumn = (sortedInfo == null) ? null : sortedInfo.getColumn();
    boolean isSortAscending = (sortedInfo == null) ? false : sortedInfo.isAscending();

    // Get the common style names.
    Style style = getTable().getResources().style();
    String className = isBuildingFooter() ? style.footer() : style.header();
    String sortableStyle = " " + style.sortableHeader();
    String sortedStyle = " "
            + (isSortAscending ? style.sortedHeaderAscending() : style.sortedHeaderDescending());

    // Setup the first column.
    Header<?> prevHeader = getHeader(0);
    Column<T, ?> column = getTable().getColumn(0);
    int prevColspan = 1;
    boolean isSortable = false;
    boolean isSorted = false;
    StringBuilder classesBuilder = new StringBuilder(className);
    classesBuilder.append(" " + (isFooter ? style.firstColumnFooter() : style.firstColumnHeader()));
    if (!isFooter && column.isSortable()) {
        isSortable = true;
        isSorted = (column == sortedColumn);
    }

    // Loop through all column headers.
    TableRowBuilder tr = startRow();
    int curColumn;
    for (curColumn = 1; curColumn < columnCount; curColumn++) {
        Header<?> header = getHeader(curColumn);

        if (header != prevHeader) {
            // The header has changed, so append the previous one.
            if (isSortable) {
                classesBuilder.append(sortableStyle);
            }
            if (isSorted) {
                classesBuilder.append(sortedStyle);
            }
            appendExtraStyles(prevHeader, classesBuilder);

            // Render the header.
            TableCellBuilder th = tr.startTH().colSpan(prevColspan).className(classesBuilder.toString());
            enableColumnHandlers(th, column);
            if (prevHeader != null) {
                // Build the header.
                Context context = new Context(0, curColumn - prevColspan, prevHeader.getKey());
                // Add div element with aria button role
                if (isSortable) {
                    // TODO: Figure out aria-label and translation of label text
                    th.attribute("role", "button");
                    th.tabIndex(-1);
                }
                updatedRenderSortableHeader(th, context, prevHeader, isSorted, isSortAscending);
            }
            th.endTH();

            // Reset the previous header.
            prevHeader = header;
            prevColspan = 1;
            classesBuilder = new StringBuilder(className);
            isSortable = false;
            isSorted = false;
        } else {
            // Increment the colspan if the headers == each other.
            prevColspan++;
        }

        // Update the sorted state.
        column = table.getColumn(curColumn);
        if (!isFooter && column.isSortable()) {
            isSortable = true;
            isSorted = (column == sortedColumn);
        }
    }

    // Append the last header.
    if (isSortable) {
        classesBuilder.append(sortableStyle);
    }
    if (isSorted) {
        classesBuilder.append(sortedStyle);
    }

    // The first and last columns could be the same column.
    classesBuilder.append(" ").append(isFooter ? style.lastColumnFooter() : style.lastColumnHeader());
    appendExtraStyles(prevHeader, classesBuilder);

    // Render the last header.
    TableCellBuilder th = tr.startTH().colSpan(prevColspan).className(classesBuilder.toString());
    enableColumnHandlers(th, column);
    if (prevHeader != null) {
        Context context = new Context(0, curColumn - prevColspan, prevHeader.getKey());
        updatedRenderSortableHeader(th, context, prevHeader, isSorted, isSortAscending);
    }
    th.endTH();

    // End the row.
    tr.endTR();

    return true;
}