Example usage for org.eclipse.jface.databinding.swt SWTObservables observeText

List of usage examples for org.eclipse.jface.databinding.swt SWTObservables observeText

Introduction

In this page you can find the example usage for org.eclipse.jface.databinding.swt SWTObservables observeText.

Prototype

@Deprecated
public static ISWTObservableValue observeText(Control control) 

Source Link

Document

Returns an observable observing the text attribute of the provided control.

Usage

From source file:org.eclipse.emf.ecp.view.custom.ui.swt.test.ECPAbstractCustomControlSWTTest.java

License:Open Source License

@Test
public void testBindTargetToModel() {

    final VDomainModelReference bundleFeature = getFeature(customControl.getResolvedReferences(),
            VCustomPackage.eINSTANCE.getHardcodedDomainModelReference_ControlId(), true);

    customControl.createControls(testComposite);
    final Label label = (Label) testComposite.getChildren()[0];
    final IObservableValue obsValue = SWTObservables.observeText(label);
    customControl.bindTargetToModel(bundleFeature, obsValue, null, null);
    // bundleFeature.bindTargetToModel(obsValue, null, null);
    // bundleFeature.setValue("testtesttest");
    customControl.setValue(bundleFeature, "testtesttest");
    assertEquals("testtesttest", label.getText());
}

From source file:org.eclipse.emf.examples.library.databinding.writer.WriterForm.java

License:Open Source License

