Example usage for com.google.gwt.aria.client Roles getRowRole

List of usage examples for com.google.gwt.aria.client Roles getRowRole

Introduction

In this page you can find the example usage for com.google.gwt.aria.client Roles getRowRole.

Prototype

public static RowRole getRowRole() 

Source Link

Usage

From source file:org.unitime.timetable.gwt.client.widgets.UniTimeTable.java

License:Apache License

public void setRow(int row, T data, List<? extends Widget> widgets) {
    SmartTableRow<T> oldRow = getSmartRow(row);
    if (oldRow != null && oldRow.getData() != null) {
        DataChangedEvent<T> event = new DataChangedEvent<T>(oldRow.getData(), row);
        for (DataChangedListener<T> listener : iDataChangedListeners)
            listener.onDataRemoved(event);
    }/* ww w . j  a  v  a  2  s.  c o m*/
    SmartTableRow smartRow = new SmartTableRow(data);
    int col = 0, x = 0;
    for (Widget widget : widgets) {
        SmartTableCell cell = new SmartTableCell(smartRow, widget);
        int colspan = 1;
        if (widget instanceof HasColSpan) {
            colspan = ((HasColSpan) widget).getColSpan();
            getFlexCellFormatter().setColSpan(row, col, colspan);
        }
        if (widget instanceof HasStyleName && ((HasStyleName) widget).getStyleName() != null)
            getFlexCellFormatter().setStyleName(row, col, ((HasStyleName) widget).getStyleName());
        if (widget instanceof HasAdditionalStyleNames) {
            List<String> styleNames = ((HasAdditionalStyleNames) widget).getAdditionalStyleNames();
            if (styleNames != null)
                for (String styleName : styleNames)
                    getFlexCellFormatter().addStyleName(row, col, styleName);
        }
        if (widget instanceof HasCellAlignment)
            getFlexCellFormatter().setHorizontalAlignment(row, col,
                    ((HasCellAlignment) widget).getCellAlignment());
        if (widget instanceof HasVerticalCellAlignment)
            getFlexCellFormatter().setVerticalAlignment(row, col,
                    ((HasVerticalCellAlignment) widget).getVerticalCellAlignment());
        if (widget instanceof HasColumn)
            ((HasColumn) widget).setColumn(col);
        setWidget(row, col, cell);
        if (widget instanceof UniTimeTableHeader) {
            Roles.getColumnheaderRole().set(getCellFormatter().getElement(row, col));
        } else {
            Roles.getGridcellRole().set(getCellFormatter().getElement(row, col));
        }
        x += colspan;
        if (row > 0) {
            if (colspan == 1) {
                getCellFormatter().setVisible(row, col, isColumnVisible(x - 1));
            } else {
                int span = 0;
                for (int h = x - colspan; h < x; h++)
                    if (isColumnVisible(h))
                        span++;
                getCellFormatter().setVisible(row, col, span > 0);
                getFlexCellFormatter().setColSpan(row, col, Math.max(1, span));
            }
        }
        col++;
    }
    Roles.getRowRole().set(getRowFormatter().getElement(row));
    if (data != null) {
        DataChangedEvent<T> event = new DataChangedEvent<T>(data, row);
        for (DataChangedListener<T> listener : iDataChangedListeners)
            listener.onDataInserted(event);
    }
}

From source file:org.unitime.timetable.gwt.client.widgets.WebTable.java

License:Apache License

public void setHeader(Row... header) {
    iHeader = header;//  w ww.  j a va  2 s  .  co  m
    for (int i = 0; i < header.length; i++) {
        for (int j = 0; j < header[i].getNrCells(); j++) {
            Cell cell = header[i].getCell(j);
            if (cell.getWidget() == null) {
                iTable.setHTML(i, j,
                        (cell.getValue() == null || cell.getValue().isEmpty() ? "&nbsp;" : cell.getValue()));
                if (cell.getAriaLabel() != null && !cell.getAriaLabel().isEmpty())
                    Roles.getGridcellRole().setAriaLabelProperty(iTable.getCellFormatter().getElement(i, j),
                            cell.getAriaLabel());
            } else
                iTable.setWidget(i, j, cell.getWidget());
            iTable.getFlexCellFormatter().setWordWrap(i, j, cell.getWordWrap());
            iTable.getFlexCellFormatter().setStyleName(i, j,
                    (cell.getStyleName() == null ? "unitime-TableHeader" : cell.getStyleName()));
            iTable.getFlexCellFormatter().setWidth(i, j,
                    (cell.getWidth() == null ? (100 / header.length) + "%" : cell.getWidth()));
            iTable.getFlexCellFormatter().setColSpan(i, j, cell.getColSpan());
            iTable.getFlexCellFormatter().setVerticalAlignment(i, j, cell.getVerticalAlignment());
            iTable.getFlexCellFormatter().setHorizontalAlignment(i, j, cell.getHorizontalAlignment());
            iTable.getFlexCellFormatter().getElement(i, j).setTitle(cell.getTitle());
            Roles.getColumnheaderRole().set(iTable.getCellFormatter().getElement(i, j));
        }
        Roles.getRowRole().set(iTable.getRowFormatter().getElement(i));

        if (header[i].getAriaLabel() != null && !header[i].getAriaLabel().isEmpty()) {
            iTable.setWidget(i, header[i].getNrCells(), new AriaHiddenLabel(header[i].getAriaLabel()));
        } else {
            iTable.setHTML(i, header[i].getNrCells(), "");
        }
        Roles.getRowheaderRole().set(iTable.getCellFormatter().getElement(i, header[i].getNrCells()));
        iTable.getFlexCellFormatter().setStyleName(i, header[i].getNrCells(), "unitime-TableHeader");
        iTable.getFlexCellFormatter().addStyleName(i, header[i].getNrCells(), "rowheader");
    }
}

