List of usage examples for org.eclipse.jface.databinding.swt WidgetProperties selection
public static IWidgetValueProperty selection()
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); }