@Override
public void doCreateForm(TabFolder folder, TabItem item, final EditingDomain domain, DataBindingContext dbc,
        IObservableValue master) {/*from w w  w . ja  va2  s.com*/

    IValueProperty textProp = WidgetProperties.text();
    dbc.bindValue(textProp.observe(item),
            EMFEditObservables.observeDetailValue(Realm.getDefault(), domain, master,
                    EXTLibraryPackage.Literals.LIBRARY__WRITERS),
            new UpdateValueStrategy(), new UpdateValueStrategy().setConverter(new LengthConverter()));

    Composite comp = new Composite(folder, SWT.NONE);
    TableColumnLayout layout = new TableColumnLayout();
    comp.setLayout(layout);

    writerViewer = new TableViewer(comp, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    writerViewer.getTable().setHeaderVisible(true);
    writerViewer.getTable().setLinesVisible(true);

    Color color = comp.getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION);
    final Color bg = new Color(comp.getDisplay(),
            new RGB(color.getRed() - 50, color.getGreen() - 50, color.getBlue() - 50));

    writerViewer.getControl().addDisposeListener(new DisposeListener() {

        public void widgetDisposed(DisposeEvent e) {
            bg.dispose();
        }
    });

    TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(writerViewer,
            new FocusCellOwnerDrawHighlighter(writerViewer) {
                @Override
                protected Color getSelectedCellBackgroundColor(ViewerCell cell) {
                    return bg;
                }
            });
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(writerViewer) {
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            boolean rv = false;

            if (event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION) {
                rv = (((MouseEvent) event.sourceEvent).stateMask & SWT.MOD1) == SWT.MOD1;
            }

            return rv || event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

    TableViewerEditor.create(writerViewer, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL
            //| ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
            | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    IFocusService focusService = (IFocusService) getSite().getService(IFocusService.class);
    focusService.addFocusTracker(writerViewer.getControl(), WRITER_TABLE);

    ObservableListContentProvider cp = new ObservableListContentProvider();
    writerViewer.setContentProvider(cp);

    ConditionalTemplate[] tpl = new ConditionalTemplate[3];
    tpl[0] = new ConditionalTemplate("${0}") {

        @Override
        public boolean isTemplate(EObject element) {
            return element instanceof Writer && ((Writer) element).getFirstName() != null;
        }

    };
    tpl[1] = new ConditionalTemplate("${0}") {

        @Override
        public boolean isTemplate(EObject element) {
            return element instanceof Writer && ((Writer) element).getLastName() != null;
        }

    };
    tpl[2] = new ConditionalTemplate("-") {

        @Override
        public boolean isTemplate(EObject element) {
            return true;
        }

    };

    EStructuralFeature[] features = new EStructuralFeature[2];
    features[0] = EXTLibraryPackage.Literals.PERSON__FIRST_NAME;
    features[1] = EXTLibraryPackage.Literals.PERSON__LAST_NAME;

    IObservableMap[] map = EMFEditObservables.observeMaps(domain, cp.getKnownElements(), features);

    TableViewerColumn c = new TableViewerColumn(writerViewer, SWT.NONE);
    c.getColumn().setText("Firstname");
    layout.setColumnData(c.getColumn(), new ColumnWeightData(1, 120));
    c.setLabelProvider(
            new ObservableColumnLabelProvider(new IObservableMap[] { map[0] }, Arrays.asList(tpl[0], tpl[2])));

    final TextCellEditor editor = new TextCellEditor(writerViewer.getTable());

    ObservableValueEditingSupport o = new ObservableValueEditingSupport(writerViewer, dbc) {

        @Override
        protected CellEditor getCellEditor(Object element) {
            return editor;
        }

        @Override
        protected IObservableValue doCreateElementObservable(Object element, ViewerCell cell) {
            return EMFEditObservables.observeValue(domain, (EObject) element,
                    EXTLibraryPackage.Literals.PERSON__FIRST_NAME);
        }

        @Override
        protected IObservableValue doCreateCellEditorObservable(CellEditor cellEditor) {
            return SWTObservables.observeText(cellEditor.getControl());
        }
    };
    c.setEditingSupport(o);

    c = new TableViewerColumn(writerViewer, SWT.NONE);
    c.getColumn().setText("Lastname");
    layout.setColumnData(c.getColumn(), new ColumnWeightData(1, 120));
    c.setLabelProvider(
            new ObservableColumnLabelProvider(new IObservableMap[] { map[1] }, Arrays.asList(tpl[1], tpl[2])));
    o = new ObservableValueEditingSupport(writerViewer, dbc) {

        @Override
        protected CellEditor getCellEditor(Object element) {
            return editor;
        }

        @Override
        protected IObservableValue doCreateElementObservable(Object element, ViewerCell cell) {
            return EMFEditObservables.observeValue(domain, (EObject) element,
                    EXTLibraryPackage.Literals.PERSON__LAST_NAME);
        }

        @Override
        protected IObservableValue doCreateCellEditorObservable(CellEditor cellEditor) {
            return SWTObservables.observeText(cellEditor.getControl());
        }
    };
    c.setEditingSupport(o);

    MenuManager mgr = new MenuManager();
    writerViewer.getControl().setMenu(mgr.createContextMenu(writerViewer.getControl()));
    getSite().registerContextMenu("org.eclipse.emf.examples.library.databinding.writer", mgr, writerViewer);

    writerViewer.setInput(EMFEditObservables.observeDetailList(Realm.getDefault(), domain, master,
            EXTLibraryPackage.Literals.LIBRARY__WRITERS));
    item.setControl(comp);

}

From source file:org.eclipse.etrice.ui.common.dialogs.AbstractPropertyDialog.java

License:Open Source License

@Override
protected void createFormContent(IManagedForm mform) {
    toolkit = mform.getToolkit();//ww  w  .ja  va2 s .  c o m
    bindingContext = new DataBindingContext();

    Form form = mform.getForm().getForm();
    form.setText(title);

    form.setImage(getImage());
    mform.getToolkit().decorateFormHeading(form);

    Composite body = form.getBody();
    body.setLayout(new GridLayout(2, false));
    body.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    validationLabel = toolkit.createLabel(body, "", SWT.NONE);
    validationLabel.setText("ERROR:");
    validationLabel.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_RED));

    validationText = toolkit.createLabel(body, "", SWT.NONE);
    validationText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    createContent(mform, body, bindingContext);

    aggregateValidationStatus = new AggregateValidationStatus(bindingContext.getBindings(),
            AggregateValidationStatus.MAX_SEVERITY);

    bindingContext.bindValue(SWTObservables.observeText(validationText), aggregateValidationStatus, null, null);

    aggregateValidationStatus.addChangeListener(new IChangeListener() {
        public void handleChange(ChangeEvent event) {

            boolean ok = true;
            for (Object o : bindingContext.getBindings()) {
                Binding binding = (Binding) o;
                IStatus status = (IStatus) binding.getValidationStatus().getValue();
                Control control = null;
                if (binding.getTarget() instanceof ISWTObservable) {
                    ISWTObservable swtObservable = (ISWTObservable) binding.getTarget();
                    control = (Control) swtObservable.getWidget();
                }
                ControlDecoration decoration = decoratorMap.get(control);
                if (decoration != null) {
                    if (status.isOK()) {
                        decoration.hide();
                    } else {
                        ok = false;
                        decoration.setDescriptionText(status.getMessage());
                        decoration.show();
                    }
                }
            }
            updateValidationFeedback(ok);
        }
    });
}

