Mercurial > projects > dwt2
diff org.eclipse.core.databinding/src/org/eclipse/core/internal/databinding/observable/masterdetail/DetailObservableValue.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.core.databinding/src/org/eclipse/core/internal/databinding/observable/masterdetail/DetailObservableValue.d Sat Apr 18 09:25:29 2009 +0200 +++ b/org.eclipse.core.databinding/src/org/eclipse/core/internal/databinding/observable/masterdetail/DetailObservableValue.d Sat Apr 18 13:54:50 2009 +0200 @@ -31,7 +31,8 @@ private bool updating = false; - private IValueChangeListener innerChangeListener = new class() IValueChangeListener { + private IValueChangeListener innerChangeListener; + class InnerChangeListener : IValueChangeListener { public void handleValueChange(ValueChangeEvent event) { if (!updating) { fireValueChange(event.diff); @@ -56,6 +57,8 @@ */ public this(IObservableValue outerObservableValue, IObservableFactory factory, Object detailType) { +innerChangeListener = new InnerChangeListener(); +outerChangeListener = new OuterChangeListener(); super(outerObservableValue.getRealm()); this.factory = factory; this.detailType = detailType; @@ -65,7 +68,8 @@ outerObservableValue.addValueChangeListener(outerChangeListener); } - IValueChangeListener outerChangeListener = new class() IValueChangeListener { + IValueChangeListener outerChangeListener; + class OuterChangeListener : IValueChangeListener { public void handleValueChange(ValueChangeEvent event) { Object oldValue = doGetValue(); updateInnerObservableValue(outerObservableValue); @@ -90,8 +94,8 @@ if (detailType !is null) { Assert .isTrue( - detailType.equals(innerValueType), - "Cannot change value type in a nested observable value, from " + innerValueType + " to " + detailType); //$NON-NLS-1$ //$NON-NLS-2$ + cast(bool)detailType.opEquals(innerValueType), + Format("Cannot change value type in a nested observable value, from {} to {}", innerValueType, detailType)); //$NON-NLS-1$ //$NON-NLS-2$ } innerObservableValue.addValueChangeListener(innerChangeListener); }