Mercurial > projects > dwt2
comparison org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/provisional/swt/AbstractSWTVetoableValue.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 vetoable values that gurantees that the | 26 * NON-API - An abstract superclass for vetoable 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 AbstractSWTVetoableValue : AbstractVetoableValue , ISWTObservableValue { | 32 public abstract class AbstractSWTVetoableValue : AbstractVetoableValue , 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 VetoableValue. Makes sure that | 49 * Standard constructor for an SWT VetoableValue. Makes sure that |
48 * @param realm | 61 * @param realm |
49 * @param widget | 62 * @param widget |
50 * @since 1.2 | 63 * @since 1.2 |
51 */ | 64 */ |
52 protected this(Realm realm, Widget widget) { | 65 protected this(Realm realm, Widget widget) { |
66 disposeListener = new _DisposeListener(); | |
53 super(realm); | 67 super(realm); |
54 this.widget = widget; | 68 this.widget = widget; |
55 if (widget is null) { | 69 if (widget is null) { |
56 throw new IllegalArgumentException("The widget parameter is null."); //$NON-NLS-1$ | 70 throw new IllegalArgumentException("The widget parameter is null."); //$NON-NLS-1$ |
57 } | 71 } |
58 widget.addDisposeListener(disposeListener); | 72 widget.addDisposeListener(disposeListener); |
59 } | 73 } |
60 | 74 |
61 private DisposeListener disposeListener = new class() DisposeListener { | 75 private DisposeListener disposeListener; |
76 class _DisposeListener : DisposeListener { | |
62 public void widgetDisposed(DisposeEvent e) { | 77 public void widgetDisposed(DisposeEvent e) { |
63 this.outer.dispose(); | 78 this.outer.dispose(); |
64 } | 79 } |
65 }; | 80 }; |
66 | 81 |