Example usage for org.eclipse.jface.databinding.swt WidgetProperties selection

List of usage examples for org.eclipse.jface.databinding.swt WidgetProperties selection

Introduction

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

Prototype

public static IWidgetValueProperty selection() 

Source Link

Document

Returns a value property for observing the selection state of a Button , CCombo , Combo , DateTime , List , MenuItem (since 1.5), Scale , Slider (since 1.5) or Spinner .

Usage

From source file:de.walware.statet.redocs.internal.wikitext.r.ui.config.EditorPreferencePage.java

License:Open Source License

@Override
protected void addBindings(final DataBindingSupport db) {
    db.getContext().bindValue(WidgetProperties.selection().observe(this.spellEnableControl),
            createObservable(WIKIDOC_SPELLCHECK_ENABLED_PREF));
}

From source file:eu.numberfour.n4js.n4mf.ui.wizard.N4MFWizardNewProjectCreationPage.java

License:Open Source License

private void initDefaultCreateGreeterBindings(DataBindingContext dbc, Button createGreeterFileButton) {
    // Bind the "create greeter file"-checkbox
    dbc.bindValue(WidgetProperties.selection().observe(createGreeterFileButton), BeanProperties
            .value(N4MFProjectInfo.class, N4MFProjectInfo.CREATE_GREETER_FILE_PROP_NAME).observe(projectInfo));
}

From source file:eu.numberfour.n4js.n4mf.ui.wizard.N4MFWizardNewProjectCreationPage.java

License:Open Source License

private void initTestProjectBinding(DataBindingContext dbc, Button addNormalSourceFolderButton,
        Button createTestGreeterFileButton) {
    // Bind the "normal source folder"-checkbox
    dbc.bindValue(WidgetProperties.selection().observe(addNormalSourceFolderButton),
            PojoProperties/*  www.ja v a 2  s . co m*/
                    .value(N4MFProjectInfo.class, N4MFProjectInfo.ADDITIONAL_NORMAL_SOURCE_FOLDER_PROP_NAME)
                    .observe(projectInfo));

    // Bind the "Create greeter file"-checkbox
    dbc.bindValue(WidgetProperties.selection().observe(createTestGreeterFileButton), BeanProperties
            .value(N4MFProjectInfo.class, N4MFProjectInfo.CREATE_GREETER_FILE_PROP_NAME).observe(projectInfo));
}

From source file:eu.numberfour.n4js.ui.wizard.classwizard.N4JSNewClassWizardPage.java

License:Open Source License

