Example usage for org.eclipse.jface.databinding.viewers ViewersObservables observeSinglePostSelection

List of usage examples for org.eclipse.jface.databinding.viewers ViewersObservables observeSinglePostSelection

Introduction

In this page you can find the example usage for org.eclipse.jface.databinding.viewers ViewersObservables observeSinglePostSelection.

Prototype

@Deprecated
public static IViewerObservableValue observeSinglePostSelection(StructuredViewer viewer) 

Source Link

Document

Returns an observable value that tracks the current post selection of the given structured viewer.

Usage

From source file:de.walware.ecommons.emf.ui.forms.EObjectListProperty.java

License:Open Source License

@Override
public void bind(final IEMFEditContext context) {
    super.bind(context);

    final IEMFEditListProperty emfProperty = EMFEditProperties.list(getEditingDomain(), getEFeature());
    fModelObservable = emfProperty.observeDetail(getBaseObservable());
    ((IObserving) fModelObservable).getObserved();

    fWidget.viewer.setInput(fModelObservable);
    fButtonGroup.connectTo(fWidget.viewer, fModelObservable, null);

    register(fWidget.table, IEFPropertyExpressions.EOBJECT_LIST_ID);
    fSelectionProvider = new ElementSourceSelectionProvider(fWidget.viewer, this);
    ViewerUtil.setSelectionProvider(fWidget.table, fSelectionProvider);

    {//  w ww  .j a v  a  2  s  .co m
        final int operations = (DND.DROP_DEFAULT | DND.DROP_COPY | DND.DROP_MOVE);
        final Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance() };
        fWidget.viewer.addDragSupport(operations, transfers, new ViewerDragAdapter(fWidget.viewer));
        fWidget.viewer.addDropSupport(operations, transfers,
                new EditingDomainViewerDropAdapter(getEditingDomain(), fWidget.viewer));
    }

    fSingleSelectionObservable = ViewersObservables.observeSinglePostSelection(fWidget.viewer);

    fButtonGroup.updateState();
}

From source file:org.kalypso.gml.ui.internal.feature.editProperties.EditFeaturePropertiesPage.java

License:Open Source License

private void createPropertyChooser(final Composite parent) {
    final Label label = new Label(parent, SWT.NONE);
    label.setText(Messages.getString("EditFeaturePropertiesPage.0")); //$NON-NLS-1$

    final ComboViewer comboViewer = new ComboViewer(parent, SWT.READ_ONLY | SWT.DROP_DOWN);
    comboViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

    comboViewer.setContentProvider(new ArrayContentProvider());
    comboViewer.setLabelProvider(new FeatureTypeLabelProvider());
    comboViewer.addFilter(new EditFeaturePropertiesFilter());

    final IObservableValue targetInput = ViewersObservables.observeInput(comboViewer);
    final IObservableValue modelInput = BeansObservables.observeValue(m_data,
            EditFeaturePropertiesData.PROPERTY_PROPERTIES);
    m_binding.bindValue(targetInput, modelInput);

    final IViewerObservableValue targetSelection = ViewersObservables.observeSinglePostSelection(comboViewer);
    final IObservableValue modelSelection = BeansObservables.observeValue(m_data,
            EditFeaturePropertiesData.PROPERTY_PROPERTY);
    final DataBinder binder = new DataBinder(targetSelection, modelSelection);
    binder.addTargetAfterGetValidator(new NotNullValidator<>(IPropertyType.class, IStatus.ERROR,
            Messages.getString("EditFeaturePropertiesPage.1"))); //$NON-NLS-1$

    m_binding.bindValue(binder);//from   www .j a v a  2  s.  c  o  m
}

From source file:org.kalypso.kalypso1d2d.internal.importNet.Import2dElementsControl.java

License:Open Source License

