Bug 180746 [DataBinding] TextObservableValue should take a delay-argument
Sometimes SWT.Modify is needed as update event type but the performance (number of propagated update-events) should be similar to SWT.FocusOut. Therefore I suggest to create an additional constructor with a parameter int delayInMilliseconds which defines a delay between the time the last SWT.Modify-Event occured and fireValueChanging() is called. This will allow the customer to enter multiple characters without starting a validation each time. A further advance is when binding the validation result to a label or similar, the label won't change confusingly while you still enter your text. The current structure of TextObservableValue doesn't provide a way to achieve the described behaviour by subclassing without reimplementation. Maybe this behaviour can even be useful whit SWT.FocusOut ? More information:
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/swt/SWTObservables.java
public static ISWTObservableValue observeEditable(Control control) {
		if (control instanceof Text) {
			return new TextEditableObservableValue((Text) control);
		}
		
		throw new IllegalArgumentException(
				"Widget [" + control.getClass().getName() + "] is not supported."); 
	}
	private static class DisplayRealm extends Realm {
		private Display display;
		/**
		 * @param display
		 */
		private DisplayRealm(Display display) {
			this.display = display;
		}
		public boolean isCurrent() {
			return Display.getCurrent() == display;
		}
		public void asyncExec(final Runnable runnable) {
			Runnable safeRunnable = new Runnable() {
				public void run() {
					safeRun(runnable);
				}
			};
			if (!display.isDisposed()) {
				display.asyncExec(safeRunnable);
			}
		}
		/*