private void setupBindings(N4JSNewClassMainForm mainForm) {
    databindingContext = new DataBindingContext();

    // Project property binding
    IObservableValue projectModelValue = BeanProperties
            .value(N4JSClassWizardModel.class, N4JSClassWizardModel.PROJECT_PROPERTY).observe(model);
    IObservableValue projectUI = WidgetProperties.text(SWT.Modify).observe(mainForm.getProjectText());

    // Note: No model to UI conversation here as IPath is castable to String (default behaviour)
    databindingContext.bindValue(projectUI, projectModelValue,
            new StringToPathConverter().updatingValueStrategy(),
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_UPDATE));

    // Source folder property binding
    IObservableValue sourceFolderModelValue = BeanProperties
            .value(N4JSClassWizardModel.class, N4JSClassWizardModel.SOURCE_FOLDER_PROPERTY).observe(model);
    IObservableValue sourceFolderUI = WidgetProperties.text(SWT.Modify).observe(mainForm.getSourceFolderText());

    // Note: No model to UI conversation (see above)
    databindingContext.bindValue(sourceFolderUI, sourceFolderModelValue,
            new StringToPathConverter().updatingValueStrategy(),
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_UPDATE));

    IObservableValue projectValidModelValue = BeanProperties
            .value(N4JSClassWizardModelValidator.class, N4JSClassWizardModelValidator.PROJECT_PROPERTY_VALID)
            .observe(this.validator);
    IObservableValue sourceFolderBrowseEnabled = WidgetProperties.enabled()
            .observe(mainForm.getSourceFolderBrowseButton());

    databindingContext.bindValue(sourceFolderBrowseEnabled, projectValidModelValue,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_UPDATE));

    // Module specifier property binding
    IObservableValue moduleSpecifierModelValue = BeanProperties
            .value(N4JSClassWizardModel.class, N4JSClassWizardModel.MODULE_SPECIFIER_PROPERTY).observe(model);
    IObservableValue moduleSpecifierUI = BeanProperties.value(SuffixText.class, SuffixText.TEXT_PROPERTY)
            .observe(mainForm.getModuleSpecifierText());
    databindingContext.bindValue(moduleSpecifierUI, moduleSpecifierModelValue);

    // Class name property binding
    IObservableValue classNameModelValue = BeanProperties
            .value(N4JSClassWizardModel.class, N4JSClassWizardModel.CLASS_NAME_PROPERTY).observe(model);
    IObservableValue classNameUI = WidgetProperties.text(SWT.Modify).observe(mainForm.getClassNameText());
    databindingContext.bindValue(classNameUI, classNameModelValue);

    //// Class name to module specifier suffix binding
    IObservableValue greySuffixValue = BeanProperties.value(SuffixText.class, SuffixText.SUFFIX_PROPERTY)
            .observe(mainForm.getModuleSpecifierText());
    databindingContext.bindValue(greySuffixValue, classNameModelValue,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_UPDATE));

    //// Only show the suffix on input values ending with a '/' character or empty module specifiers.
    mainForm.getModuleSpecifierText().addPropertyChangeListener(new PropertyChangeListener() {

        @Override/*from  ww  w .ja  v  a 2s  .  c  o  m*/
        public void propertyChange(PropertyChangeEvent evt) {
            SuffixText input = mainForm.getModuleSpecifierText();
            String inputText = input.getText();
            if (inputText.equals("") || inputText.charAt(inputText.length() - 1) == '/') {
                input.setSuffixVisible(true);
            } else {
                input.setSuffixVisible(false);
            }

        }
    });

    IObservableValue moduleSpecifierBrowseEnabled = WidgetProperties.enabled()
            .observe(mainForm.getModuleSpecifierBrowseButton());
    IObservableValue sourceFolderValidValue = BeanProperties.value(N4JSClassWizardModelValidator.class,
            N4JSClassWizardModelValidator.SOURCE_FOLDER_PROPERTY_VALID).observe(this.validator);
    IObservableValue projectValidValue = BeanProperties
            .value(N4JSClassWizardModelValidator.class, N4JSClassWizardModelValidator.PROJECT_PROPERTY_VALID)
            .observe(this.validator);

    ConditionalConverter moduleSpecifierBrowseableConverter = new ConditionalConverter() {

        @Override
        public boolean validate(Object object) {
            return validator.getSourceFolderValid() && validator.getProjectValid();
        }
    };

    // Bind model changes of project or source folder property to the enabled state of the module specifier browse
    // button.
    databindingContext.bindValue(moduleSpecifierBrowseEnabled, projectValidValue,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
            moduleSpecifierBrowseableConverter.updatingValueStrategy());
    databindingContext.bindValue(moduleSpecifierBrowseEnabled, sourceFolderValidValue,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
            moduleSpecifierBrowseableConverter.updatingValueStrategy());

    // External property binding (definition file)

    IObservableValue externalValue = BeanProperties
            .value(N4JSClassWizardModel.class, N4JSClassWizardModel.EXTERNAL_PROPERTY).observe(model);
    IObservableValue externalUI = WidgetProperties.selection().observe(mainForm.getDefinitionFileBox());
    databindingContext.bindValue(externalUI, externalValue);

    // Access modifier property binding

    IObservableValue publicButtonSelection = WidgetProperties.selection()
            .observe(mainForm.getPublicAccessModifierBox());
    IObservableValue projectButtonSelection = WidgetProperties.selection()
            .observe(mainForm.getProjectAccessModifierBox());
    IObservableValue privateButtonSelection = WidgetProperties.selection()
            .observe(mainForm.getPrivateAccessModifierBox());

    SelectObservableValue accessModifierSelectObservable = new SelectObservableValue();
    accessModifierSelectObservable.addOption(N4JSClassWizardModel.AccessModifier.PUBLIC, publicButtonSelection);
    accessModifierSelectObservable.addOption(N4JSClassWizardModel.AccessModifier.PROJECT,
            projectButtonSelection);
    accessModifierSelectObservable.addOption(N4JSClassWizardModel.AccessModifier.PRIVATE,
            privateButtonSelection);

    IObservableValue accessModifierProperty = BeanProperties
            .value(N4JSClassWizardModel.class, N4JSClassWizardModel.ACCESS_MODIFIER_PROPERTY).observe(model);

    databindingContext.bindValue(accessModifierSelectObservable, accessModifierProperty);

    // Internal property binding

    IObservableValue internalValue = BeanProperties
            .value(N4JSClassWizardModel.class, N4JSClassWizardModel.INTERNAL_PROPERTY).observe(model);
    IObservableValue internalUI = WidgetProperties.selection().observe(mainForm.getInternalAnnotationBox());
    databindingContext.bindValue(internalUI, internalValue);

    IObservableValue internalEnabledValue = WidgetProperties.enabled()
            .observe(mainForm.getInternalAnnotationBox());

    // One way binding of the access modifiers to the enabled state of internal checkbox
    databindingContext.bindValue(internalEnabledValue, accessModifierSelectObservable,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
            new N4JSNewClassWizardConverters.ConditionalConverter() {

                @Override
                public boolean validate(Object object) {
                    if (object instanceof AccessModifier) {
                        if (((AccessModifier) object) == AccessModifier.PROJECT
                                || ((AccessModifier) object) == AccessModifier.PUBLIC) {
                            return true;
                        }
                    }
                    return false;
                }
            }.updatingValueStrategy());

    // Final property binding

    IObservableValue finalValue = BeanProperties
            .value(N4JSClassWizardModel.class, N4JSClassWizardModel.FINAL_PROPERTY).observe(model);
    IObservableValue finalUI = WidgetProperties.selection().observe(mainForm.getFinalAnnotationBox());
    databindingContext.bindValue(finalUI, finalValue);

    // n4js annotation property binding

    IObservableValue n4jsValue = BeanProperties
            .value(N4JSClassWizardModel.class, N4JSClassWizardModel.N4JS_PROPERTY).observe(model);
    IObservableValue n4jsUI = WidgetProperties.selection().observe(mainForm.getN4jsAnnotationBox());

    databindingContext.bindValue(n4jsUI, n4jsValue);

    // super class property binding

    IObservableValue superClassValue = BeanProperties
            .value(N4JSClassWizardModel.class, N4JSClassWizardModel.SUPER_CLASS_PROPERTY).observe(model);
    IObservableValue superClassUI = WidgetProperties.text(SWT.Modify).observe(mainForm.getSuperClassText());

    databindingContext.bindValue(superClassUI, superClassValue,
            new N4JSNewClassWizardConverters.StringToClassifierReferenceConverter().updatingValueStrategy(),
            new N4JSNewClassWizardConverters.ClassifierReferenceToStringConverter().updatingValueStrategy());

    //// Enable n4js <-> Definition value(external) is selected
    IObservableValue n4jsUIEnabled = WidgetProperties.enabled().observe(mainForm.getN4jsAnnotationBox());
    databindingContext.bindValue(n4jsUIEnabled, externalValue);

    // Validation property result binding

    observableValidationValue = BeanProperties.value(N4JSClassWizardModelValidator.VALIDATION_RESULT)
            .observe(this.validator);
    observableValidationValue.addValueChangeListener(new IValueChangeListener() {

        @Override
        public void handleValueChange(ValueChangeEvent event) {
            onValidationChange((ValidationResult) event.diff.getNewValue());
        }
    });

}

