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.bpmn2.modeler.ui.property.AbstractBpmn2PropertiesComposite.java
License:Open Source License
protected void bind(final EStructuralFeature a, final Text text) { Object eGet = be.eGet(a);/* ww w. j a v a 2 s. c om*/ if (eGet != null) { text.setText(eGet.toString()); } IObservableValue textObserver = SWTObservables.observeText(text, SWT.Modify); textObserver.addValueChangeListener(new IValueChangeListener() { @SuppressWarnings("restriction") @Override public void handleValueChange(final ValueChangeEvent e) { if (!text.getText().equals(be.eGet(a))) { TransactionalEditingDomain editingDomain = bpmn2Editor.getEditingDomain(); editingDomain.getCommandStack().execute(new RecordingCommand(editingDomain) { @Override protected void doExecute() { be.eSet(a, e.diff.getNewValue()); } }); if (bpmn2Editor.getDiagnostics() != null) { // revert the change and display error status message. text.setText((String) be.eGet(a)); bpmn2Editor.showErrorMessage(bpmn2Editor.getDiagnostics().getMessage()); } else bpmn2Editor.showErrorMessage(null); } } }); text.addFocusListener(new FocusListener() { @Override public void focusGained(FocusEvent e) { } @Override public void focusLost(FocusEvent e) { bpmn2Editor.showErrorMessage(null); } }); }
From source file:org.eclipse.bpmn2.modeler.ui.property.AbstractBpmn2PropertiesComposite.java
License:Open Source License
protected void bindInt(final EStructuralFeature a, final Text text) { text.addVerifyListener(new VerifyListener() { /**/*from w ww. j av a 2 s . com*/ * taken from * http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets * /Snippet19.java?view=co */ @Override public void verifyText(VerifyEvent e) { String string = e.text; char[] chars = new char[string.length()]; string.getChars(0, chars.length, chars, 0); for (int i = 0; i < chars.length; i++) { if (!('0' <= chars[i] && chars[i] <= '9')) { e.doit = false; return; } } } }); Object eGet = be.eGet(a); if (eGet != null) { text.setText(eGet.toString()); } IObservableValue textObserveTextObserveWidget = SWTObservables.observeText(text, SWT.Modify); textObserveTextObserveWidget.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { try { final int i = Integer.parseInt(text.getText()); if (!be.eGet(a).equals(i)) { setFeatureValue(i); } } catch (NumberFormatException e) { text.setText((String) be.eGet(a)); Activator.logError(e); } } @SuppressWarnings("restriction") private void setFeatureValue(final int i) { RecordingCommand command = new RecordingCommand(bpmn2Editor.getEditingDomain()) { @Override protected void doExecute() { be.eSet(a, i); } }; bpmn2Editor.getEditingDomain().getCommandStack().execute(command); if (bpmn2Editor.getDiagnostics() != null) { // revert the change and display error status message. text.setText((String) be.eGet(a)); bpmn2Editor.showErrorMessage(bpmn2Editor.getDiagnostics().getMessage()); } else bpmn2Editor.showErrorMessage(null); } }); text.addFocusListener(new FocusListener() { @Override public void focusGained(FocusEvent e) { } @Override public void focusLost(FocusEvent e) { bpmn2Editor.showErrorMessage(null); } }); }
From source file:org.eclipse.bpmn2.modeler.ui.property.editors.IntObjectEditor.java
License:Open Source License
@Override public Control createControl(Composite composite, String label, int style) { createLabel(composite, label);/* w ww .j av a2s .c om*/ final Text text = getToolkit().createText(composite, ""); text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1)); text.addVerifyListener(new VerifyListener() { /** * taken from * http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets * /Snippet19.java?view=co */ @Override public void verifyText(VerifyEvent e) { String string = e.text; char[] chars = new char[string.length()]; string.getChars(0, chars.length, chars, 0); for (int i = 0; i < chars.length; i++) { if (!('0' <= chars[i] && chars[i] <= '9')) { e.doit = false; return; } } } }); Object eGet = object.eGet(feature); if (eGet != null) { text.setText(eGet.toString()); } IObservableValue textObserveTextObserveWidget = SWTObservables.observeText(text, SWT.Modify); textObserveTextObserveWidget.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { try { final int i = Integer.parseInt(text.getText()); if (!object.eGet(feature).equals(i)) { setFeatureValue(i); } } catch (NumberFormatException e) { text.setText((String) object.eGet(feature)); Activator.logError(e); } } @SuppressWarnings("restriction") private void setFeatureValue(final int i) { RecordingCommand command = new RecordingCommand(getDiagramEditor().getEditingDomain()) { @Override protected void doExecute() { Class eTypeClass = feature.getEType().getInstanceClass(); if (BigInteger.class.equals(eTypeClass)) { object.eSet(feature, BigInteger.valueOf((long) i)); } else object.eSet(feature, i); } }; getDiagramEditor().getEditingDomain().getCommandStack().execute(command); if (getDiagramEditor().getDiagnostics() != null) { // revert the change and display error status message. text.setText((String) object.eGet(feature)); ErrorUtils.showErrorMessage(getDiagramEditor().getDiagnostics().getMessage()); } else ErrorUtils.showErrorMessage(null); } }); text.addFocusListener(new FocusListener() { @Override public void focusGained(FocusEvent e) { } @Override public void focusLost(FocusEvent e) { ErrorUtils.showErrorMessage(null); } }); return text; }
From source file:org.eclipse.bpmn2.modeler.ui.property.editors.TextObjectEditor.java
License:Open Source License
@Override public Control createControl(Composite composite, String label, int style) { createLabel(composite, label);//from w w w . j a va2 s.c om boolean multiLine = ((style & SWT.MULTI) != 0); if (multiLine) style |= SWT.V_SCROLL; text = getToolkit().createText(composite, "", style); GridData data = new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1); if (multiLine) { data.heightHint = 100; } text.setLayoutData(data); setText(PropertyUtil.getText(object, feature)); IObservableValue textObserver = SWTObservables.observeText(text, SWT.Modify); textObserver.addValueChangeListener(new IValueChangeListener() { @SuppressWarnings("restriction") @Override public void handleValueChange(final ValueChangeEvent e) { updateObject(e.diff.getNewValue()); } }); text.addFocusListener(new FocusListener() { @Override public void focusGained(FocusEvent e) { } @Override public void focusLost(FocusEvent e) { ErrorUtils.showErrorMessage(null); } }); return text; }
From source file:org.eclipse.core.databinding.validation.jsr303.samples.Jsr303PersonSnippet.java
License:Open Source License
public static void main(String[] args) { // Display state of JSR-303 Bean Support System.out.println("JSR-303 Bean Support available?: " + Jsr303BeanValidationSupport.isAvailable()); System.out.println("OSGi context?: " + Jsr303BeanValidationSupport.isOSGi()); System.out.println("JSR-303 Bean Support ValidatorFactory Implementation: " + Jsr303BeanValidationSupport.getValidatorFactoryClassName()); System.out.println("JSR-303 Bean Support strategy resolver?: " + Jsr303BeanValidationSupport.getStrategy()); // Create UI+Binding final Display display = new Display(); Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() { public void run() { final Shell shell = new Shell(display); shell.setLayout(new FillLayout()); Composite parent = new Composite(shell, SWT.NONE); parent.setLayout(new GridLayout(2, false)); parent.setLayoutData(new GridData(GridData.FILL_BOTH)); Person model = new Person(); // UI Name Label nameLabel = new Label(parent, SWT.NONE); nameLabel.setText("Name:"); Text nameText = new Text(parent, SWT.BORDER); nameText.setLayoutData(new GridData(GridData.FILL_BOTH)); // UI Email Label emailLabel = new Label(parent, SWT.NONE); emailLabel.setText("Email:"); Text emailText = new Text(parent, SWT.BORDER); emailText.setLayoutData(new GridData(GridData.FILL_BOTH)); DataBindingContext dataBindingContext = new DataBindingContext(SWTObservables.getRealm(display)); // Binding Name IObservableValue nameTextObserveTextObserveWidget = SWTObservables.observeText(nameText, SWT.Modify);//from w w w. java 2s . c o m IObservableValue modelNameObserveValue = PojoObservables.observeValue(model, "name"); Binding binding = dataBindingContext.bindValue(nameTextObserveTextObserveWidget, modelNameObserveValue, Jsr303BeansUpdateValueStrategyFactory.create(modelNameObserveValue), null); ControlDecorationSupport.create(binding, SWT.LEFT, parent); // Binding Email IObservableValue emailTextObserveTextObserveWidget = SWTObservables.observeText(emailText, SWT.Modify); IObservableValue modelEmailObserveValue = PojoObservables.observeValue(model, "email"); binding = dataBindingContext.bindValue(emailTextObserveTextObserveWidget, modelEmailObserveValue, Jsr303BeansUpdateValueStrategyFactory.create(modelEmailObserveValue), null); ControlDecorationSupport.create(binding, SWT.LEFT, parent); shell.setSize(200, 100); shell.open(); // The SWT event loop Display display = Display.getCurrent(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } } }); }
From source file:org.eclipse.core.databinding.validation.jsr303.samples.rcp.editor.OverviewPage.java
License:Open Source License
private void createBindings() { Person person = getEditor().getPerson(); DataBindingContext dataBindingContext = new DataBindingContext(); // Binding name IObservableValue textObserveTextObserveWidget = SWTObservables.observeText(personNameText, SWT.Modify); IObservableValue modelNameObserveValue = PojoObservables.observeValue(person, "name"); Binding binding = dataBindingContext.bindValue(textObserveTextObserveWidget, modelNameObserveValue, Jsr303BeansUpdateValueStrategyFactory.create(modelNameObserveValue), null); ControlDecorationSupport.create(binding, SWT.LEFT, parent); // Binding email IObservableValue emailTextObserveTextObserveWidget = SWTObservables.observeText(personEmailText, SWT.Modify);/*from w w w . ja v a 2 s .c om*/ IObservableValue modelEmailObserveValue = PojoObservables.observeValue(person, "email"); binding = dataBindingContext.bindValue(emailTextObserveTextObserveWidget, modelEmailObserveValue, Jsr303BeansUpdateValueStrategyFactory.create(modelEmailObserveValue), null); ControlDecorationSupport.create(binding, SWT.LEFT, parent); }
From source file:org.eclipse.e4.demo.contacts.views.DetailComposite.java
License:Open Source License
private Text createText(final Composite parent, final String labelText, final String property) { final Label label = new Label(parent, SWT.NONE); label.setText(labelText + " "); // the extra space is due to a bug in // font formatting when using css // styling/*w ww . jav a 2 s .c o m*/ GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL); gridData.horizontalIndent = 20; label.setLayoutData(gridData); final Text text = new Text(parent, SWT.NONE); GridData gridData2 = new GridData(GridData.FILL_HORIZONTAL); gridData2.horizontalIndent = 0; if (!generalGroup) { gridData2.horizontalSpan = 2; } else { gridData2.horizontalSpan = 1; if (labelText.equals("Title:")) { // The label image is set with data binding imageLabel = new Label(parent, SWT.NONE); GridData gridData3 = new GridData(); gridData3.verticalSpan = 5; imageLabel.setLayoutData(gridData3); } } text.setLayoutData(gridData2); if (property != null) { if (property.equals("name")) { dbc.bindValue(SWTObservables.observeText(text, SWT.Modify), new AggregateNameObservableValue(contactValue)); } else { dbc.bindValue(SWTObservables.observeText(text, SWT.Modify), PojoObservables.observeDetailValue(contactValue, property, String.class)); } } text.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { if (commitChanges) { setDirty(true); } } }); return text; }
From source file:org.eclipse.e4.demo.viewer.PropertiesElement.java
License:Open Source License
protected Binding bind(Text text, EStructuralFeature feature) { if (selectedObject == null) return null; IObservableValue observable = EMFObservables.observeValue(selectedObject, feature); return dbc.bindValue(SWTObservables.observeText(text, SWT.Modify), observable, null, null); }
From source file:org.eclipse.e4.demo.viewer.PropertiesSash.java
License:Open Source License
protected Binding bindList(Text text, EStructuralFeature feature) { IObservableValue observable = EMFObservables.observeValue(selectedObject, feature); // NOTE: Do not use SWT.Modify as it might cause StackOverflow // when stack is dragged return dbc.bindValue(SWTObservables.observeText(text, SWT.FocusOut), observable, new UpdateValueStrategy() { // Text to EMF model @Override//from www . j ava 2 s .c om public Object convert(Object value) { if (!(value instanceof String)) return super.convert(value); String[] parts = ((String) value).split(", "); EList<Integer> emfList = new BasicEList<Integer>(parts.length); for (String part : parts) { try { emfList.add(Integer.decode(part)); } catch (NumberFormatException e) { // can't process; pass to superclass return super.convert(value); } } return emfList; } }, new UpdateValueStrategy() { // EMF model to Text @Override public Object convert(Object value) { if (!(value instanceof EList<?>)) return super.convert(value); StringBuffer result = new StringBuffer(); for (Object element : (EList<?>) value) { if (result.length() != 0) result.append(", "); result.append(element.toString()); } return result.toString(); } }); }
From source file:org.eclipse.e4.xwt.databinding.JFaceXWTDataBinding.java
License:Open Source License
protected static IObservableValue observePropertyValue(Control control, String propertyName, UpdateSourceTrigger updateSourceTrigger) { if (TEXT.equalsIgnoreCase(propertyName)) { if (control instanceof Text || control instanceof StyledText) { int event = SWT.None; switch (updateSourceTrigger) { case Default: event = SWT.FocusOut;/* w w w.ja v a 2 s .c o m*/ break; case LostFocus: event = SWT.FocusOut; break; case PropertyChanged: event = SWT.Modify; break; default: throw new IllegalStateException("UpdateSourceTrigger of value " + updateSourceTrigger.name()); } IObservableValue observableValue = SWTObservables.observeText(control, event); if (observableValue != null) { return observableValue; } } // widget button is not supported at 3.4 version. if (SWT.getVersion() == 3449 && control instanceof Button) { return null; } try { IObservableValue observableValue = SWTObservables.observeText(control); if (observableValue != null) { return observableValue; } } catch (IllegalArgumentException e) { throw new XWTException(e); } } else { if (propertyName == null) { return null; } String getterName = "observe" + propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1); Method method; try { method = SWTObservables.class.getMethod(getterName, CONTROL_ARGUMENT_TYPES); if (method == null) { for (Method element : SWTObservables.class.getMethods()) { if (element.getParameterTypes().length != 0) { continue; } if (element.getName().equalsIgnoreCase(getterName)) { method = element; break; } } } if (method != null) { IObservableValue observableValue = (IObservableValue) method.invoke(null, control); if (observableValue != null) { return observableValue; } } } catch (Exception e) { throw new XWTException(e); } } IMetaclass mateclass = XWT.getMetaclass(control); IProperty property = mateclass.findProperty(propertyName); if (property instanceof EventProperty) { return new EventPropertyObservableValue(control, (EventProperty) property); } return null; }