comparison org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/provisional/swt/AbstractSWTObservableValue.d @ 85:6be48cf9f95c

Work on databinding
author Frank Benoit <benoit@tionex.de>
date Sat, 18 Apr 2009 13:54:50 +0200
parents 0a55d2d5a946
children
comparison
equal deleted inserted replaced
84:fcf926c91ca4 85:6be48cf9f95c
18 import org.eclipse.jface.databinding.swt.ISWTObservableValue; 18 import org.eclipse.jface.databinding.swt.ISWTObservableValue;
19 import org.eclipse.jface.databinding.swt.SWTObservables; 19 import org.eclipse.jface.databinding.swt.SWTObservables;
20 import org.eclipse.swt.events.DisposeEvent; 20 import org.eclipse.swt.events.DisposeEvent;
21 import org.eclipse.swt.events.DisposeListener; 21 import org.eclipse.swt.events.DisposeListener;
22 import org.eclipse.swt.widgets.Widget; 22 import org.eclipse.swt.widgets.Widget;
23 import org.eclipse.core.databinding.observable.value.IValueChangeListener;
23 24
24 /** 25 /**
25 * NON-API - An abstract superclass for observable values that gurantees that the 26 * NON-API - An abstract superclass for observable values that gurantees that the
26 * observable will be disposed when the control to which it is attached is 27 * observable will be disposed when the control to which it is attached is
27 * disposed. 28 * disposed.
28 * 29 *
29 * @since 1.1 30 * @since 1.1
30 */ 31 */
31 public abstract class AbstractSWTObservableValue : AbstractObservableValue , ISWTObservableValue { 32 public abstract class AbstractSWTObservableValue : AbstractObservableValue , ISWTObservableValue {
33 public override Object getValue(){
34 return super.getValue();
35 }
36 public override void setValue( Object v ){
37 super.setValue(v);
38 }
39 public void addValueChangeListener(IValueChangeListener listener) {
40 super.addValueChangeListener(listener);
41 }
42 public void removeValueChangeListener(IValueChangeListener listener) {
43 super.removeValueChangeListener(listener);
44 }
32 45
33 private final Widget widget; 46 private final Widget widget;
34 47
35 /** 48 /**
36 * Standard constructor for an SWT ObservableValue. Makes sure that 49 * Standard constructor for an SWT ObservableValue. Makes sure that
49 * @param realm 62 * @param realm
50 * @param widget 63 * @param widget
51 * @since 1.2 64 * @since 1.2
52 */ 65 */
53 protected this(Realm realm, Widget widget) { 66 protected this(Realm realm, Widget widget) {
67 disposeListener = new LDisposeListener();
54 super(realm); 68 super(realm);
55 this.widget = widget; 69 this.widget = widget;
56 widget.addDisposeListener(disposeListener); 70 widget.addDisposeListener(disposeListener);
57 } 71 }
58 72
59 private DisposeListener disposeListener = new class() DisposeListener { 73 private DisposeListener disposeListener;
74 class LDisposeListener : DisposeListener {
60 public void widgetDisposed(DisposeEvent e) { 75 public void widgetDisposed(DisposeEvent e) {
61 this.outer.dispose(); 76 this.outer.dispose();
62 } 77 }
63 }; 78 };
64 79