Mercurial > projects > dwt2
diff org.eclipse.core.databinding/src/org/eclipse/core/internal/databinding/observable/masterdetail/DetailObservableSet.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/DetailObservableSet.d Sat Apr 18 09:25:29 2009 +0200 +++ b/org.eclipse.core.databinding/src/org/eclipse/core/internal/databinding/observable/masterdetail/DetailObservableSet.d Sat Apr 18 13:54:50 2009 +0200 @@ -38,7 +38,8 @@ private bool updating = false; - private ISetChangeListener innerChangeListener = new class() ISetChangeListener { + private ISetChangeListener innerChangeListener; + class InnerChangeListener : ISetChangeListener { public void handleSetChange(SetChangeEvent event) { if (!updating) { fireSetChange(event.diff); @@ -61,6 +62,8 @@ */ public this(IObservableFactory factory, IObservableValue outerObservableValue, Object detailType) { +innerChangeListener = new InnerChangeListener(); +outerChangeListener = new OuterChangeListener(); super(outerObservableValue.getRealm(), Collections.EMPTY_SET, detailType); this.factory = factory; @@ -70,7 +73,8 @@ outerObservableValue.addValueChangeListener(outerChangeListener); } - IValueChangeListener outerChangeListener = new class() IValueChangeListener { + IValueChangeListener outerChangeListener; + class OuterChangeListener : IValueChangeListener { public void handleValueChange(ValueChangeEvent event) { Set oldSet = new HashSet(wrappedSet); updateInnerObservableSet(outerObservableValue); @@ -95,7 +99,7 @@ if (elementType !is null) { Object innerValueType = innerObservableSet.getElementType(); - Assert.isTrue(elementType.equals(innerValueType), + Assert.isTrue(cast(bool)elementType.opEquals(innerValueType), "Cannot change value type in a nested observable set"); //$NON-NLS-1$ }