From source file:eu.numberfour.n4js.ui.wizard.components.AccessModifierComponent.java

License:Open Source License

private void setupBindings() {
    // Access modifier property binding
    IObservableValue publicButtonSelection = WidgetProperties.selection().observe(publicAccessModifierBox);
    IObservableValue projectButtonSelection = WidgetProperties.selection().observe(projectAccessModifierBox);
    IObservableValue privateButtonSelection = WidgetProperties.selection().observe(privateAccessModifierBox);

    SelectObservableValue accessModifierSelectObservable = new SelectObservableValue();
    accessModifierSelectObservable.addOption(AccessModifier.PUBLIC, publicButtonSelection);
    accessModifierSelectObservable.addOption(AccessModifier.PROJECT, projectButtonSelection);
    accessModifierSelectObservable.addOption(AccessModifier.PRIVATE, privateButtonSelection);

    IObservableValue accessModifierProperty = BeanProperties
            .value(AccessModifiableModel.class, N4JSClassifierWizardModel.ACCESS_MODIFIER_PROPERTY)
            .observe(model);//from  w  w  w.j a  va 2s  .  com

    dataBindingContext.bindValue(accessModifierSelectObservable, accessModifierProperty);

    // Internal property binding

    IObservableValue internalValue = BeanProperties
            .value(AccessModifiableModel.class, N4JSClassifierWizardModel.INTERNAL_PROPERTY).observe(model);
    IObservableValue internalUI = WidgetProperties.selection().observe(getInternalAnnotationBox());
    dataBindingContext.bindValue(internalUI, internalValue);
}

