Example usage for com.google.gwt.user.cellview.client ColumnSortList.ColumnSortInfo ColumnSortList.ColumnSortInfo

List of usage examples for com.google.gwt.user.cellview.client ColumnSortList.ColumnSortInfo ColumnSortList.ColumnSortInfo

Introduction

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

Prototype

public ColumnSortInfo(Column<?, ?> column, boolean ascending) 

Source Link

Document

Construct a new ColumnSortInfo .

Usage

From source file:org.jbpm.datamodeler.editor.client.editors.DataModelBrowser.java

License:Apache License

public void setDataModel(DataModelTO dataModel) {
    this.dataModel = dataModel;
    this.dataObjects = dataModel.getDataObjects();
    modelName.setText(dataModel.getName());

    // We create a new selection model due to a bug found in GWT when we change e.g. from one data object with 9 rows
    // to one with 3 rows and the table was sorted.
    // Several tests has been done and the final workaround (not too bad) we found is to
    //  1) sort the table again
    //  2) create a new selection model
    //  3) populate the table with new items
    //  3) select the first row

    SingleSelectionModel selectionModel2 = new SingleSelectionModel<DataObjectTO>();
    dataObjectsTable.setSelectionModel(selectionModel2);

    selectionModel2.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {

        @Override//  w w  w . j a va  2 s  .c o m
        public void onSelectionChange(SelectionChangeEvent event) {
            if (!skipNextOnChange) {
                DataObjectTO selectedObjectTO = ((SingleSelectionModel<DataObjectTO>) dataObjectsTable
                        .getSelectionModel()).getSelectedObject();
                notifyObjectSelected(selectedObjectTO);
            }
            skipNextOnChange = false;
        }
    });

    ArrayList<DataObjectTO> sortBuffer = new ArrayList<DataObjectTO>();
    sortBuffer.addAll(dataObjects);
    Collections.sort(sortBuffer, new DataObjectComparator());

    dataObjectsProvider.getList().clear();
    dataObjectsProvider.getList().addAll(sortBuffer);
    dataObjectsProvider.flush();
    dataObjectsProvider.refresh();

    dataObjectsTable.getColumnSortList()
            .push(new ColumnSortList.ColumnSortInfo(dataObjectsTable.getColumn(1), true));

    if (dataObjects.size() > 0) {
        dataObjectsTable.setKeyboardSelectedRow(0);
        selectionModel2.setSelected(sortBuffer.get(0), true);
    }

    // Set the first row selected again. Sounds crazy, but it's part of the workaround, don't remove this line.
    if (dataObjects.size() > 0) {
        dataObjectsTable.setKeyboardSelectedRow(0);
    }
}

From source file:org.jbpm.datamodeler.editor.client.editors.DataObjectBrowser.java

License:Apache License

private void setDataObject(DataObjectTO dataObject) {
    this.dataObject = dataObject;
    objectName.setText(dataObject.getName() + "::" + dataObject.getPackageName());

    //We create a new selection model due to a bug found in GWT when we change e.g. from one data object with 9 rows
    // to one with 3 rows and the table was sorted.
    //Several tests has been done and the final workaround (not too bad) we found is to
    // 1) sort the table again
    // 2) create a new selection model
    // 3) populate the table with new items
    // 3) select the first row
    SingleSelectionModel selectionModel2 = new SingleSelectionModel<ObjectPropertyTO>();
    dataObjectPropertiesTable.setSelectionModel(selectionModel2);

    selectionModel2.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {

        @Override//  www  . ja va  2s  .  c o  m
        public void onSelectionChange(SelectionChangeEvent event) {
            ObjectPropertyTO selectedPropertyTO = ((SingleSelectionModel<ObjectPropertyTO>) dataObjectPropertiesTable
                    .getSelectionModel()).getSelectedObject();
            notifyFieldSelected(selectedPropertyTO);
        }
    });

    ArrayList<ObjectPropertyTO> sortBuffer = new ArrayList<ObjectPropertyTO>();
    sortBuffer.addAll(dataObject.getProperties());
    Collections.sort(sortBuffer, new ObjectPropertyComparator("name"));

    dataObjectProperties = dataObject.getProperties();
    dataObjectPropertiesProvider.getList().clear();
    dataObjectPropertiesProvider.getList().addAll(sortBuffer);
    dataObjectPropertiesProvider.flush();
    dataObjectPropertiesProvider.refresh();

    dataObjectPropertiesTable.getColumnSortList()
            .push(new ColumnSortList.ColumnSortInfo(dataObjectPropertiesTable.getColumn(1), true));

    if (dataObjectProperties.size() > 0) {
        dataObjectPropertiesTable.setKeyboardSelectedRow(0);
        selectionModel2.setSelected(sortBuffer.get(0), true);
    }

    //set the first row selected again. Sounds crazy, but's part of the workaround, don't remove this line.
    if (dataObjectProperties.size() > 0) {
        dataObjectPropertiesTable.setKeyboardSelectedRow(0);
    }

    if (dataObjectProperties.size() == 0) {
        //there are no properties.
        //fire an empty property seleccion event in order to notify the
        notifyFieldSelected(null);
    }
}

From source file:org.kie.workbench.common.screens.datamodeller.client.widgets.DataModelBrowser.java

License:Apache License

private void loadDataModel(DataModelTO dataModel) {
    this.dataObjects = dataModel.getDataObjects();
    modelName.setText(dataModel.getName());

    // We create a new selection model due to a bug found in GWT when we change e.g. from one data object with 9 rows
    // to one with 3 rows and the table was sorted.
    // Several tests has been done and the final workaround (not too bad) we found is to
    //  1) sort the table again
    //  2) create a new selection model
    //  3) populate the table with new items
    //  3) select the first row

    SingleSelectionModel selectionModel2 = new SingleSelectionModel<DataObjectTO>();
    dataObjectsTable.setSelectionModel(selectionModel2);

    selectionModel2.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {

        @Override//from  w  w  w .  j  av a2s  .  co  m
        public void onSelectionChange(SelectionChangeEvent event) {
            if (!skipNextOnChange) {
                DataObjectTO selectedObjectTO = ((SingleSelectionModel<DataObjectTO>) dataObjectsTable
                        .getSelectionModel()).getSelectedObject();
                notifyObjectSelected(selectedObjectTO);
            }
            skipNextOnChange = false;
        }
    });

    ArrayList<DataObjectTO> sortBuffer = new ArrayList<DataObjectTO>();
    sortBuffer.addAll(dataObjects);
    Collections.sort(sortBuffer, new DataObjectComparator());

    dataObjectsProvider.getList().clear();
    dataObjectsProvider.getList().addAll(sortBuffer);
    dataObjectsProvider.flush();
    dataObjectsProvider.refresh();

    dataObjectsTable.getColumnSortList()
            .push(new ColumnSortList.ColumnSortInfo(dataObjectsTable.getColumn(1), true));

    if (dataObjects.size() > 0) {
        dataObjectsTable.setKeyboardSelectedRow(0);
        selectionModel2.setSelected(sortBuffer.get(0), true);
    }

    // Set the first row selected again. Sounds crazy, but it's part of the workaround, don't remove this line.
    if (dataObjects.size() > 0) {
        dataObjectsTable.setKeyboardSelectedRow(0);
    }
}