From source file:org.unitime.timetable.gwt.client.widgets.WebTable.java

License:Apache License

public void setData(Row... rows) {
    setSelectedRow(-1);//from   ww  w  . j av a  2 s .  c o  m
    if (rows == null || rows.length == 0) {
        clearData(true);
        return;
    }
    clearData(rows.length);
    iRows = rows;
    for (int i = 0; i < iRows.length; i++) {
        if (iRows[i] == null)
            continue;
        iRows[i].setRowIdx(i);
        iRows[i].setTable(this);
        iTable.getRowFormatter().setStyleName(i + getHeaderRowsCount(), null);
        for (int j = 0; j < iRows[i].getNrCells(); j++) {
            Cell cell = iRows[i].getCell(j);
            cell.setColIdx(j);
            cell.setRow(iRows[i]);
            if (cell.getWidget() == null) {
                iTable.setHTML(i + getHeaderRowsCount(), j,
                        (cell.getValue() == null || cell.getValue().isEmpty() ? "&nbsp;" : cell.getValue()));
                if (cell.getAriaLabel() != null && !cell.getAriaLabel().isEmpty())
                    Roles.getGridcellRole().setAriaLabelProperty(
                            iTable.getCellFormatter().getElement(i + getHeaderRowsCount(), j),
                            cell.getAriaLabel());
            } else
                iTable.setWidget(i + getHeaderRowsCount(), j, cell.getWidget());
            iTable.getFlexCellFormatter().setWordWrap(i + getHeaderRowsCount(), j, cell.getWordWrap());
            iTable.getFlexCellFormatter().setColSpan(i + getHeaderRowsCount(), j, cell.getColSpan());
            iTable.getFlexCellFormatter().setStyleName(i + getHeaderRowsCount(), j, cell.getStyleName());
            iTable.getFlexCellFormatter().setWidth(i + getHeaderRowsCount(), j, cell.getWidth());
            iTable.getFlexCellFormatter().setVerticalAlignment(i + getHeaderRowsCount(), j,
                    cell.getVerticalAlignment());
            iTable.getFlexCellFormatter().setHorizontalAlignment(i + getHeaderRowsCount(), j,
                    cell.getHorizontalAlignment());
            iTable.getFlexCellFormatter().getElement(i + getHeaderRowsCount(), j).setTitle(cell.getTitle());
            Roles.getGridcellRole().set(iTable.getCellFormatter().getElement(i + getHeaderRowsCount(), j));
        }
        Roles.getRowRole().set(iTable.getRowFormatter().getElement(i + getHeaderRowsCount()));

        for (int j = iTable.getCellCount(i + getHeaderRowsCount()) - 1; j >= iRows[i].getNrCells(); j--)
            iTable.removeCell(i + getHeaderRowsCount(), j);

        if (iRows[i].getAriaLabel() != null && !iRows[i].getAriaLabel().isEmpty()) {
            iTable.setWidget(i + getHeaderRowsCount(), iRows[i].getNrCells(),
                    new AriaHiddenLabel(iRows[i].getAriaLabel()));
        } else {
            iTable.setHTML(i + getHeaderRowsCount(), iRows[i].getNrCells(), "");
        }
        Roles.getRowheaderRole()
                .set(iTable.getCellFormatter().getElement(i + getHeaderRowsCount(), iRows[i].getNrCells()));
        iTable.getFlexCellFormatter().setStyleName(i + getHeaderRowsCount(), iRows[i].getNrCells(),
                iRows[i].getCell(iRows[i].getNrCells() - 1).getStyleName());
        iTable.getFlexCellFormatter().addStyleName(i + getHeaderRowsCount(), iRows[i].getNrCells(),
                "rowheader");
    }
}