From source file:org.eclipse.etrice.ui.common.dialogs.AbstractPropertyDialog.java

License:Open Source License

protected Combo createCombo(Composite parent, String label, EObject obj, Object type, EReference ref,
        List<? extends EObject> candidates, EAttribute nameAttr, IValidator validator) {
    Label l = toolkit.createLabel(parent, label, SWT.NONE);
    l.setLayoutData(new GridData(SWT.NONE));

    Combo combo = new Combo(parent, SWT.READ_ONLY);
    combo.setLayoutData(new GridData(SWT.HORIZONTAL));
    combo.setVisibleItemCount(10);// ww w .j av  a  2 s .  co m
    toolkit.adapt(combo, true, true);

    Reference2StringConverter r2s = new Reference2StringConverter(type, nameAttr);
    for (EObject o : candidates) {
        combo.add((String) r2s.convert(o));
    }

    String2ReferenceConverter s2r = new String2ReferenceConverter(type, candidates, nameAttr);
    UpdateValueStrategy t2m = new UpdateValueStrategy().setConverter(s2r);
    UpdateValueStrategy m2t = new UpdateValueStrategy().setConverter(r2s);
    if (validator != null) {
        t2m.setAfterConvertValidator(validator);
        t2m.setBeforeSetValidator(validator);
        m2t.setAfterConvertValidator(validator);
        m2t.setBeforeSetValidator(validator);
    }
    bindingContext.bindValue(SWTObservables.observeText(combo),
            PojoObservables.observeValue(obj, ref.getName()), t2m, m2t);

    return combo;
}

From source file:org.eclipse.etrice.ui.common.dialogs.AbstractPropertyDialog.java

License:Open Source License

protected Combo createComboUsingDesc(Composite parent, String label, EObject obj, Object type, EReference ref,
        List<IEObjectDescription> candidates, EAttribute nameAttr, IValidator validator) {
    Label l = toolkit.createLabel(parent, label, SWT.NONE);
    l.setLayoutData(new GridData(SWT.NONE));

    Combo combo = new Combo(parent, SWT.READ_ONLY);
    combo.setLayoutData(new GridData(SWT.HORIZONTAL));
    combo.setVisibleItemCount(10);/*from w  w  w. j a  v  a 2s  .  c  o  m*/
    toolkit.adapt(combo, true, true);

    DescriptionBased_Reference2StringConverter r2s = new DescriptionBased_Reference2StringConverter(type,
            nameAttr);
    for (IEObjectDescription desc : candidates) {
        combo.add(r2s.convert(desc).toString());
    }

    DescriptionBased_String2ReferenceConverter s2r = new DescriptionBased_String2ReferenceConverter(type, obj,
            candidates);
    UpdateValueStrategy t2m = new UpdateValueStrategy().setConverter(s2r);
    UpdateValueStrategy m2t = new UpdateValueStrategy().setConverter(r2s);
    if (validator != null) {
        t2m.setAfterConvertValidator(validator);
        t2m.setBeforeSetValidator(validator);
        m2t.setAfterConvertValidator(validator);
        m2t.setBeforeSetValidator(validator);
    }
    bindingContext.bindValue(SWTObservables.observeText(combo),
            PojoObservables.observeValue(obj, ref.getName()), t2m, m2t);

    return combo;
}

