Example usage for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel

List of usage examples for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel

Introduction

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

Prototype

public SingleSelectionModel() 

Source Link

Document

Constructs a SingleSelectionModel without a key provider.

Usage

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

License:Apache License

@PostConstruct
protected void init() {

    newPropertyButton.setIcon(IconType.PLUS);
    newPropertyButton.addClickHandler(new ClickHandler() {
        @Override// w ww  .  j  a v  a2s. c om
        public void onClick(ClickEvent event) {
            presenter.onNewProperty();
        }
    });

    objectButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            presenter.onSelectCurrentDataObject();
        }
    });

    //Init properties table
    propertiesTable.setEmptyTableCaption(Constants.INSTANCE.objectBrowser_emptyTable());
    propertiesTable.setColumnPickerButtonVisible(false);
    propertiesTable.setToolBarVisible(false);
    setTableHeight(tableHeight);

    addPropertyNameColumn();
    addPropertyLabelColumn();
    addPropertyTypeBrowseColumn();
    addPropertyTypeColumn();
    addRemoveRowColumn();
    addSortHandler();

    //Init the selection model
    SingleSelectionModel<ObjectProperty> selectionModel = new SingleSelectionModel<ObjectProperty>();
    propertiesTable.setSelectionModel(selectionModel);
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            ObjectProperty selectedProperty = ((SingleSelectionModel<ObjectProperty>) propertiesTable
                    .getSelectionModel()).getSelectedObject();
            presenter.onSelectProperty(selectedProperty);
        }
    });

    setReadonly(true);
}

From source file:org.kie.workbench.common.screens.datamodeller.client.widgets.old.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 data object column
    final TextColumn<DataObject> dataObjectColumn = new TextColumn<DataObject>() {

        @Override/*from w ww.j a  v  a2 s .  c  o m*/
        public void render(Cell.Context context, DataObject 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 DataObject dataObject) {
            // TODO return clipped AND tooltipped object UI label when relevant
            return DataModelerUtils.getDataObjectUILabel(dataObject);
        }
    };
    dataObjectColumn.setSortable(true);
    dataObjectsTable.addColumn(dataObjectColumn, Constants.INSTANCE.modelBrowser_columnName());

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

    final Column<DataObject, ImageResource> deleteDataObjectColumnImg = new Column<DataObject, ImageResource>(
            decorator) {
        @Override
        public ImageResource getValue(final DataObject dataObject) {
            return ImagesResources.INSTANCE.Delete();
        }
    };

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

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

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

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

        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            if (!skipNextOnChange) {
                DataObject selectedObject = ((SingleSelectionModel<DataObject>) dataObjectsTable
                        .getSelectionModel()).getSelectedObject();
                notifyObjectSelected(selectedObject);
            }
            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.kie.workbench.common.screens.datamodeller.client.widgets.old.DataModelBrowser.java

License:Apache License

private void loadDataModel(DataModel dataModel) {
    this.dataObjects = new ArrayList<DataObject>();
    this.dataObjects.addAll(dataModel.getDataObjects());

    // 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<DataObject>();
    dataObjectsTable.setSelectionModel(selectionModel2);

    selectionModel2.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {

        @Override//from   ww w.ja va  2  s.  c o m
        public void onSelectionChange(SelectionChangeEvent event) {
            if (!skipNextOnChange) {
                DataObject selectedObject = ((SingleSelectionModel<DataObject>) dataObjectsTable
                        .getSelectionModel()).getSelectedObject();
                notifyObjectSelected(selectedObject);
            }
            skipNextOnChange = false;
        }
    });

    ArrayList<DataObject> sortBuffer = new ArrayList<DataObject>();
    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.komodo.web.client.panels.repo.VdbList.java

License:Apache License

private VerticalPanel createListPanel() {
    placeManager = IOC.getBeanManager().lookupBean(PlaceManager.class).getInstance();

    uiEventService = UiEventService.get();
    uiEventService.addListener(this);

    VerticalPanel outerPanel = new VerticalPanel();

    CellList.Resources resources = GWT.create(CellListResources.class);
    // Create a CellList.
    CompositeCell compositeCell = createCompositeCell(new VdbCell());

    // Set a key provider that provides a unique key for each contact. If key is
    // used to identify contacts when fields (such as the name and address)
    // change./*from  ww w.  j a  va2  s .c o m*/
    cellList = new CellList<KomodoObjectBean>(compositeCell, resources);
    cellList.setPageSize(30);
    cellList.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE);
    cellList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION);

    // Add a selection model so we can select cells.
    listSelectionModel = new SingleSelectionModel<KomodoObjectBean>();
    cellList.setSelectionModel(listSelectionModel);
    listSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            KomodoObjectBean vdb = listSelectionModel.getSelectedObject();
            fireUiEvent(vdb, UiEventType.KOBJECT_SELECTED);
        }
    });

    outerPanel.add(cellList);
    return outerPanel;
}

