Example usage for com.google.gwt.user.cellview.client ColumnSortEvent.ListHandler ColumnSortEvent.ListHandler

List of usage examples for com.google.gwt.user.cellview.client ColumnSortEvent.ListHandler ColumnSortEvent.ListHandler

Introduction

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

Prototype

public ListHandler(List<T> list) 

Source Link

Usage

From source file:com.jitlogic.zico.client.views.traces.TraceSearchPanel.java

License:Open Source License

private void createTraceGrid() {
    grid = new DataGrid<TraceInfo>(1024 * 1024, ZicoDataGridResources.INSTANCE, KEY_PROVIDER);
    selection = new SingleSelectionModel<TraceInfo>(KEY_PROVIDER);
    grid.setSelectionModel(selection);/*from  ww w .j  a va2s .c  om*/

    data = new ListDataProvider<TraceInfo>();
    data.addDataDisplay(grid);

    sortHandler = new ColumnSortEvent.ListHandler<TraceInfo>(data.getList());
    grid.addColumnSortHandler(sortHandler);

    Column<TraceInfo, TraceInfo> colExpander = new IdentityColumn<TraceInfo>(DETAIL_EXPANDER_CELL);
    grid.addColumn(colExpander, "#");
    grid.setColumnWidth(colExpander, 32, Style.Unit.PX);

    Column<TraceInfo, TraceInfo> colTraceClock = new IdentityColumn<TraceInfo>(TRACE_CLOCK_CELL);
    grid.addColumn(colTraceClock, new ResizableHeader<TraceInfo>("Clock", grid, colTraceClock));
    grid.setColumnWidth(colTraceClock, 140, Style.Unit.PX);

    colTraceClock.setSortable(true);
    sortHandler.setComparator(colTraceClock, new Comparator<TraceInfo>() {
        @Override
        public int compare(TraceInfo o1, TraceInfo o2) {
            return (int) (o1.getClock() - o2.getClock());
        }
    });

    Column<TraceInfo, TraceInfo> colTraceType = new IdentityColumn<TraceInfo>(TRACE_TYPE_CELL);
    grid.addColumn(colTraceType, new ResizableHeader<TraceInfo>("Type", grid, colTraceType));
    grid.setColumnWidth(colTraceType, 60, Style.Unit.PX);

    Column<TraceInfo, TraceInfo> colTraceDuration = new IdentityColumn<TraceInfo>(TRACE_DURATION_CELL);
    grid.addColumn(colTraceDuration, new ResizableHeader<TraceInfo>("Time", grid, colTraceDuration));
    grid.setColumnWidth(colTraceDuration, 64, Style.Unit.PX);
    colTraceDuration.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);

    colTraceDuration.setSortable(true);
    sortHandler.setComparator(colTraceDuration, new Comparator<TraceInfo>() {
        @Override
        public int compare(TraceInfo o1, TraceInfo o2) {
            return (int) ((o1.getExecutionTime() - o2.getExecutionTime()) / 1000000L);
        }
    });

    Column<TraceInfo, TraceInfo> colTraceCalls = new IdentityColumn<TraceInfo>(TRACE_CALLS_CELL);
    grid.addColumn(colTraceCalls, new ResizableHeader<TraceInfo>("Calls", grid, colTraceCalls));
    grid.setColumnWidth(colTraceCalls, 50, Style.Unit.PX);

    colTraceCalls.setSortable(true);
    sortHandler.setComparator(colTraceCalls, new Comparator<TraceInfo>() {
        @Override
        public int compare(TraceInfo o1, TraceInfo o2) {
            return (int) (o1.getCalls() - o2.getCalls());
        }
    });

    Column<TraceInfo, TraceInfo> colTraceErrors = new IdentityColumn<TraceInfo>(TRACE_ERRORS_CELL);
    grid.addColumn(colTraceErrors, new ResizableHeader<TraceInfo>("Errs", grid, colTraceErrors));
    grid.setColumnWidth(colTraceErrors, 50, Style.Unit.PX);

    colTraceErrors.setSortable(true);
    sortHandler.setComparator(colTraceErrors, new Comparator<TraceInfo>() {
        @Override
        public int compare(TraceInfo o1, TraceInfo o2) {
            return (int) (o1.getErrors() - o2.getErrors());
        }
    });

    Column<TraceInfo, TraceInfo> colTraceRecords = new IdentityColumn<TraceInfo>(TRACE_RECORDS_CELL);
    grid.addColumn(colTraceRecords, new ResizableHeader<TraceInfo>("Recs", grid, colTraceRecords));
    grid.setColumnWidth(colTraceRecords, 50, Style.Unit.PX);

    colTraceRecords.setSortable(true);
    sortHandler.setComparator(colTraceRecords, new Comparator<TraceInfo>() {
        @Override
        public int compare(TraceInfo o1, TraceInfo o2) {
            return (int) (o1.getRecords() - o2.getRecords());
        }
    });

    Column<TraceInfo, TraceInfo> colTraceDesc = new IdentityColumn<TraceInfo>(TRACE_NAME_CELL);
    grid.addColumn(colTraceDesc, "Description");
    grid.setColumnWidth(colTraceDesc, 100, Style.Unit.PCT);

    rowBuilder = new TraceSearchTableBuilder(grid, expandedDetails);
    grid.setTableBuilder(rowBuilder);

    grid.setSkipRowHoverStyleUpdate(true);
    grid.setSkipRowHoverFloatElementCheck(true);
    grid.setSkipRowHoverCheck(true);
    grid.setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.DISABLED);

    grid.addCellPreviewHandler(new CellPreviewEvent.Handler<TraceInfo>() {
        @Override
        public void onCellPreview(CellPreviewEvent<TraceInfo> event) {
            NativeEvent nev = event.getNativeEvent();
            String eventType = nev.getType();
            if ((BrowserEvents.KEYDOWN.equals(eventType) && nev.getKeyCode() == KeyCodes.KEY_ENTER)
                    || BrowserEvents.DBLCLICK.equals(nev.getType())) {
                selection.setSelected(event.getValue(), true);
                openDetailView();
            }
            if (BrowserEvents.CONTEXTMENU.equals(eventType)) {
                selection.setSelected(event.getValue(), true);
                if (selection.getSelectedObject() != null) {
                    contextMenu.setPopupPosition(event.getNativeEvent().getClientX(),
                            event.getNativeEvent().getClientY());
                    contextMenu.show();
                }
            }
        }
    });

    grid.addDomHandler(new DoubleClickHandler() {
        @Override
        public void onDoubleClick(DoubleClickEvent event) {
            event.preventDefault();
        }
    }, DoubleClickEvent.getType());
    grid.addDomHandler(new ContextMenuHandler() {
        @Override
        public void onContextMenu(ContextMenuEvent event) {
            event.preventDefault();
        }
    }, ContextMenuEvent.getType());
}

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

