Mercurial > projects > dwt2
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 |