From source file:org.mklab.taskit.client.ui.admin.UserEditorViewImpl.java

License:Apache License

/**
 * {@inheritDoc}//from w  w w . java  2 s.  c om
 */
@Override
protected Widget initContent() {
    this.userList = new CellList<UserProxy>(new AbstractCell<UserProxy>() {

        @Override
        public void render(@SuppressWarnings("unused") com.google.gwt.cell.client.Cell.Context context,
                UserProxy value, SafeHtmlBuilder sb) {
            sb.appendEscaped(value.getAccount().getId());
        }
    });

    final SingleSelectionModel<UserProxy> selectionModel = new SingleSelectionModel<UserProxy>();
    selectionModel.addSelectionChangeHandler(new Handler() {

        @Override
        public void onSelectionChange(@SuppressWarnings("unused") SelectionChangeEvent event) {
            final UserProxy selectedUser = selectionModel.getSelectedObject();
            setEdittingUser(selectedUser);
        }
    });
    this.userList.setSelectionModel(selectionModel);
    this.userType = new ValueListBox<UserType>(new Renderer<UserType>() {

        @Override
        public String render(UserType object) {
            if (object == null)
                return null;
            return object.name();
        }

        @Override
        public void render(UserType object, Appendable appendable) throws IOException {
            appendable.append(render(object));
        }
    });
    this.userType.setAcceptableValues(Arrays.asList(UserType.values()));

    final Binder binder = GWT.create(Binder.class);
    final Widget content = binder.createAndBindUi(this);

    final Messages messages = getClientFactory().getMessages();
    this.userIdLabel.setText(messages.userIdLabel());
    this.passwordLabel.setText(messages.passwordLabel());
    this.nameLabel.setText(messages.userNameLabel());
    this.userInfoCaption.setCaptionText(messages.userInfoLabel());
    this.applyButton.setText(messages.applyLabel());
    this.userTypeLabel.setText(messages.userTypeLabel());
    this.newCheck.setText(messages.newLabel());

    updateEditMode();
    return content;
}

From source file:org.mklab.taskit.client.ui.HelpCallListViewImpl.java

License:Apache License

private void listenSelectionEvent() {
    // ??//from  w w  w.  j a  v a  2s  . c  o  m
    final SingleSelectionModel<HelpCallListItem> selectionModel = new SingleSelectionModel<HelpCallListItem>();
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {

        @SuppressWarnings("synthetic-access")
        @Override
        public void onSelectionChange(@SuppressWarnings("unused") SelectionChangeEvent event) {
            final HelpCallListItem selectedCall = selectionModel.getSelectedObject();
            HelpCallListViewImpl.this.presenter.helpCallSelected(selectedCall.getHelpCall());
        }
    });

    // ????????????????
    CellPreviewEvent.Handler<HelpCallListViewImpl.HelpCallListItem> cellPreviewHandler = new DefaultSelectionEventManager<HelpCallListViewImpl.HelpCallListItem>(
            null) {

        @Override
        public void onCellPreview(CellPreviewEvent<HelpCallListItem> event) {
            @SuppressWarnings("unqualified-field-access")
            Column<?, ?> column = table.getColumn(event.getColumn());
            if (column.getCell() instanceof ButtonCell) {
                return;
            }

            super.onCellPreview(event);
        }
    };
    this.table.setSelectionModel(selectionModel, cellPreviewHandler);
    this.table.addCellPreviewHandler(cellPreviewHandler);
}

From source file:org.obiba.opal.web.gwt.app.client.magma.variable.view.CategoriesEditorModalView.java

License:Open Source License

@Inject
public CategoriesEditorModalView(EventBus eventBus, Binder uiBinder, Translations translations,
        TranslationMessages translationMessages) {
    super(eventBus);
    this.translations = translations;
    this.translationMessages = translationMessages;
    initWidget(uiBinder.createAndBindUi(this));
    dialog.setTitle(translations.editCategories());
    dialog.setResizable(true);//w ww  .  j  a  v  a  2  s  . c  o m
    dialog.setMinHeight(MIN_HEIGHT);
    dialog.setMinWidth(MIN_WIDTH);

    table.setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.DISABLED);
    table.setSelectionModel(new SingleSelectionModel<CategoryDto>());
    table.setEmptyTableWidget(new Label(translations.noCategoriesLabel()));
    table.setPageSize(DEFAULT_PAGE_SIZE);

    pager.setDisplay(table);
    dataProvider.addDataDisplay(table);
}

