Example usage for com.google.gwt.view.client SelectionChangeEvent.Handler SelectionChangeEvent.Handler

List of usage examples for com.google.gwt.view.client SelectionChangeEvent.Handler SelectionChangeEvent.Handler

Introduction

In this page you can find the example usage for com.google.gwt.view.client SelectionChangeEvent.Handler SelectionChangeEvent.Handler.

Prototype

SelectionChangeEvent.Handler

Source Link

Usage

From source file:fr.mncc.gwttoolbox.datagrid.client.Grid.java

License:Open Source License

/**
 * Add a single row selection model to the grid.
 *///from  ww  w. ja  v a2s  .co  m
public void addSelectionModel() {
    final NoSelectionModel<T> selectionModel = new NoSelectionModel<T>(Grid.<T>createKeyProvider());
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            Grid.this.onSelectionChanged(selectionModel.getLastSelectedObject());
        }
    });
    setSelectionModel(selectionModel);
}

From source file:org.dataconservancy.dcs.access.client.presenter.MediciIngestPresenter.java

License:Apache License

public Widget getFiles(Map<String, CollectionNode> dusMap, Map<String, FileNode> filesMap,
        final String selectedCollection, Boolean valForAll) {

    List<String> files = dusMap.get(selectedCollection).getSub().get(SubType.File);
    final FileTable fileTable = new FileTable();

    CellTable.Resources resource = GWT.create(TableResources.class);
    fileTable.cellTable = new CellTable<FileNode>(files.size(), resource);

    fileTable.cellTable.setWidth("100%", true);
    fileTable.selectionFileModel = new MultiSelectionModel<FileNode>();

    fileTable.cellTable.setSelectionModel(fileTable.selectionFileModel,
            DefaultSelectionEventManager.<FileNode>createCheckboxManager());
    fileTable.selectionFileModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {

        @Override//from   w  w w  .j a va 2  s  . co  m
        public void onSelectionChange(SelectionChangeEvent event) {
            // TODO Auto-generated method stub
            List<FileNode> nowSelected = new ArrayList<FileNode>(fileTable.selectionFileModel.getSelectedSet());
            List<FileNode> previousSelected;
            List<FileNode> tempSelected;

            if (previousSelectedFiles.containsKey(selectedCollection))
                previousSelected = previousSelectedFiles.get(selectedCollection);
            else
                previousSelected = new ArrayList<FileNode>();

            if (nowSelected.size() > previousSelected.size()) {
                tempSelected = new ArrayList<FileNode>(nowSelected);
                tempSelected.removeAll(previousSelected);
            } else {
                tempSelected = new ArrayList<FileNode>(previousSelected);
                tempSelected.removeAll(nowSelected);
            }

            previousSelectedFiles.put(selectedCollection, nowSelected); //update previous selected files
            //   if(tempSelected.size()==1)//uncomment these 2 statements later
            //   MediciIngestPresenter.EVENT_BUS.fireEvent(new FileSelectEvent(tempSelected.get(0),true));
            //(FileNode)selectionFileModel.getSelectedSet().toArray()[0],true));
        }
    });
    Column<FileNode, Boolean> checkColumn = new Column<FileNode, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(FileNode object) {
            // Get the value from the selection model.
            return fileTable.selectionFileModel.isSelected(object);
        }

    };

    fileTable.cellTable.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
    fileTable.cellTable.setColumnWidth(checkColumn, 40, Unit.PX);

    // First name.
    final Resources resources = GWT.create(Resources.class);

    Column<FileNode, ImageResource> imageColumn = new Column<FileNode, ImageResource>(new ImageResourceCell()) {
        @Override
        public ImageResource getValue(FileNode object) {
            return resources.file();
        }

    };

    fileTable.cellTable.addColumn(imageColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
    fileTable.cellTable.setColumnWidth(imageColumn, 40, Unit.PX);

    Column<FileNode, String> firstNameColumn = new Column<FileNode, String>(new EditTextCell()) {
        @Override
        public String getValue(FileNode object) {
            return object.getTitle();
        }

    };

    fileTable.cellTable.addColumn(firstNameColumn);

    List<FileNode> fileNodes = new ArrayList<FileNode>();

    for (String file : files) {
        FileNode node = filesMap.get(file);
        fileNodes.add(node);
        fileTable.selectionFileModel.setSelected(node, valForAll);
    }
    ListDataProvider<FileNode> dataProvider = new ListDataProvider<FileNode>(fileNodes);

    dataProvider.addDataDisplay(fileTable.cellTable);

    existingFileSets.put(selectedCollection, fileTable);
    return fileTable.cellTable;
}