From source file:eu.numberfour.n4js.ui.wizard.components.FileTypeComponent.java

License:Open Source License

private void setupBindings() {
    // Definition file property binding (definition file)

    IObservableValue externalValue = BeanProperties
            .value(DefinitionFileModel.class, N4JSClassifierWizardModel.DEFINITION_FILE_PROPERTY)
            .observe(model);//w  ww.j av  a2 s.  co  m
    IObservableValue externalUI = WidgetProperties.selection().observe(definitionFileBox);
    getDataBindingContext().bindValue(externalUI, externalValue);
}

From source file:eu.numberfour.n4js.ui.wizard.components.OtherClassifierModifiersComponent.java

License:Open Source License

private void setupBindings() {
    // Final property binding

    if (null != finalAnnotationBox) {
        IObservableValue finalValue = BeanProperties
                .value(N4JSClassWizardModel.class, N4JSClassWizardModel.FINAL_ANNOTATED_PROPERTY)
                .observe(model);// w  w  w  . j a  v  a2 s . co m
        IObservableValue finalUI = WidgetProperties.selection().observe(finalAnnotationBox);
        getDataBindingContext().bindValue(finalUI, finalValue);
    }

    // n4js annotation property binding

    IObservableValue n4jsValue = BeanProperties
            .value(N4JSClassWizardModel.class, N4JSClassifierWizardModel.N4JS_ANNOTATED_PROPERTY)
            .observe(model);
    IObservableValue n4jsUI = WidgetProperties.selection().observe(n4jsAnnotationBox);

    getDataBindingContext().bindValue(n4jsUI, n4jsValue);
}

From source file:fr.gouv.mindef.safran.database.ui.wizards.imports.DatabaseImportWizardPage.java

License:Open Source License