From source file:org.eclipse.jubula.client.ui.rcp.editors.ObjectMappingConfigComponent.java

License:Open Source License

/**
 * /*  w w  w . java  2 s  .co  m*/
 * @param boundProperty The model property to use for databinding for
 *                      the created UI elements.
 * @param bindingContext The context to use for databinding for the created
 *                       UI elements.
 * @param factorScale Slider to bind.
 * @param factorText Label to bind.
 * @param lockCheckbox Checkbox to bind.
 * @param masterObservable Observable for the master element for which these
 *                         UI elements serve as detail. Essentially, the
 *                         created UI elements represent detailed
 *                         information about this element.
 * @param editor The editor containing the factor UI elements.
 */
private void bindFactor(String boundProperty, final DataBindingContext bindingContext, final Scale factorScale,
        Label factorText, Button lockCheckbox, IObservableValue masterObservable, IJBEditor editor) {

    IObservableValue uiElement = SWTObservables.observeSelection(factorScale);
    IObservableValue modelElement = BeansObservables.observeDetailValue(masterObservable, boundProperty,
            double.class);

    bindingContext.bindValue(uiElement, modelElement,
            new JBEditorUpdateValueStrategy(UpdateValueStrategy.POLICY_ON_REQUEST)
                    .setConverter(m_sliderToModelConverter),
            new UpdateValueStrategy().setConverter(m_modelToSliderConverter));
    uiElement = SWTObservables.observeText(factorText);
    bindingContext.bindValue(uiElement, modelElement,
            new UpdateValueStrategy().setConverter(m_labelToModelConverter),
            new UpdateValueStrategy().setConverter(m_modelToLabelConverter));

    IObservableValue checkboxSelection = SWTObservables.observeSelection(lockCheckbox);

    uiElement = SWTObservables.observeEnabled(factorScale);
    bindingContext.bindValue(uiElement, masterObservable,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
            new UpdateValueStrategy().setConverter(m_modelToEnablementConverter));
    bindingContext.bindValue(uiElement, checkboxSelection,
            new UpdateValueStrategy().setConverter(m_inverseBooleanConverter),
            new UpdateValueStrategy().setConverter(m_inverseBooleanConverter));

    uiElement = SWTObservables.observeEnabled(factorText);
    bindingContext.bindValue(uiElement, masterObservable,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
            new UpdateValueStrategy().setConverter(m_modelToEnablementConverter));
    bindingContext.bindValue(uiElement, checkboxSelection,
            new UpdateValueStrategy().setConverter(m_inverseBooleanConverter),
            new UpdateValueStrategy().setConverter(m_inverseBooleanConverter));

    uiElement = SWTObservables.observeEnabled(lockCheckbox);
    bindingContext.bindValue(uiElement, masterObservable,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
            new UpdateValueStrategy().setConverter(m_modelToEnablementConverter));

}

From source file:org.eclipse.jubula.client.ui.rcp.editors.ObjectMappingConfigComponent.java

License:Open Source License

/**
 * Updates the binding between the given scale and its corresponding model
 * value. This is done by removing the old bindings and creating new ones.
 * /* w w w .  j  a  va  2  s .c om*/
 * @param boundProperty the property for the binding
 * @param bindingContext the binding context
 * @param factorScale the scale
 * @param masterObservable the observable
 */