License:Apache License

public DataModelBrowser() {
    initWidget(uiBinder.createAndBindUi(this));

    modelName.setText(Constants.INSTANCE.modelBrowser_modelUnknown());

    dataObjectsProvider.setList(dataObjects);
    dataObjectsTable.setEmptyTableWidget(
            new com.github.gwtbootstrap.client.ui.Label(Constants.INSTANCE.modelBrowser_emptyTable()));

    // Init delete column
    ClickableImageResourceCell clickableImageResourceCell = new ClickableImageResourceCell(true);
    final TooltipCellDecorator<ImageResource> decorator = new TooltipCellDecorator<ImageResource>(
            clickableImageResourceCell);
    decorator.setText(Constants.INSTANCE.modelBrowser_action_deleteDataObject());

    final Column<DataObjectTO, ImageResource> deleteDataObjectColumnImg = new Column<DataObjectTO, ImageResource>(
            decorator) {/*from www  .j av a 2s  .co  m*/
        @Override
        public ImageResource getValue(final DataObjectTO global) {
            return ImagesResources.INSTANCE.Delete();
        }
    };

    deleteDataObjectColumnImg.setFieldUpdater(new FieldUpdater<DataObjectTO, ImageResource>() {
        public void update(final int index, final DataObjectTO object, final ImageResource value) {
            deleteDataObject(object, index);
        }
    });

    dataObjectsTable.addColumn(deleteDataObjectColumnImg);
    dataObjectsTable.setColumnWidth(deleteDataObjectColumnImg, 20, Style.Unit.PX);

    // Init data object column
    final TextColumn<DataObjectTO> dataObjectColumn = new TextColumn<DataObjectTO>() {

        @Override
        public void render(Cell.Context context, DataObjectTO object, SafeHtmlBuilder sb) {
            SafeHtml startDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "<div style=\"cursor: pointer;\">";
                }
            };
            SafeHtml endDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "</div>";
                }
            };

            sb.append(startDiv);
            super.render(context, object, sb);
            sb.append(endDiv);
        }

        @Override
        public String getValue(final DataObjectTO dataObject) {
            return dataObject.getName();
        }
    };
    dataObjectColumn.setSortable(true);
    dataObjectsTable.addColumn(dataObjectColumn, Constants.INSTANCE.modelBrowser_columnName());

    ColumnSortEvent.ListHandler<DataObjectTO> dataObjectNameColHandler = new ColumnSortEvent.ListHandler<DataObjectTO>(
            dataObjectsProvider.getList());
    dataObjectNameColHandler.setComparator(dataObjectColumn, new DataObjectComparator());
    dataObjectsTable.addColumnSortHandler(dataObjectNameColHandler);
    dataObjectsTable.getColumnSortList().push(dataObjectColumn);

    //Init the selection model
    SingleSelectionModel<DataObjectTO> selectionModel = new SingleSelectionModel<DataObjectTO>();
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {

        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            if (!skipNextOnChange) {
                DataObjectTO selectedObjectTO = ((SingleSelectionModel<DataObjectTO>) dataObjectsTable
                        .getSelectionModel()).getSelectedObject();
                notifyObjectSelected(selectedObjectTO);
            }
            skipNextOnChange = false;
        }
    });

    dataObjectsTable
            .setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.BOUND_TO_SELECTION);
    dataObjectsTable.setSelectionModel(selectionModel);

    dataObjectsProvider.addDataDisplay(dataObjectsTable);
    dataObjectsProvider.refresh();

    newEntityButton.setIcon(IconType.PLUS_SIGN);
}

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