private void bindValues() {
    // The DataBindingContext object will manage the databindings
    // Lets bind it
    DataBindingContext ctx = new DataBindingContext();

    IObservableValue widgetValue = WidgetProperties.selection().observe(comboDbVendor);
    IObservableValue modelValue = BeansObservables.observeValue(databaseInfos, "vendor");
    ctx.bindValue(widgetValue, modelValue);

    widgetValue = WidgetProperties.text(SWT.Modify).observe(txtHost);
    modelValue = BeanProperties.value(DatabaseInfos.class, "host").observe(databaseInfos);
    ctx.bindValue(widgetValue, modelValue);

    widgetValue = WidgetProperties.text(SWT.Modify).observe(txtPort);
    modelValue = BeanProperties.value(DatabaseInfos.class, "port").observe(databaseInfos);
    ctx.bindValue(widgetValue, modelValue);

    widgetValue = WidgetProperties.text(SWT.Modify).observe(txtDatabase);
    modelValue = BeanProperties.value(DatabaseInfos.class, DATABASE_FILE_EXTENSION).observe(databaseInfos);
    ctx.bindValue(widgetValue, modelValue);

    widgetValue = WidgetProperties.text(SWT.Modify).observe(txtSchema);
    modelValue = BeanProperties.value(DatabaseInfos.class, "schema").observe(databaseInfos);
    ctx.bindValue(widgetValue, modelValue);

    widgetValue = WidgetProperties.text(SWT.Modify).observe(txtUser);
    modelValue = BeanProperties.value(DatabaseInfos.class, "user").observe(databaseInfos);
    ctx.bindValue(widgetValue, modelValue);

    widgetValue = WidgetProperties.text(SWT.Modify).observe(txtPassword);
    modelValue = BeanProperties.value(DatabaseInfos.class, "password").observe(databaseInfos);
    ctx.bindValue(widgetValue, modelValue);

    widgetValue = WidgetProperties.text(SWT.Modify).observe(txtUrl);
    modelValue = BeanProperties.value(DatabaseInfos.class, "url").observe(databaseInfos);
    ctx.bindValue(widgetValue, modelValue);
}

From source file:gov.redhawk.datalist.ui.views.OptionsComposite.java

License:Open Source License