private void updateBindFactor(String boundProperty, final DataBindingContext bindingContext,
        final Scale factorScale, IObservableValue masterObservable) {

    IObservableValue uiElement = SWTObservables.observeSelection(factorScale);
    IObservableValue modelElement = BeansObservables.observeDetailValue(masterObservable, boundProperty,
            double.class);

    removeBinding(uiElement, modelElement);
    bindingContext.bindValue(uiElement, modelElement,
            new JBEditorUpdateValueStrategy(UpdateValueStrategy.POLICY_ON_REQUEST)
                    .setConverter(m_sliderToModelConverter),
            new UpdateValueStrategy().setConverter(m_modelToSliderConverter));

    Label factorText = m_factorLabels.get(factorScale);
    uiElement = SWTObservables.observeText(factorText);
    removeBinding(uiElement, modelElement);
    bindingContext.bindValue(uiElement, modelElement,
            new UpdateValueStrategy().setConverter(m_labelToModelConverter),
            new UpdateValueStrategy().setConverter(m_modelToLabelConverter));

    uiElement = SWTObservables.observeEnabled(factorScale);
    removeBinding(uiElement, masterObservable);
    bindingContext.bindValue(uiElement, masterObservable,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
            new UpdateValueStrategy().setConverter(m_modelToEnablementConverter));
}

From source file:org.eclipse.jubula.client.ui.rcp.editors.ObjectMappingConfigComponent.java

License:Open Source License

/**
 * Updates the binding for the threshold
 * @param bindingContext the binding context
 * @param masterObservable the model observable
 *//*from ww  w  .j  ava 2s.c om*/
private void updateThresholdBind(final DataBindingContext bindingContext, IObservableValue masterObservable) {
    IObservableValue uiElement;
    IObservableValue modelElement;
    String boundProperty = IObjectMappingProfilePO.PROP_THRESHOLD;
    uiElement = SWTObservables.observeSelection(m_threshold);
    modelElement = BeansObservables.observeDetailValue(masterObservable, boundProperty, double.class);
    removeBinding(uiElement, masterObservable);
    bindingContext.bindValue(uiElement, modelElement,
            new UpdateValueStrategy().setConverter(m_sliderToModelConverter),
            new UpdateValueStrategy().setConverter(m_modelToSliderConverter));

    uiElement = SWTObservables.observeText(m_thresholdText);
    removeBinding(uiElement, masterObservable);
    bindingContext.bindValue(uiElement, modelElement, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
            new UpdateValueStrategy().setConverter(m_modelToLabelConverter));
}

From source file:org.eclipse.jubula.client.ui.rcp.editors.ObjectMappingConfigComponent.java

License:Open Source License

/**
 * Creates the labels and slider for the Threshold property as
 * well as the corresponding data bindings.
 * //from  www.j a v  a2s  . c o  m
 * @param parent Parent of the created components.
 * @param bindingContext The data binding context.
 * @param masterObservable Observable value used to determine
 *                         which model object is currently
 *                         being observed in detail.
 */
