List of usage examples for org.eclipse.jface.databinding.swt SWTObservables observeText
@Deprecated public static ISWTObservableValue observeText(Control control, int event)
control
. From source file:org.eclipse.e4.xwt.tests.snipppets.Snippet004DataBindingContextErrorLabel.java
License:Open Source License
public static void main(String[] args) { final Display display = new Display(); Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() { public void run() { Shell shell = new Shell(display); shell.setText("Data Binding Snippet 004"); shell.setLayout(new GridLayout(2, false)); new Label(shell, SWT.NONE).setText("Enter '5' to be valid:"); Text text = new Text(shell, SWT.BORDER); WritableValue value = WritableValue.withValueType(String.class); new Label(shell, SWT.NONE).setText("Error:"); Label errorLabel = new Label(shell, SWT.BORDER); errorLabel.setForeground(display.getSystemColor(SWT.COLOR_RED)); GridDataFactory.swtDefaults().hint(200, SWT.DEFAULT).applyTo(errorLabel); DataBindingContext dbc = new DataBindingContext(); // Bind the text to the value. dbc.bindValue(SWTObservables.observeText(text, SWT.Modify), value, new UpdateValueStrategy().setAfterConvertValidator(new FiveValidator()), null); // Bind the error label to the validation error on the dbc. dbc.bindValue(SWTObservables.observeText(errorLabel), new AggregateValidationStatus(dbc.getBindings(), AggregateValidationStatus.MAX_SEVERITY)); shell.pack();// www. j av a2 s . co m shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } } }); display.dispose(); }
From source file:org.eclipse.e4.xwt.tests.snipppets.Snippet019TreeViewerWithListFactory.java
License:Open Source License
protected DataBindingContext initDataBindings() { IObservableValue treeViewerSelectionObserveSelection = ViewersObservables .observeSingleSelection(beanViewer); IObservableValue textTextObserveWidget = SWTObservables.observeText(beanText, SWT.Modify); IObservableValue treeViewerValueObserveDetailValue = BeansObservables .observeDetailValue(treeViewerSelectionObserveSelection, "text", String.class); ///*from w w w . j a v a 2 s .co m*/ // DataBindingContext bindingContext = new DataBindingContext(); // bindingContext.bindValue(textTextObserveWidget, treeViewerValueObserveDetailValue); // return bindingContext; }
From source file:org.eclipse.e4.xwt.tests.snipppets.Snippet021MultiFieldValidation.java
License:Open Source License
private void bindEvensAndOddsGroup(DataBindingContext dbc) { IObservableValue targetField1 = SWTObservables.observeText(field1Target, SWT.Modify); final IObservableValue middleField1 = new WritableValue(null, Integer.TYPE); dbc.bindValue(targetField1, middleField1); IObservableValue targetField2 = SWTObservables.observeText(field2Target, SWT.Modify); final IObservableValue middleField2 = new WritableValue(null, Integer.TYPE); dbc.bindValue(targetField2, middleField2); MultiValidator validator = new MultiValidator() { protected IStatus validate() { Integer field1 = (Integer) middleField1.getValue(); Integer field2 = (Integer) middleField2.getValue(); if (Math.abs(field1.intValue()) % 2 != Math.abs(field2.intValue()) % 2) return ValidationStatus.error("Fields 1 and 2 must be both even or both odd"); return null; }//from w ww . j av a 2s. co m }; dbc.addValidationStatusProvider(validator); IObservableValue modelField1 = new WritableValue(new Integer(1), Integer.TYPE); IObservableValue modelField2 = new WritableValue(new Integer(4), Integer.TYPE); dbc.bindValue(validator.observeValidatedValue(middleField1), modelField1); dbc.bindValue(validator.observeValidatedValue(middleField2), modelField2); dbc.bindValue(SWTObservables.observeText(field1ModelValue, SWT.Modify), modelField1); dbc.bindValue(SWTObservables.observeText(field2ModelValue, SWT.Modify), modelField2); }
From source file:org.eclipse.e4.xwt.tests.snipppets.Snippet021MultiFieldValidation.java
License:Open Source License
private void bindSumAndAddendsGroup(DataBindingContext dbc) { IObservableValue targetSum = SWTObservables.observeText(sumTarget, SWT.Modify); final IObservableValue middleSum = new WritableValue(null, Integer.TYPE); dbc.bindValue(targetSum, middleSum); final IObservableList targetAddends = new WritableList(new ArrayList(), Integer.TYPE); addendsTarget.setContentProvider(new ObservableListContentProvider()); addendsTarget.setInput(targetAddends); addAddendButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent e) { InputDialog dialog = new InputDialog(getShell(), "Input addend", "Enter an integer addend", "0", new IInputValidator() { public String isValid(String newText) { try { Integer.valueOf(newText); return null; } catch (NumberFormatException e) { return "Enter a number between " + Integer.MIN_VALUE + " and " + Integer.MAX_VALUE; }/* ww w .j av a 2s . c om*/ } }); if (dialog.open() == Window.OK) { targetAddends.add(Integer.valueOf(dialog.getValue())); } } }); removeAddendButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { IStructuredSelection selection = (IStructuredSelection) addendsTarget.getSelection(); if (!selection.isEmpty()) targetAddends.remove(selection.getFirstElement()); } }); IObservableValue modelSum = new WritableValue(new Integer(5), Integer.TYPE); dbc.bindValue(SWTObservables.observeText(sumModelValue, SWT.Modify), modelSum); IObservableList modelAddends = new WritableList(new ArrayList(), Integer.TYPE); MultiValidator validator = new MultiValidator() { protected IStatus validate() { Integer sum = (Integer) middleSum.getValue(); int actualSum = 0; for (Iterator iterator = targetAddends.iterator(); iterator.hasNext();) { actualSum += ((Integer) iterator.next()).intValue(); } if (sum.intValue() != actualSum) return ValidationStatus.error("Sum of addends is " + actualSum + ", expecting " + sum); return ValidationStatus.ok(); } }; dbc.addValidationStatusProvider(validator); addendsModelValue.setContentProvider(new ObservableListContentProvider()); addendsModelValue.setInput(modelAddends); dbc.bindValue(validator.observeValidatedValue(middleSum), modelSum); dbc.bindList(validator.observeValidatedList(targetAddends), modelAddends); }
From source file:org.eclipse.ecf.salvo.ui.internal.preferences.SignaturePreferencePage.java
License:Open Source License
protected DataBindingContext initDataBindings() { DataBindingContext bindingContext = new DataBindingContext(); ///*w w w . j a va 2 s . co m*/ IObservableValue signatureObserveTextObserveWidget = SWTObservables.observeText(signature, SWT.Modify); IObservableValue modelSignatureObserveValue = PojoObservables.observeValue(model, "signature"); bindingContext.bindValue(signatureObserveTextObserveWidget, modelSignatureObserveValue, null, null); // IObservableValue btnUseSignatureObserveSelectionObserveWidget_7 = SWTObservables .observeSelection(btnUseSignature); IObservableValue signatureEnabledObserveValue = PojoObservables.observeValue(signature, "enabled"); bindingContext.bindValue(btnUseSignatureObserveSelectionObserveWidget_7, signatureEnabledObserveValue, null, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); // IObservableValue btnUseSignatureObserveSelectionObserveWidget_1 = SWTObservables .observeSelection(btnUseSignature); IObservableValue modelUseSignatureObserveValue = PojoObservables.observeValue(model, "useSignature"); bindingContext.bindValue(btnUseSignatureObserveSelectionObserveWidget_1, modelUseSignatureObserveValue, null, null); // return bindingContext; }
From source file:org.eclipse.emf.ecp.ecoreeditor.internal.ui.TextRenderer.java
License:Open Source License
@Override protected Binding bindValue(Control text, IObservableValue modelValue, DataBindingContext dataBindingContext, UpdateValueStrategy targetToModel, UpdateValueStrategy modelToTarget) { final IObservableValue value = SWTObservables.observeDelayedValue(600, SWTObservables.observeText(text, SWT.Modify)); final Binding binding = dataBindingContext.bindValue(value, modelValue, targetToModel, modelToTarget); return binding; }
From source file:org.eclipse.emf.ecp.edit.internal.swt.controls.AbstractTextControl.java
License:Open Source License
@Override public Binding bindValue() { final IObservableValue value = SWTObservables.observeText(text, SWT.FocusOut); final TargetToModelUpdateStrategy targetToModelUpdateStrategy = new TargetToModelUpdateStrategy(); final ModelToTargetUpdateStrategy modelToTargetUpdateStrategy = new ModelToTargetUpdateStrategy(); final Binding binding = getDataBindingContext().bindValue(value, getModelValue(), targetToModelUpdateStrategy, modelToTargetUpdateStrategy); createTooltipBinding(targetToModelUpdateStrategy, modelToTargetUpdateStrategy); return binding; }
From source file:org.eclipse.emf.ecp.edit.internal.swt.controls.NumericalControl.java
License:Open Source License
@Override public Binding bindValue() { // TODO: FocusOut doesn't seem to fire in case the same invalid text is entered twice final IObservableValue value = SWTObservables.observeText(getText(), SWT.FocusOut); final NumericalTargetToModelUpdateStrategy targetToModelStrategy = new NumericalTargetToModelUpdateStrategy(); final NumericalModelToTargetUpdateStrategy modelToTargetStrategy = new NumericalModelToTargetUpdateStrategy(); final Binding binding = getDataBindingContext().bindValue(value, getModelValue(), targetToModelStrategy, modelToTargetStrategy);/* w w w . ja v a 2 s . c o m*/ createTooltipBinding(targetToModelStrategy, modelToTargetStrategy); if (isEmbedded()) { // focus out is not fired if control is embedded; // use value change listener to get same behavior for control value.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { final Object newValue = event.diff.getNewValue(); final DecimalFormat format = NumericalHelper.setupFormat(getLocale(), getInstanceClass()); try { final Number number = format.parse((String) newValue); value.setValue(format.format(number)); binding.updateTargetToModel(); } catch (final ParseException ex) { targetToModelStrategy.revertToOldValue(value); } } }); } return binding; }
From source file:org.eclipse.emf.ecp.edit.internal.swt.controls.XmlDateControlText.java
License:Open Source License
@Override public Binding bindValue() { final IObservableValue value = SWTObservables.observeText(getText(), SWT.FocusOut); final DateTargetToModelUpdateStrategy targetToModelUpdateStrategy = new DateTargetToModelUpdateStrategy(); final DateModelToTargetUpdateStrategy modelToTargetUpdateStrategy = new DateModelToTargetUpdateStrategy(); final Binding binding = getDataBindingContext().bindValue(value, getModelValue(), targetToModelUpdateStrategy, modelToTargetUpdateStrategy); createTooltipBinding(targetToModelUpdateStrategy, modelToTargetUpdateStrategy); return binding; }
From source file:org.eclipse.emf.ecp.editor.mecontrols.METextControl.java
License:Open Source License
/** * {@inheritDoc}// w w w .j a v a2 s . c o m * * @return A Text Control. */ @Override public Control createControl(Composite parent, int style) { Object feature = getItemPropertyDescriptor().getFeature(getModelElement()); this.attribute = (EAttribute) feature; composite = getToolkit().createComposite(parent, style); composite.setBackgroundMode(SWT.INHERIT_FORCE); GridLayoutFactory.fillDefaults().numColumns(2).spacing(2, 0).applyTo(composite); GridDataFactory.fillDefaults().grab(true, false).applyTo(composite); labelWidgetImage = getToolkit().createLabel(composite, " "); labelWidgetImage.setBackground(parent.getBackground()); text = getToolkit().createText(composite, new String(), style | SWT.SINGLE | SWT.BORDER); text.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); if (!getItemPropertyDescriptor().canSetProperty(getModelElement())) { text.setEditable(false); } IObservableValue model = EMFEditObservables.observeValue(getEditingDomain(), getModelElement(), attribute); EMFDataBindingContext dbc = new EMFDataBindingContext(); ISWTObservableValue observeText = SWTObservables.observeText(text, SWT.FocusOut); dbc.bindValue(observeText, model, null, null); return composite; }