public void createControl(Composite main) {
    final Composite parent = new Composite(main, SWT.None);
    parent.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    parent.setLayout(GridLayoutFactory.fillDefaults().numColumns(3).create());

    final ComboViewer captureCombo = new ComboViewer(parent, SWT.DROP_DOWN | SWT.READ_ONLY | SWT.BORDER);
    captureCombo.setContentProvider(new ArrayContentProvider());
    captureCombo.setLabelProvider(new LabelProvider());
    captureCombo.setInput(new Object[] { CaptureMethod.NUMBER, CaptureMethod.INDEFINITELY });
    ctx.bindValue(ViewerProperties.singleSelection().observe(captureCombo),
            BeanProperties.value("processType").observe(settings));

    samplesTxt = new Text(parent, SWT.BORDER);
    samplesTxt.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    ctx.bindValue(WidgetProperties.enabled().observe(samplesTxt),
            BeanProperties.value("processType").observe(settings),
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
            new UpdateValueStrategy().setConverter(new Converter(CaptureMethod.class, Boolean.class) {

                @Override/*from   w ww . j a v a 2  s . co  m*/
                public Object convert(Object fromObject) {
                    if (fromObject == CaptureMethod.INDEFINITELY) {
                        return false;
                    }
                    return true;
                }
            }));
    Binding binding = ctx.bindValue(WidgetProperties.text(SWT.Modify).observe(samplesTxt),
            BeanProperties.value("samples").observe(settings),
            new UpdateValueStrategy().setBeforeSetValidator(new IValidator() {

                @Override
                public IStatus validate(Object obj) {
                    Double value = (Double) obj;
                    if (Double.valueOf(value) <= 0) {
                        return ValidationStatus.error(settings.getProcessType() + " must be greater than 0.");
                    }

                    if (value > Integer.MAX_VALUE) {
                        return ValidationStatus.error(settings.getProcessType()
                                + " must be less than or equal to " + Integer.MAX_VALUE + ".");
                    }

                    if ((value - value.intValue()) > 0) {
                        return ValidationStatus
                                .error(settings.getProcessType() + " must be a positive integer.");
                    }

                    if (value > 1000000) {
                        return ValidationStatus.warning("For this sample size, you may run out of heap space.");
                    }
                    return ValidationStatus.ok();
                }

            }), null);
    ControlDecorationSupport.create(binding, SWT.TOP | SWT.LEFT);

    final IObservableValue running = BeanProperties.value("running").observe(state);
    final IObservableValue pType = BeanProperties.value("processType").observe(settings);
    ComputedValue enabledSamples = new ComputedValue(Boolean.class) {

        @Override
        protected Object calculate() {
            return !(Boolean) running.getValue() && pType.getValue() != CaptureMethod.INDEFINITELY;
        }
    };

    ctx.bindValue(WidgetProperties.enabled().observe(samplesTxt), enabledSamples,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), null);

    final Label unitsLabel = new Label(parent, SWT.None);
    unitsLabel.setText("");
    GridData unitsLayout = new GridData();
    unitsLayout.widthHint = 20;
    unitsLabel.setLayoutData(unitsLayout);

    settings.addPropertyChangeListener(new PropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent evt) {
            if ("processType".equals(evt.getPropertyName())) {
                CaptureMethod method = (CaptureMethod) evt.getNewValue();
                if (method == CaptureMethod.INDEFINITELY) {
                    settings.setSamples(1);
                    unitsLabel.setText("");
                } else {
                    if (method == CaptureMethod.CLOCK_TIME || method == CaptureMethod.SAMPLE_TIME) {
                        unitsLabel.setText("(s)");
                    } else {
                        unitsLabel.setText("");
                    }
                    settings.setSamples(1024);
                }
            }
        }
    });

    Label label = new Label(parent, SWT.None);
    label.setText("Number of Dimensions:");

    Combo columnsCombo = new Combo(parent, SWT.BORDER | SWT.SINGLE | SWT.DROP_DOWN);
    columnsCombo.setText(REAL);
    columnsCombo.add(REAL, 0);
    columnsCombo.add(COMPLEX, 1);
    columnsCombo.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    ctx.bindValue(WidgetProperties.enabled().observe(columnsCombo),
            BeanProperties.value("running").observe(state),
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
            new UpdateValueStrategy().setConverter(new Converter(Boolean.class, Boolean.class) {

                @Override
                public Boolean convert(Object fromObject) {
                    return !((Boolean) fromObject);
                }
            }));
    binding = ctx.bindValue(WidgetProperties.selection().observe(columnsCombo),
            BeanProperties.value("dimensions").observe(settings),
            new UpdateValueStrategy().setAfterGetValidator(new IValidator() {

                @Override
                public IStatus validate(Object value) {
                    if (REAL.equalsIgnoreCase((String) value)) {
                        return ValidationStatus.ok();
                    } else if (COMPLEX.equalsIgnoreCase((String) value)) {
                        return ValidationStatus.ok();
                    } else {
                        try {
                            Integer intValue = Integer.valueOf((String) value);
                            if (intValue > 0) {
                                return ValidationStatus.ok();
                            }
                        } catch (NumberFormatException e) {
                            // PASS
                        }
                    }
                    return ValidationStatus
                            .error("Please enter a positive integer or choose one of the options below.");
                }

            }).setConverter(new Converter(String.class, Integer.class) {

                @Override
                public Object convert(Object fromObject) {
                    if (REAL.equalsIgnoreCase((String) fromObject)) {
                        return 1;
                    } else if (COMPLEX.equalsIgnoreCase((String) fromObject)) {
                        return 2;
                    } else {
                        return Integer.valueOf((String) fromObject);
                    }
                }

            }), null);
    ControlDecorationSupport.create(binding, SWT.TOP | SWT.LEFT);

    button = new Button(parent, SWT.None);
    button.setLayoutData(GridDataFactory.fillDefaults().create());
    button.setImage(resources.get("icons/start.gif"));
    button.setToolTipText("Start Acquire");
    button.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            if (state.isRunning) {
                stopAcquire();
            } else {
                startAcquire();
            }
        }
    });
    ctx.bindValue(WidgetProperties.enabled().observe(button),
            new AggregateValidationStatus(ctx, AggregateValidationStatus.MAX_SEVERITY),
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
            new UpdateValueStrategy().setConverter(new Converter(IStatus.class, Boolean.class) {

                @Override
                public Object convert(Object fromObject) {
                    return ((IStatus) fromObject).getSeverity() != IStatus.ERROR;
                }
            }));
}

From source file:gov.redhawk.datareader.ui.controlPanels.DataReaderComposite.java

License:Open Source License

public void setComboBindings(ScaComponent input, String id, Widget value) {
    IObservableValue scaProperty = SCAObservables.observeSimpleProperty(input, id);
    IObservableValue cPanelProperty = WidgetProperties.selection().observeDelayed(500, value);
    context.bindValue(cPanelProperty, scaProperty);
}