From source file:org.jboss.as.console.client.administration.role.form.RolesFormItem.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public Widget asWidget() {
    // table/*from  w  w w  .  j a  v  a2s .co m*/
    DefaultCellTable<Role> table = new DefaultCellTable<Role>(pageSize, keyProvider);
    table.setSelectionModel(selectionModel, DefaultSelectionEventManager
            .createCustomManager(new DefaultSelectionEventManager.CheckboxEventTranslator<Role>() {
                @Override
                public SelectAction translateSelectionEvent(CellPreviewEvent<Role> event) {
                    SelectAction action = super.translateSelectionEvent(event);
                    if (action.equals(SelectAction.IGNORE)) {
                        Role role = event.getValue();
                        boolean selected = selectionModel.isSelected(role);
                        return selected ? SelectAction.DESELECT : SelectAction.SELECT;
                    }
                    return action;
                }
            }));
    dataProvider.addDataDisplay(table);
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(final SelectionChangeEvent event) {
            value.clear();
            value.addAll(selectionModel.getSelectedSet());
            setModified(true);
        }
    });

    // columns
    Column<Role, Boolean> checkColumn = new Column<Role, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(Role role) {
            // Get the value from the selection model.
            return selectionModel.isSelected(role);
        }
    };
    TextColumn<Role> nameColumn = new TextColumn<Role>() {
        @Override
        public String getValue(Role role) {
            return role.getName();
        }
    };
    table.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
    table.setColumnWidth(checkColumn, 40, PX);
    table.addColumn(nameColumn, Console.CONSTANTS.common_label_name());

    // pager
    DefaultPager pager = new DefaultPager();
    pager.setWidth("auto");
    pager.setDisplay(table);

    // panels
    VerticalPanel content = new VerticalPanel();
    content.setWidth("95%");
    content.add(table);
    content.add(pager);
    wrapper = new FormItemPanelWrapper(content, this);
    return wrapper;
}

From source file:uk.ac.ebi.fg.annotare2.web.gwt.user.client.view.SubmissionListViewImpl.java

License:Apache License

public SubmissionListViewImpl() {
    isCurator = false;//from  w w w . jav a  2s.com

    dataGrid = new CustomDataGrid<SubmissionRow>(Integer.MAX_VALUE, false);

    dataGrid.addColumn(new TextColumn<SubmissionRow>() {
        @Override
        public String getValue(SubmissionRow object) {
            return formatDate(object.getCreated());
        }
    }, new TextHeader("Created on"));

    /* TODO: uncomment when we have array submissions
    dataGrid.addColumn(new TextColumn<SubmissionRow>() {
    @Override
    public String getValue(SubmissionRow object) {
        return object.getType().getTitle();
    }
    }, new TextHeader("Type"));
    */

    dataGrid.addColumn(new TextColumn<SubmissionRow>() {
        @Override
        public String getValue(SubmissionRow object) {
            return object.getAccession();
        }
    }, new TextHeader("Accession"));

    dataGrid.addColumn(new TextColumn<SubmissionRow>() {
        @Override
        public String getValue(SubmissionRow object) {
            if (object.getType().isImported() && null == object.getTitle()) {
                return "UNPROCESSED IMPORTED SUBMISSION";
            }
            return object.getTitle();
        }
    }, new TextHeader("Title"));

    dataGrid.addColumn(new TextColumn<SubmissionRow>() {
        @Override
        public String getValue(SubmissionRow object) {
            return object.getStatus().getTitle();
        }
    }, new TextHeader("Status"));

    Column<SubmissionRow, ImageResource> editIconColumn = new Column<SubmissionRow, ImageResource>(
            new ClickableImageResourceCell()) {

        @Override
        public ImageResource getValue(SubmissionRow object) {
            return resourceBundle.editIcon();
        }
    };

    editIconColumn.setFieldUpdater(new FieldUpdater<SubmissionRow, ImageResource>() {
        public void update(int index, SubmissionRow row, ImageResource value) {
            SubmissionType type = row.getType();
            if (type.isImported()) {
                presenter.onImportSubmission(row.getId());
            } else {
                presenter.onEditSubmission(row.getId());
            }
        }
    });

    dataGrid.addColumn(editIconColumn);

    dataGrid.setColumnWidth(0, 11, Style.Unit.EM);
    dataGrid.setColumnWidth(1, 11, Style.Unit.EM);
    dataGrid.setColumnWidth(3, 14, Style.Unit.EM);
    dataGrid.setColumnWidth(4, 5, Style.Unit.EM);

    final SingleSelectionModel<SubmissionRow> selectionModel = new SingleSelectionModel<SubmissionRow>(
            new ProvidesKey<SubmissionRow>() {
                public Object getKey(SubmissionRow item) {
                    return item.getId();
                }
            });

    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        public void onSelectionChange(SelectionChangeEvent event) {
            SubmissionRow row = selectionModel.getSelectedObject();
            if (null != row) {
                presenter.onSubmissionSelected(row.getId());
            }
        }
    });

    //todo create column black list dynamically
    dataGrid.setSelectionModel(selectionModel,
            DefaultSelectionEventManager.<SubmissionRow>createBlacklistManager(4));

    dataGrid.addStyleName("no-cell-borders");

    dataProvider = new ListDataProvider<SubmissionRow>();
    dataProvider.addDataDisplay(dataGrid);

    Binder uiBinder = GWT.create(Binder.class);
    initWidget(uiBinder.createAndBindUi(this));
}