License:Apache License

public DataObjectBrowser() {
    initWidget(uiBinder.createAndBindUi(this));

    objectName.setText(Constants.INSTANCE.objectEditor_objectUnknown());
    dataObjectPropertiesProvider.setList(dataObjectProperties);

    //Init data objects table

    dataObjectPropertiesTable.setEmptyTableWidget(
            new com.github.gwtbootstrap.client.ui.Label(Constants.INSTANCE.objectEditor_emptyTable()));

    //Init delete column
    ClickableImageResourceCell clickableImageResourceCell = new ClickableImageResourceCell(true);
    final TooltipCellDecorator<ImageResource> decorator = new TooltipCellDecorator<ImageResource>(
            clickableImageResourceCell);
    decorator.setText(Constants.INSTANCE.objectEditor_action_deleteProperty());

    final Column<ObjectPropertyTO, ImageResource> deletePropertyColumnImg = new Column<ObjectPropertyTO, ImageResource>(
            decorator) {//from   w w w .j a  v a  2s. c o m
        @Override
        public ImageResource getValue(final ObjectPropertyTO global) {
            return ImagesResources.INSTANCE.Delete();
        }
    };

    deletePropertyColumnImg.setFieldUpdater(new FieldUpdater<ObjectPropertyTO, ImageResource>() {
        public void update(final int index, final ObjectPropertyTO property, final ImageResource value) {

            deleteDataObjectProperty(property, index);
        }
    });

    dataObjectPropertiesTable.addColumn(deletePropertyColumnImg);
    dataObjectPropertiesTable.setColumnWidth(deletePropertyColumnImg, 20, Style.Unit.PX);

    //Init property name column

    final TextColumn<ObjectPropertyTO> propertyNameColumn = new TextColumn<ObjectPropertyTO>() {

        @Override
        public void render(Cell.Context context, ObjectPropertyTO object, SafeHtmlBuilder sb) {
            SafeHtml startDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "<div style=\"cursor: pointer;\">";
                }
            };
            SafeHtml endDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "</div>";
                }
            };

            sb.append(startDiv);
            super.render(context, object, sb);
            sb.append(endDiv);
        }

        @Override
        public String getValue(final ObjectPropertyTO objectProperty) {
            return objectProperty.getName();
        }
    };

    propertyNameColumn.setSortable(true);
    dataObjectPropertiesTable.addColumn(propertyNameColumn, Constants.INSTANCE.objectEditor_columnName());
    //dataObjectPropertiesTable.setColumnWidth(propertyNameColumn, 100, Style.Unit.PX);

    ColumnSortEvent.ListHandler<ObjectPropertyTO> propertyNameColHandler = new ColumnSortEvent.ListHandler<ObjectPropertyTO>(
            dataObjectPropertiesProvider.getList());
    propertyNameColHandler.setComparator(propertyNameColumn, new ObjectPropertyComparator("name"));
    dataObjectPropertiesTable.addColumnSortHandler(propertyNameColHandler);

    //Init property type column
    final Column<ObjectPropertyTO, String> propertyTypeColumn = new Column<ObjectPropertyTO, String>(typeCell) {

        @Override
        public String getValue(final ObjectPropertyTO objectProperty) {
            return propertyTypeDisplay(objectProperty);
        }

    };
    propertyTypeColumn.setSortable(true);
    dataObjectPropertiesTable.addColumn(propertyTypeColumn, Constants.INSTANCE.objectEditor_columnType());
    //dataObjectPropertiesTable.setColumnWidth(propertyTypeColumn, 100, Style.Unit.PX);

    ColumnSortEvent.ListHandler<ObjectPropertyTO> propertyTypeColHandler = new ColumnSortEvent.ListHandler<ObjectPropertyTO>(
            dataObjectPropertiesProvider.getList());
    propertyTypeColHandler.setComparator(propertyTypeColumn, new ObjectPropertyComparator("className"));
    dataObjectPropertiesTable.addColumnSortHandler(propertyTypeColHandler);

    dataObjectPropertiesTable.getColumnSortList().push(propertyTypeColumn);
    dataObjectPropertiesTable.getColumnSortList().push(propertyNameColumn);

    //Init the selection model
    SingleSelectionModel<ObjectPropertyTO> selectionModel = new SingleSelectionModel<ObjectPropertyTO>();
    dataObjectPropertiesTable.setSelectionModel(selectionModel);
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {

        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            ObjectPropertyTO selectedPropertyTO = ((SingleSelectionModel<ObjectPropertyTO>) dataObjectPropertiesTable
                    .getSelectionModel()).getSelectedObject();
            notifyFieldSelected(selectedPropertyTO);
        }
    });

    dataObjectPropertiesTable
            .setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.BOUND_TO_SELECTION);

    dataObjectPropertiesProvider.addDataDisplay(dataObjectPropertiesTable);
    dataObjectPropertiesProvider.refresh();

    newPropertyIsMultiple.setVisible(false);
    newPropertyIsMultiple.setValue(false);
    newPropertyBasicType.setValue(true);
    newPropertyButton.setIcon(IconType.PLUS_SIGN);
}

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

