diff org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/swt/DelayedObservableValue.d @ 85:6be48cf9f95c

Work on databinding
author Frank Benoit <benoit@tionex.de>
date Sat, 18 Apr 2009 13:54:50 +0200
parents 0a55d2d5a946
children
line wrap: on
line diff
--- a/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/swt/DelayedObservableValue.d	Sat Apr 18 09:25:29 2009 +0200
+++ b/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/swt/DelayedObservableValue.d	Sat Apr 18 13:54:50 2009 +0200
@@ -55,7 +55,7 @@
     class ValueUpdater : Runnable {
         private final Object oldValue;
 
-        bool cancel = false;
+        bool cancel_ = false;
         bool running = false;
 
         this(Object oldValue) {
@@ -63,11 +63,11 @@
         }
 
         void cancel() {
-            cancel = true;
+            cancel_ = true;
         }
 
         public void run() {
-            if (!cancel)
+            if (!cancel_)
                 try {
                     running = true;
                     internalFireValueChange(oldValue);
@@ -77,21 +77,24 @@
         }
     }
 
-    private IStaleListener staleListener = new class() IStaleListener {
+    private IStaleListener staleListener;
+    class StaleListener : IStaleListener {
         public void handleStale(StaleEvent staleEvent) {
             if (!updating)
                 fireStale();
         }
     };
 
-    private IValueChangeListener valueChangeListener = new class() IValueChangeListener {
+    private IValueChangeListener valueChangeListener;
+    class ValueChangeListener : IValueChangeListener {
         public void handleValueChange(ValueChangeEvent event) {
             if (!updating)
                 makeDirty();
         }
     };
 
-    private Listener focusOutListener = new class() Listener {
+    private Listener focusOutListener;
+    class FocusOutListener : Listener {
         public void handleEvent(Event event) {
             // Force update on focus out
             if (dirty)
@@ -123,6 +126,9 @@
      */
     public this(int delayMillis,
             ISWTObservableValue observable) {
+staleListener = new StaleListener();
+valueChangeListener = new ValueChangeListener();
+focusOutListener = new FocusOutListener();
         super(observable.getRealm(), observable.getWidget());
         this.delay = delayMillis;
         this.observable = observable;
@@ -166,7 +172,7 @@
             // passed to setValue(). Make sure we cache whatever is set.
             cachedValue = observable.getValue();
 
-            if (!Util.equals(oldValue, cachedValue))
+            if (!Util.opEquals(oldValue, cachedValue))
                 fireValueChange(Diffs.createValueDiff(oldValue, cachedValue));
         } finally {
             updating = false;