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