From source file:org.obiba.opal.web.gwt.app.client.magma.view.DatasourceView.java

License:Open Source License

private void addTableColumns() {
    initializeColumns();//from   w  ww  . jav a  2s  . c  om
    dataProvider.addDataDisplay(table);
    initializeSortableColumns();
    table.setSelectionModel(new SingleSelectionModel<TableDto>());
    table.setPageSize(Table.DEFAULT_PAGESIZE);
    table.setEmptyTableWidget(new InlineLabel(translationMessages.tableCount(0)));
    pager.setDisplay(table);
}

From source file:org.obiba.opal.web.gwt.app.client.magma.view.TableView.java

License:Open Source License

private void addTableColumns() {
    addCheckColumn();/*from ww w  .  j a v  a 2  s  . c o m*/

    table.addColumn(new VariableColumn(new VariableLinkCell(placeManager)), translations.nameLabel());
    table.addColumn(new VariableAttributeColumn("label"), translations.labelLabel());
    table.addColumn(new TextColumn<VariableDto>() {
        @Override
        public String getValue(VariableDto object) {
            return object.getValueType();
        }
    }, translations.valueTypeLabel());
    table.addColumn(new TextColumn<VariableDto>() {

        @Override
        public String getValue(VariableDto object) {
            StringBuilder categories = new StringBuilder();
            int count = 1;
            for (CategoryDto category : JsArrays
                    .toIterable(JsArrays.toSafeArray(object.getCategoriesArray()))) {
                if (count > 10) {
                    categories.append(" ...");
                    break;
                }
                if (categories.length() == 0) {
                    categories.append(category.getName());
                } else {
                    categories.append(", ").append(category.getName());
                }
                count++;
            }
            return categories.toString();
        }
    }, translations.categoriesLabel());

    table.setSelectionModel(new SingleSelectionModel<VariableDto>());
    table.setPageSize(Table.DEFAULT_PAGESIZE);
    table.setEmptyTableWidget(new InlineLabel(translationMessages.variableCount(0)));
    pager.setDisplay(table);
    dataProvider.addDataDisplay(table);

    filter.setText("");
    filter.getTextBox().setPlaceholder(translations.filterVariables());
}

From source file:org.opennms.features.gwt.combobox.client.view.SuggestionComboboxViewImpl.java

License:Open Source License

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

    m_textBox.addKeyDownHandler(new KeyDownHandler() {

        @Override//from   w  w  w.  j a  v  a2s . c om
        public void onKeyDown(KeyDownEvent event) {
            if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
                if (m_presenter != null) {
                    m_presenter.onEnterKeyEvent();
                }
            }
        }
    });

    m_selectionModel = new SingleSelectionModel<NodeDetail>();
    m_selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {

        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            m_presenter.onNodeSelected();
        }
    });

    m_nodeList = new CellList<NodeDetail>(new NodeDetailCell());
    m_nodeList.setPageSize(10);
    m_nodeList.getElement().getStyle().setFontSize(12, Unit.PX);
    m_nodeList.setSelectionModel(m_selectionModel);

    m_dataList = new ListDataProvider<NodeDetail>();
    m_dataList.addDataDisplay(m_nodeList);

    m_pager = new SimplePager();
    m_pager.setStyleName("onms-table-no-borders-margin");
    m_pager.getElement().getStyle().setWidth(100, Unit.PCT);
    m_pager.setDisplay(m_nodeList);

    FlowPanel flowPanel = new FlowPanel();
    flowPanel.add(m_nodeList);
    flowPanel.add(m_pager);
    m_popupPanel = new PopupPanel();
    m_popupPanel.add(flowPanel);
    m_popupPanel.setAutoHideEnabled(true);
    m_popupPanel.setAnimationEnabled(true);
    m_popupPanel.setModal(false);
    m_popupPanel.getElement().getStyle().setBorderWidth(1, Unit.PX);
    m_popupPanel.getElement().getStyle().setBorderColor("#B5B8C8");
    m_popupPanel.getElement().getStyle().setPadding(1, Unit.PX);
}