private Section createElementsSection(final FormToolkit toolkit, final Composite panel) {
    final Section section = toolkit.createSection(panel, Section.EXPANDED | Section.TITLE_BAR);
    section.setText(Messages.getString("Import2dElementsWidget_1")); //$NON-NLS-1$

    final Table table = toolkit.createTable(section, SWT.BORDER | SWT.FULL_SELECTION);
    section.setClient(table);/*w w w .ja  v  a 2  s.c o m*/
    table.addControlListener(new ColumnsResizeControlListener());
    table.setHeaderVisible(true);

    final TableViewer viewer = new TableViewer(table);
    m_viewer = viewer;
    viewer.setUseHashlookup(true);
    viewer.setContentProvider(new ArrayContentProvider());

    viewer.addOpenListener(new IOpenListener() {
        @Override
        public void open(final OpenEvent event) {
            handleOpenElement();
        }
    });

    /* Status column */
    final ViewerColumn statusColumn = ColumnViewerUtil.createViewerColumn(viewer, SWT.LEFT);
    final ViewerColumnItem statusItem = new ViewerColumnItem(statusColumn);

    statusItem.setText("Status"); //$NON-NLS-1$
    statusItem.setResizable(false);
    ColumnsResizeControlListener.setMinimumPackWidth(statusItem.getColumn());

    statusColumn.setLabelProvider(new PolygonWithNameStatusLabelProvider());
    ColumnViewerSorter.registerSorter(statusColumn, new PolygonWithNameStatusComparator());

    /* Name column */
    final ViewerColumn nameColumn = ColumnViewerUtil.createViewerColumn(viewer, SWT.LEFT);
    final ViewerColumnItem nameItem = new ViewerColumnItem(nameColumn);

    nameItem.setText("ID"); //$NON-NLS-1$
    nameItem.setResizable(false);
    ColumnsResizeControlListener.setMinimumPackWidth(nameItem.getColumn());
    nameColumn.setLabelProvider(new PolygonWithNameLabelProvider());

    /* input binding */
    final IObservableValue targetInput = ViewersObservables.observeInput(viewer);
    final IObservableValue modelInput = BeansObservables.observeValue(m_data,
            Import2dElementsData.PROPERTY_ELEMENTS);
    m_binding.bindValue(targetInput, modelInput);

    /* selection binding */
    final IObservableValue targetSelection = ViewersObservables.observeSinglePostSelection(viewer);
    final IObservableValue modelSelection = BeansObservables.observeValue(m_data,
            Import2dElementsData.PROPERTY_SELECTED_ELEMENT);
    m_binding.bindValue(targetSelection, modelSelection);

    modelSelection.addValueChangeListener(new IValueChangeListener() {
        @Override
        public void handleValueChange(final ValueChangeEvent event) {
            handleSelectionChanged((IPolygonWithName) event.diff.getNewValue());
        }
    });

    return section;
}

From source file:org.kalypso.kalypsomodel1d2d.ui.map.channeledit.BankSelectionComposite.java

License:Open Source License