License:Apache License

public DataModelBrowser() {
    initWidget(uiBinder.createAndBindUi(this));

    modelName.setText(Constants.INSTANCE.modelBrowser_modelUnknown());

    dataObjectsProvider.setList(dataObjects);
    dataObjectsTable.setEmptyTableWidget(
            new com.github.gwtbootstrap.client.ui.Label(Constants.INSTANCE.modelBrowser_emptyTable()));

    // Init delete column
    ClickableImageResourceCell clickableImageResourceCell = new ClickableImageResourceCell(true);
    final TooltipCellDecorator<ImageResource> decorator = new TooltipCellDecorator<ImageResource>(
            clickableImageResourceCell);
    decorator.setText(Constants.INSTANCE.modelBrowser_action_deleteDataObject());

    final Column<DataObjectTO, ImageResource> deleteDataObjectColumnImg = new Column<DataObjectTO, ImageResource>(
            decorator) {//w  w w .j  a va2 s . c o m
        @Override
        public ImageResource getValue(final DataObjectTO global) {
            return ImagesResources.INSTANCE.Delete();
        }
    };

    deleteDataObjectColumnImg.setFieldUpdater(new FieldUpdater<DataObjectTO, ImageResource>() {
        public void update(final int index, final DataObjectTO object, final ImageResource value) {
            deleteDataObject(object, index);
        }
    });

    dataObjectsTable.addColumn(deleteDataObjectColumnImg);
    dataObjectsTable.setColumnWidth(deleteDataObjectColumnImg, 20, Style.Unit.PX);

    // Init data object column
    final TextColumn<DataObjectTO> dataObjectColumn = new TextColumn<DataObjectTO>() {

        @Override
        public void render(Cell.Context context, DataObjectTO object, SafeHtmlBuilder sb) {
            SafeHtml startDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "<div style=\"cursor: pointer;\">";
                }
            };
            SafeHtml endDiv = new SafeHtml() {
                @Override
                public String asString() {
                    return "</div>";
                }
            };

            sb.append(startDiv);
            super.render(context, object, sb);
            sb.append(endDiv);
        }

        @Override
        public String getValue(final DataObjectTO dataObject) {
            return DataModelerUtils.getDataObjectUILabel(dataObject);
        }
    };
    dataObjectColumn.setSortable(true);
    dataObjectsTable.addColumn(dataObjectColumn, Constants.INSTANCE.modelBrowser_columnName());

    ColumnSortEvent.ListHandler<DataObjectTO> dataObjectNameColHandler = new ColumnSortEvent.ListHandler<DataObjectTO>(
            dataObjectsProvider.getList());
    dataObjectNameColHandler.setComparator(dataObjectColumn, new DataObjectComparator());
    dataObjectsTable.addColumnSortHandler(dataObjectNameColHandler);
    dataObjectsTable.getColumnSortList().push(dataObjectColumn);

    //Init the selection model
    SingleSelectionModel<DataObjectTO> selectionModel = new SingleSelectionModel<DataObjectTO>();
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {

        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            if (!skipNextOnChange) {
                DataObjectTO selectedObjectTO = ((SingleSelectionModel<DataObjectTO>) dataObjectsTable
                        .getSelectionModel()).getSelectedObject();
                notifyObjectSelected(selectedObjectTO);
            }
            skipNextOnChange = false;
        }
    });

    dataObjectsTable
            .setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.BOUND_TO_SELECTION);
    dataObjectsTable.setSelectionModel(selectionModel);

    dataObjectsProvider.addDataDisplay(dataObjectsTable);
    dataObjectsProvider.refresh();

    newEntityButton.setIcon(IconType.PLUS_SIGN);
}

