Example usage for com.google.gwt.gen2.table.client DefaultRowRenderer DefaultRowRenderer

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

Introduction

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

Prototype

public DefaultRowRenderer() 

Source Link

Document

Construct a new DefaultRowRenderer .

Usage

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

License:Apache License

public static TableDefinition<DataContainerGVO> createTableDefinition(final DataGridGVO source,
        final DataGridColumnGVO[] dataGridColumnGVOs, final String uuid, final String parent,
        final HasDataGridMethods parentWidget) {
    // Create the table definition
    final DefaultTableDefinition<DataContainerGVO> tableDefinition = new DefaultTableDefinition<DataContainerGVO>();

    // Set the row renderer
    if (source.getRowColors() != null && source.getRowColors().length > 0) {
        tableDefinition.setRowRenderer(new QDefaultRowRenderer<DataContainerGVO>(source.getRowColors()));

    } else {//w  ww  .j av  a2 s .  c  o m
        tableDefinition.setRowRenderer(new DefaultRowRenderer<DataContainerGVO>());
    }

    final ArrayList<DataGridColumnGVO> copyDataGridColumnGVOs = new ArrayList<DataGridColumnGVO>();

    // Column to show the status of the row visibly
    if ((source.getAdd() || source.getDelete() || source.getEditable()) && dataGridColumnGVOs != null
            && !DataMap.ROW_NUMBER.equals(dataGridColumnGVOs[0].getFieldName())) {
        final DataGridColumnGVO rowNumberDataGridColumnGVO = new DataGridColumnGVO();
        final LabelGVO rowNumberLabel = new LabelGVO();
        rowNumberDataGridColumnGVO.setComponent(rowNumberLabel);
        rowNumberDataGridColumnGVO.setFieldName(DataMap.ROW_NUMBER);
        rowNumberDataGridColumnGVO.setWidth("25");
        rowNumberDataGridColumnGVO.setContainerName(source.getId());
        rowNumberDataGridColumnGVO.setContext(source.getContext());
        resolveEvents4RowNumber(rowNumberDataGridColumnGVO, source);
        copyDataGridColumnGVOs.add(rowNumberDataGridColumnGVO);
    }

    if (dataGridColumnGVOs != null) {
        for (final DataGridColumnGVO dgColumnGVO : dataGridColumnGVOs) {
            copyDataGridColumnGVOs.add(dgColumnGVO);
        }
    }

    DataGridColumnGVO[] dataGridColumnGVOsArray = new DataGridColumnGVO[copyDataGridColumnGVOs.size()];
    dataGridColumnGVOsArray = copyDataGridColumnGVOs.toArray(dataGridColumnGVOsArray);
    if (dataGridColumnGVOs != null) { // If there are columns defined
        source.setColumns(dataGridColumnGVOsArray);
    }

    if (copyDataGridColumnGVOs != null) {
        for (int i = 0; i < dataGridColumnGVOsArray.length; i++) {
            final DataGridColumnGVO dataGridColumnGVO = dataGridColumnGVOsArray[i];
            if (dataGridColumnGVO.isQafeChecksum()) {
                continue;
            }
            final String columnName = dataGridColumnGVO.getFieldName();
            final String columnWidth = dataGridColumnGVO.getWidth();
            final Boolean columnVisible = dataGridColumnGVO.getVisible();

            final QColumnDefinition columnDef = new QColumnDefinition();
            columnDef.setField(columnName);
            columnDef.setIdentifyingField(dataGridColumnGVO.getIdentifyingField());
            columnDef.setColumnSortable(dataGridColumnGVO.getSortable());
            if (columnWidth != null && columnWidth.length() > 0) {
                try {
                    columnDef.setPreferredColumnWidth(Integer.parseInt(columnWidth));
                } catch (final Exception e) {
                    ClientApplicationContext.getInstance()
                            .log("Could not parse column width for datagrid (id" + source.getId()
                                    + ") or name (" + source.getFieldName() + ") for column (id="
                                    + dataGridColumnGVO.getId() + ",name=" + columnName + ")");
                }
            }

            tableDefinition.addColumnDefinition(columnDef);
            if ((columnVisible != null) && !columnVisible) {
                tableDefinition.setColumnVisible(columnDef, columnVisible);
            }

            final CellRenderer<DataContainerGVO, String> cellRenderer = CellRendererHelper
                    .getCellRenderer(source, dataGridColumnGVO, uuid, parent, parentWidget);
            if (cellRenderer != null) {
                columnDef.setCellRenderer(cellRenderer);
            }
            final CellCleaner cellCleaner = CellRendererHelper.getCellCleaner(source, dataGridColumnGVO, uuid,
                    parent, parentWidget);
            columnDef.setCellCleaner(cellCleaner);
        }
    }
    return tableDefinition;
}