private void createBankSelectionLine(final FormToolkit toolkit, final Composite parent,
        final ChannelEditData data, final DatabindingForm binding, final SIDE side,
        final String selectedBankThemeProperty) {
    final ComboViewer themeChooser = new ComboViewer(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
    toolkit.adapt(themeChooser.getControl(), true, false);
    themeChooser.getControl().setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

    themeChooser.setContentProvider(new ArrayContentProvider());
    themeChooser.setLabelProvider(new LabelProvider());

    final IObservableValue targetInput = ViewersObservables.observeInput(themeChooser);
    final IObservableValue modelInput = BeansObservables.observeValue(data,
            ChannelEditData.PROPERTY_BANK_THEME_INPUT);
    binding.bindValue(targetInput, modelInput);

    final IObservableValue targetSelection = ViewersObservables.observeSinglePostSelection(themeChooser);
    final IObservableValue modelSelection = BeansObservables.observeValue(data, selectedBankThemeProperty);
    binding.bindValue(targetSelection, modelSelection);

    final IObservableValue targetEnabled = SWTObservables.observeEnabled(themeChooser.getControl());
    final IObservableValue modelEnabled = BeansObservables.observeValue(data,
            ChannelEditData.PROPERTY_BANK_THEME_SELECTION_ENABLED);
    binding.bindValue(targetEnabled, modelEnabled);

    /* Button for the bank selection */
    final IWidget selectFromThemeWidget = new SelectionWidget(StringUtils.EMPTY, StringUtils.EMPTY,
            new BankSelectorFunction(data, side, modelSelection));
    final SetWidgetAction selectFromThemeAction = new SetWidgetAction(data, selectFromThemeWidget);
    selectFromThemeAction.setImageDescriptor(KalypsoModel1D2DPlugin.getImageProvider()
            .getImageDescriptor(KalypsoModel1D2DUIImages.IMGKEY.SELECT));

    final Button selectFromThemeButton = ChannelEditUtil.createWidgetSelectionButton(toolkit, parent, data,
            binding, selectFromThemeAction, ChannelEditData.PROPERTY_BANK_THEME_SELECTION_ENABLED);
    selectFromThemeButton.setToolTipText(Messages
            .getString("org.kalypso.kalypsomodel1d2d.ui.map.channeledit.CreateMainChannelComposite.19")); //$NON-NLS-1$
    selectFromThemeButton.setLayoutData(new GridData(SWT.END, SWT.CENTER, false, false));

    /* Button for the bank drawing */
    final IWidget drawBankWidget = new DrawBanklineWidget(data, side);
    final SetWidgetAction drawBankAction = new SetWidgetAction(data, drawBankWidget);
    drawBankAction.setImageDescriptor(//  w ww.  jav a 2  s .  c  o m
            KalypsoModel1D2DPlugin.getImageProvider().getImageDescriptor(KalypsoModel1D2DUIImages.IMGKEY.EDIT));

    final Button drawBankButton = ChannelEditUtil.createWidgetSelectionButton(toolkit, parent, data, binding,
            drawBankAction, null);
    drawBankButton.setLayoutData(new GridData(SWT.END, SWT.CENTER, false, false));
}

From source file:org.kalypso.kalypsomodel1d2d.ui.map.channeledit.ProfileSection.java

License:Open Source License

private void createProfileSelector(final FormToolkit toolkit, final Composite parent,
        final ChannelEditData data, final DatabindingForm binding) {
    /* prev button */
    final Action prevProfileAction = new SwitchProfileAction(data, -1);
    ActionButton.createButton(toolkit, parent, prevProfileAction, SWT.ARROW | SWT.LEFT);

    /* selector */
    final ComboViewer profileChooser = new ComboViewer(parent, SWT.READ_ONLY | SWT.DROP_DOWN);

    final Control profileChooserControl = profileChooser.getControl();
    toolkit.adapt(profileChooserControl, true, true);

    profileChooser.setContentProvider(new ArrayContentProvider());
    profileChooser.setLabelProvider(new LabelProvider());

    final IObservableValue targetChooserInput = ViewersObservables.observeInput(profileChooser);
    final IObservableValue modelChooserInput = BeansObservables.observeValue(data,
            ChannelEditData.PROPERTY_PROFILE_DATA_CHOOSER_INPUT);
    binding.bindValue(targetChooserInput, modelChooserInput);

    final IObservableValue targetChooserEnabled = SWTObservables.observeEnabled(profileChooserControl);
    final IObservableValue modelProfileEditingEnabled = BeansObservables.observeValue(data,
            ChannelEditData.PROPERTY_PROFILE_EDITING_ENABLED);
    binding.bindValue(targetChooserEnabled, modelProfileEditingEnabled);

    final IObservableValue targetChooserSelection = ViewersObservables
            .observeSinglePostSelection(profileChooser);
    final IObservableValue modelChooserSelection = BeansObservables.observeValue(data,
            ChannelEditData.PROPERTY_ACTIVE_PROFILE);
    binding.bindValue(targetChooserSelection, modelChooserSelection);

    /* next button */
    final Action nextProfileAction = new SwitchProfileAction(data, +1);
    ActionButton.createButton(toolkit, parent, nextProfileAction, SWT.ARROW | SWT.RIGHT);
}

From source file:org.kalypso.kalypsomodel1d2d.ui.map.channeledit.ProfileSelectionSection.java

License:Open Source License

private Control createThemeCombo(final FormToolkit toolkit, final Composite parent, final ChannelEditData data,
        final DatabindingForm binding) {
    final ComboViewer themeChooser = new ComboViewer(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
    toolkit.adapt(themeChooser.getControl(), true, false);

    themeChooser.setContentProvider(new ArrayContentProvider());
    themeChooser.setLabelProvider(new LabelProvider());

    /* Binding */
    final IObservableValue targetInput = ViewersObservables.observeInput(themeChooser);
    final IObservableValue modelInput = BeansObservables.observeValue(data,
            ChannelEditData.PROPERTY_PROFILE_THEME_INPUT);
    binding.bindValue(targetInput, modelInput);

    final IObservableValue targetSelection = ViewersObservables.observeSinglePostSelection(themeChooser);
    final IObservableValue modelSelection = BeansObservables.observeValue(data,
            ChannelEditData.PROPERTY_PROFILE_THEME_SELECTED);
    binding.bindValue(targetSelection, modelSelection);

    final IObservableValue targetEnablement = SWTObservables.observeEnabled(themeChooser.getCombo());
    final IObservableValue modelEnablement = BeansObservables.observeValue(data,
            ChannelEditData.PROPERTY_PROFILE_THEME_SELECTION_ENABLED);
    binding.bindValue(targetEnablement, modelEnablement);

    return themeChooser.getControl();
}

From source file:org.kalypso.model.wspm.pdb.ui.internal.admin.attachments.documents.DocumentsAttachmentsPreviewPage.java

License:Open Source License

private void createImportModelControl(final Composite parent) {
    final Label label = new Label(parent, SWT.NONE);
    label.setText(Messages.getString("ImportAttachmentsPreviewPage.7")); //$NON-NLS-1$

    final ComboViewer viewer = new ComboViewer(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new LabelProvider());
    viewer.setInput(ImportMode.values());

    final IViewerObservableValue target = ViewersObservables.observeSinglePostSelection(viewer);
    final IObservableValue model = BeansObservables.observeValue(m_data,
            DocumentsAttachmentsData.PROPERTY_IMPORT_MODE);
    m_binding.bindValue(target, model);//  ww w .ja  v a  2 s  .  co m

    // TRICKY: we need to refresh the table when the import mode changes, in order
    // to show the gray state correctly
    model.addValueChangeListener(new IValueChangeListener() {
        @Override
        public void handleValueChange(final ValueChangeEvent event) {
            handleImportModeChanged();
        }
    });
}

From source file:org.kalypso.model.wspm.pdb.ui.internal.admin.attachments.profiles.ProfilesAttachmentsPreviewPage.java

License:Open Source License

private void createImportModelControl(final Composite parent) {
    final Label label = new Label(parent, SWT.NONE);
    label.setText(Messages.getString("ImportAttachmentsPreviewPage.7")); //$NON-NLS-1$

    final ComboViewer viewer = new ComboViewer(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new LabelProvider());
    viewer.setInput(ImportMode.values());

    final IViewerObservableValue target = ViewersObservables.observeSinglePostSelection(viewer);
    final IObservableValue model = BeansObservables.observeValue(m_data,
            ProfilesAttachmentsData.PROPERTY_IMPORT_MODE);
    m_binding.bindValue(target, model);//from ww w  .  ja v  a 2  s.  c o  m

    // TRICKY: we need to refresh the table when the import mode changes, in order
    // to show the gray state correctly
    model.addValueChangeListener(new IValueChangeListener() {
        @Override
        public void handleValueChange(final ValueChangeEvent event) {
            handleImportModeChanged();
        }
    });
}

From source file:org.kalypso.model.wspm.pdb.ui.internal.admin.gaf.GafOptionsPage.java

License:Open Source License

private void createCodeMappingCombo(final Group group, final Object[] availableCodes,
        final IObservableValue model) {
    final ComboViewer viewer = new ComboViewer(group, SWT.DROP_DOWN | SWT.READ_ONLY);
    viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    viewer.getControl().setFont(JFaceResources.getTextFont());
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new LabelProvider());
    viewer.setInput(availableCodes);/*  w w  w . j  a  va2  s  . c o m*/
    viewer.setComparator(new ViewerComparableComparator());

    final IViewerObservableValue target = ViewersObservables.observeSinglePostSelection(viewer);

    final DataBinder dataBinder = new DataBinder(target, model);
    dataBinder.addTargetAfterGetValidator(
            new NotNullValidator<>(Object.class, IStatus.ERROR, Messages.getString("GafOptionsPage.15"))); //$NON-NLS-1$

    m_binding.bindValue(dataBinder);
}

From source file:org.kalypso.model.wspm.pdb.ui.internal.admin.gaf.GafProfilesPage.java

License:Open Source License

@Override
public void createControl(final Composite parent) {
    final Composite panel = new Composite(parent, SWT.NONE);
    setControl(panel);/*from w  w  w  .  j a  va 2 s.c  om*/
    GridLayoutFactory.swtDefaults().numColumns(2).equalWidth(true).applyTo(panel);

    m_binding = new DatabindingWizardPage(this, null);

    createProfileTable(panel).setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    createLogView(panel).setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    createSaveLogControl(panel).setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));

    final StatusViewerValue targetStatus = new StatusViewerValue(m_logViewer);
    final IViewerObservableValue modelStatus = ViewersObservables.observeSinglePostSelection(m_profileViewer);
    final DataBinder statusBinder = new DataBinder(targetStatus, modelStatus);
    statusBinder.setModelToTargetConverter(new GafProfileToStatusConverter());
    m_binding.bindValue(statusBinder);

    final ISWTObservableValue targetDetailsLabel = new GroupTextProperty().observe(m_logPanel);
    final DataBinder detailsBinder = new DataBinder(targetDetailsLabel, modelStatus);
    detailsBinder.setModelToTargetConverter(new GafProfileToDetailsLabelConverter());
    m_binding.bindValue(detailsBinder);
}