private void createThresholdSlider(Composite parent, DataBindingContext bindingContext,
        IObservableValue masterObservable) {

    String boundProperty = IObjectMappingProfilePO.PROP_THRESHOLD;
    // create Widget
    Label label = new Label(parent, SWT.NONE);
    label.setText(Messages.ObjectMappingPreferencePageThreshold);
    m_threshold = new Scale(parent, SWT.NONE);
    m_threshold.setMinimum(0);
    m_threshold.setMaximum(HUNDRED_PERCENT);
    m_threshold.setIncrement(STEP);
    m_threshold.setPageIncrement(STEP);
    m_threshold.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    m_thresholdText = new Label(parent, SWT.NONE);
    setLabelWidth(m_thresholdText);
    new Label(parent, SWT.NONE);

    ISWTObservableValue uiElement = SWTObservables.observeSelection(m_threshold);
    IObservableValue modelElement = BeansObservables.observeDetailValue(masterObservable, boundProperty,
            double.class);
    bindingContext.bindValue(uiElement, modelElement,
            new UpdateValueStrategy().setConverter(m_sliderToModelConverter),
            new UpdateValueStrategy().setConverter(m_modelToSliderConverter));

    uiElement = SWTObservables.observeText(m_thresholdText);
    bindingContext.bindValue(uiElement, modelElement, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
            new UpdateValueStrategy().setConverter(m_modelToLabelConverter));

    uiElement = SWTObservables.observeEnabled(m_threshold);
    bindingContext.bindValue(uiElement, masterObservable,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
            new UpdateValueStrategy().setConverter(m_modelToEnablementConverter));

    uiElement = SWTObservables.observeEnabled(m_thresholdText);
    bindingContext.bindValue(uiElement, masterObservable,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
            new UpdateValueStrategy().setConverter(m_modelToEnablementConverter));
}

From source file:org.eclipse.libra.facet.ui.wizards.ConvertProjectsToBundlesWizardPage.java

License:Open Source License

private void createProjectsViewer(Composite parent) {
    DataBindingContext dbc = new DataBindingContext();
    WizardPageSupport.create(this, dbc);

    Label projectsLabel = new Label(parent, SWT.NONE);
    projectsLabel.setText(Messages.ConvertProjectsToBundlesWizardPage_AvailableProjects);
    GridDataFactory.swtDefaults().span(2, 1).applyTo(projectsLabel);

    final CheckboxTableViewer projectsViewer = CheckboxTableViewer.newCheckList(parent,
            SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(projectsViewer.getControl());
    projectsViewer.setLabelProvider(new WorkbenchLabelProvider());
    projectsViewer.setContentProvider(new ArrayContentProvider());
    projectsViewer.setInput(fUnconverted);
    projectsViewer.setComparator(new ViewerComparator());
    dbc.bindSet(ViewersObservables.observeCheckedElements(projectsViewer, IProject.class), fSelected);
    dbc.addValidationStatusProvider(new SelectionValidator());

    Composite buttonGroup = new Composite(parent, SWT.NONE);
    GridLayoutFactory.fillDefaults().generateLayout(buttonGroup);

    Button selectAllButton = new Button(buttonGroup, SWT.PUSH);
    selectAllButton.setText(Messages.ConvertProjectsToBundlesWizardPage_SelectAll);
    selectAllButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            fSelected.addAll(fUnconverted);
        }/*from w w w . j  a  v a 2s. c o m*/
    });
    GridDataFactory.fillDefaults().applyTo(selectAllButton);

    Button deselectAllButton = new Button(buttonGroup, SWT.PUSH);
    deselectAllButton.setText(Messages.ConvertProjectsToBundlesWizardPage_DeselectAll);
    deselectAllButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            for (Object o : fUnconverted) {
                fSelected.remove(o);
            }

        }
    });
    GridDataFactory.fillDefaults().applyTo(deselectAllButton);

    Button addReferencesButton = new Button(buttonGroup, SWT.PUSH);
    addReferencesButton.setText(Messages.ConvertProjectsToBundlesWizardPage_AddReferences);
    addReferencesButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            selectReferences();
        }
    });
    GridDataFactory.fillDefaults().indent(0, 8).applyTo(addReferencesButton);

    Label selectedCountLabel = new Label(buttonGroup, SWT.WRAP);
    GridDataFactory.swtDefaults().align(SWT.FILL, SWT.BOTTOM).grab(false, true).applyTo(selectedCountLabel);
    dbc.bindValue(SWTObservables.observeText(selectedCountLabel), new ComputedValue(String.class) {
        @Override
        protected Object calculate() {
            return NLS.bind(Messages.ConvertProjectsToBundlesWizardPage_SelectionCounter, fSelected.size(),
                    fUnconverted.size());
        }
    });
}