From source file:uk.ac.ebi.fg.annotare2.web.gwt.editor.client.view.experiment.design.GridView.java

License:Apache License

public void setRows(List<R> rows) {
    if (null != dataProvider) {
        dataProvider.setList(rows);/*w w  w.j a v  a2s  .c o  m*/
        return;
    }
    dataGrid = new CustomDataGrid<>(PAGE_SIZE);
    dataGrid.addStyleName("gwt-DataGrid");
    dataGrid.setWidth("100%");
    dataGrid.setEmptyTableWidget(new Label("No data"));

    if (isRowSelectionEnabled) {
        selectionModel = new MultiSelectionModel<>(new ProvidesKey<R>() {
            @Override
            public Object getKey(R item) {
                return item.getIdentity();
            }
        });

        dataGrid.setSelectionModel(selectionModel, DefaultSelectionEventManager.<R>createCheckboxManager());
    }

    dataProvider = new ListDataProvider<>();
    dataProvider.addDataDisplay(dataGrid);
    dataProvider.getList().addAll(rows);

    sortHandler = new ColumnSortEvent.ListHandler<>(dataProvider.getList());
    dataGrid.addColumnSortHandler(sortHandler);
    permanentColumnCount = 0;
    if (isRowSelectionEnabled) {
        addCheckBoxColumn();
    }

    SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class);
    pager = new SimplePager(SimplePager.TextLocation.CENTER, pagerResources, false, 0, true);
    pager.setDisplay(dataGrid);
    toolBar.add(pager);
    toolBar.setCellHorizontalAlignment(pager, HasHorizontalAlignment.ALIGN_RIGHT);

    gridPanel.add(dataGrid);
}

From source file:uk.ac.ebi.fg.annotare2.web.gwt.editor.client.view.SheetModeViewImpl.java

License:Apache License

@Override
public void setTable(Table table, boolean hasHeaders) {
    panel.remove(loadingIndicator);/*from w  ww  .  ja v a2 s  .c  om*/

    CustomDataGrid<IndexedRow> dataGrid = new CustomDataGrid<IndexedRow>(PAGE_SIZE,
            CustomDataGrid.createResources());
    dataGrid.setEmptyTableWidget(new Label(noDataText));

    dataGrid.setSelectionModel(new NoSelectionModel<IndexedRow>());

    SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class);
    SimplePager pager = new SimplePager(SimplePager.TextLocation.CENTER, pagerResources, false, 0, true);
    pager.setDisplay(dataGrid);

    ListDataProvider<IndexedRow> dataProvider = new ListDataProvider<IndexedRow>();
    dataProvider.addDataDisplay(dataGrid);
    dataProvider.getList().addAll(getRows(table, hasHeaders));

    ColumnSortEvent.ListHandler<IndexedRow> sortHandler = new ColumnSortEvent.ListHandler<IndexedRow>(
            dataProvider.getList());
    dataGrid.addColumnSortHandler(sortHandler);

    initColumns(table, dataGrid, sortHandler, hasHeaders);

    panel.addNorth(pager, 40);
    panel.add(dataGrid);
}