Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorglefur2010-11-18 14:29:46 +0000
committerglefur2010-11-18 14:29:46 +0000
commit6ed2368759bcb038795794802fd3bee9ad75f93f (patch)
treeae2dc93234b3e20f325d6c21fb16d0d3b2e7879d /plugins
parent6d195d191449669bf0ac1930cc57f1ae623b25f9 (diff)
downloadorg.eclipse.eef-6ed2368759bcb038795794802fd3bee9ad75f93f.tar.gz
org.eclipse.eef-6ed2368759bcb038795794802fd3bee9ad75f93f.tar.xz
org.eclipse.eef-6ed2368759bcb038795794802fd3bee9ad75f93f.zip
FIXED: wizard editing domain shared bug
Diffstat (limited to 'plugins')
-rw-r--r--plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/EMFElementBindingBasePropertiesEditionComponent.java29
-rw-r--r--plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/EMFMultiPropertiesBindingBasePropertiesEditionComponent.java8
-rw-r--r--plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/EMFPropertyBindingBasePropertiesEditionComponent.java29
-rw-r--r--plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/ElementBindingReferenceBasePropertiesEditionComponent.java26
-rw-r--r--plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/OnlyReferenceTypeFilterBasePropertiesEditionComponent.java24
-rw-r--r--plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/SimpleModelNavigationPropertiesEditionComponent.java47
-rw-r--r--plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/StandardElementBindingBasePropertiesEditionComponent.java29
-rw-r--r--plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/StandardPropertyBindingBasePropertiesEditionComponent.java29
8 files changed, 185 insertions, 36 deletions
diff --git a/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/EMFElementBindingBasePropertiesEditionComponent.java b/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/EMFElementBindingBasePropertiesEditionComponent.java
index d534641e3..2413d515a 100644
--- a/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/EMFElementBindingBasePropertiesEditionComponent.java
+++ b/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/EMFElementBindingBasePropertiesEditionComponent.java
@@ -30,10 +30,14 @@ import org.eclipse.emf.eef.mapping.parts.EMFElementBindingPropertiesEditionPart;
import org.eclipse.emf.eef.mapping.parts.MappingViewsRepository;
import org.eclipse.emf.eef.runtime.api.notify.IPropertiesEditionEvent;
import org.eclipse.emf.eef.runtime.context.PropertiesEditingContext;
+import org.eclipse.emf.eef.runtime.context.impl.EReferencePropertiesEditionContext;
import org.eclipse.emf.eef.runtime.impl.components.SinglePartPropertiesEditingComponent;
import org.eclipse.emf.eef.runtime.impl.filters.EObjectFilter;
import org.eclipse.emf.eef.runtime.impl.notify.PropertiesEditionEvent;
import org.eclipse.emf.eef.runtime.impl.utils.EEFConverterUtil;
+import org.eclipse.emf.eef.runtime.policies.PropertiesEditingPolicy;
+import org.eclipse.emf.eef.runtime.policies.impl.CreateEditingPolicy;
+import org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider;
import org.eclipse.emf.eef.runtime.ui.widgets.ButtonsModeEnum;
import org.eclipse.emf.eef.runtime.ui.widgets.eobjflatcombo.EObjectFlatComboSettings;
import org.eclipse.emf.eef.runtime.ui.widgets.referencestable.ReferencesTableSettings;
@@ -117,8 +121,8 @@ public class EMFElementBindingBasePropertiesEditionComponent extends SinglePartP
});
basePart.addFilterToViews(new EObjectFilter(ViewsPackage.eINSTANCE.getView()));
// Start of user code for additional businessfilters for views
-
- // End of user code
+
+ // End of user code
basePart.addFilterToModel(new ViewerFilter() {
@@ -133,8 +137,8 @@ public class EMFElementBindingBasePropertiesEditionComponent extends SinglePartP
});
// Start of user code for additional businessfilters for model
-
- // End of user code
+
+ // End of user code
}
// init values for referenced views
@@ -169,7 +173,22 @@ public class EMFElementBindingBasePropertiesEditionComponent extends SinglePartP
}
}
if (MappingViewsRepository.EMFElementBinding.Binding.model == event.getAffectedEditor()) {
- modelSettings.setToReference((EClassifier)event.getNewValue());
+ if (event.getKind() == PropertiesEditionEvent.SET) {
+ modelSettings.setToReference((EClassifier)event.getNewValue());
+ } else if (event.getKind() == PropertiesEditionEvent.ADD) {
+ EReferencePropertiesEditionContext context = new EReferencePropertiesEditionContext(editingContext, this, semanticObject, MappingPackage.eINSTANCE.getEMFElementBinding_Model(), editingContext.getAdapterFactory());
+ PropertiesEditingProvider provider = (PropertiesEditingProvider)editingContext.getAdapterFactory().adapt(semanticObject, PropertiesEditingProvider.class);
+ if (provider != null) {
+ PropertiesEditingPolicy policy = provider.getPolicy(context);
+ if (policy instanceof CreateEditingPolicy) {
+ policy.execute();
+ EObject resultEObject = (EObject) ((CreateEditingPolicy) policy).getResult();
+ if (resultEObject != null) {
+ modelSettings.setToReference(resultEObject);
+ }
+ }
+ }
+ }
}
}
diff --git a/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/EMFMultiPropertiesBindingBasePropertiesEditionComponent.java b/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/EMFMultiPropertiesBindingBasePropertiesEditionComponent.java
index 26fff150f..56733f540 100644
--- a/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/EMFMultiPropertiesBindingBasePropertiesEditionComponent.java
+++ b/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/EMFMultiPropertiesBindingBasePropertiesEditionComponent.java
@@ -112,8 +112,8 @@ public class EMFMultiPropertiesBindingBasePropertiesEditionComponent extends Sin
});
basePart.addFilterToViews(new EObjectFilter(ViewsPackage.eINSTANCE.getElementEditor()));
// Start of user code for additional businessfilters for views
-
- // End of user code
+
+ // End of user code
basePart.addFilterToModel(new ViewerFilter() {
@@ -131,8 +131,8 @@ public class EMFMultiPropertiesBindingBasePropertiesEditionComponent extends Sin
});
basePart.addFilterToModel(new EObjectFilter(EcorePackage.eINSTANCE.getEStructuralFeature()));
// Start of user code for additional businessfilters for model
-
- // End of user code
+
+ // End of user code
}
// init values for referenced views
diff --git a/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/EMFPropertyBindingBasePropertiesEditionComponent.java b/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/EMFPropertyBindingBasePropertiesEditionComponent.java
index 7899198a7..45d0b3b0a 100644
--- a/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/EMFPropertyBindingBasePropertiesEditionComponent.java
+++ b/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/EMFPropertyBindingBasePropertiesEditionComponent.java
@@ -30,10 +30,14 @@ import org.eclipse.emf.eef.mapping.parts.EMFPropertyBindingPropertiesEditionPart
import org.eclipse.emf.eef.mapping.parts.MappingViewsRepository;
import org.eclipse.emf.eef.runtime.api.notify.IPropertiesEditionEvent;
import org.eclipse.emf.eef.runtime.context.PropertiesEditingContext;
+import org.eclipse.emf.eef.runtime.context.impl.EReferencePropertiesEditionContext;
import org.eclipse.emf.eef.runtime.impl.components.SinglePartPropertiesEditingComponent;
import org.eclipse.emf.eef.runtime.impl.filters.EObjectFilter;
import org.eclipse.emf.eef.runtime.impl.notify.PropertiesEditionEvent;
import org.eclipse.emf.eef.runtime.impl.utils.EEFConverterUtil;
+import org.eclipse.emf.eef.runtime.policies.PropertiesEditingPolicy;
+import org.eclipse.emf.eef.runtime.policies.impl.CreateEditingPolicy;
+import org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider;
import org.eclipse.emf.eef.runtime.ui.widgets.ButtonsModeEnum;
import org.eclipse.emf.eef.runtime.ui.widgets.eobjflatcombo.EObjectFlatComboSettings;
import org.eclipse.emf.eef.runtime.ui.widgets.referencestable.ReferencesTableSettings;
@@ -117,8 +121,8 @@ public class EMFPropertyBindingBasePropertiesEditionComponent extends SinglePart
});
basePart.addFilterToViews(new EObjectFilter(ViewsPackage.eINSTANCE.getElementEditor()));
// Start of user code for additional businessfilters for views
-
- // End of user code
+
+ // End of user code
basePart.addFilterToModel(new ViewerFilter() {
@@ -133,8 +137,8 @@ public class EMFPropertyBindingBasePropertiesEditionComponent extends SinglePart
});
// Start of user code for additional businessfilters for model
-
- // End of user code
+
+ // End of user code
}
// init values for referenced views
@@ -169,7 +173,22 @@ public class EMFPropertyBindingBasePropertiesEditionComponent extends SinglePart
}
}
if (MappingViewsRepository.EMFPropertyBinding.Binding.model == event.getAffectedEditor()) {
- modelSettings.setToReference((EStructuralFeature)event.getNewValue());
+ if (event.getKind() == PropertiesEditionEvent.SET) {
+ modelSettings.setToReference((EStructuralFeature)event.getNewValue());
+ } else if (event.getKind() == PropertiesEditionEvent.ADD) {
+ EReferencePropertiesEditionContext context = new EReferencePropertiesEditionContext(editingContext, this, semanticObject, MappingPackage.eINSTANCE.getEMFPropertyBinding_Model(), editingContext.getAdapterFactory());
+ PropertiesEditingProvider provider = (PropertiesEditingProvider)editingContext.getAdapterFactory().adapt(semanticObject, PropertiesEditingProvider.class);
+ if (provider != null) {
+ PropertiesEditingPolicy policy = provider.getPolicy(context);
+ if (policy instanceof CreateEditingPolicy) {
+ policy.execute();
+ EObject resultEObject = (EObject) ((CreateEditingPolicy) policy).getResult();
+ if (resultEObject != null) {
+ modelSettings.setToReference(resultEObject);
+ }
+ }
+ }
+ }
}
}
diff --git a/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/ElementBindingReferenceBasePropertiesEditionComponent.java b/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/ElementBindingReferenceBasePropertiesEditionComponent.java
index 6b2e997a1..f84c83d8d 100644
--- a/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/ElementBindingReferenceBasePropertiesEditionComponent.java
+++ b/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/ElementBindingReferenceBasePropertiesEditionComponent.java
@@ -26,7 +26,12 @@ import org.eclipse.emf.eef.mapping.parts.ElementBindingReferencePropertiesEditio
import org.eclipse.emf.eef.mapping.parts.MappingViewsRepository;
import org.eclipse.emf.eef.runtime.api.notify.IPropertiesEditionEvent;
import org.eclipse.emf.eef.runtime.context.PropertiesEditingContext;
+import org.eclipse.emf.eef.runtime.context.impl.EReferencePropertiesEditionContext;
import org.eclipse.emf.eef.runtime.impl.components.SinglePartPropertiesEditingComponent;
+import org.eclipse.emf.eef.runtime.impl.notify.PropertiesEditionEvent;
+import org.eclipse.emf.eef.runtime.policies.PropertiesEditingPolicy;
+import org.eclipse.emf.eef.runtime.policies.impl.CreateEditingPolicy;
+import org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider;
import org.eclipse.emf.eef.runtime.ui.widgets.ButtonsModeEnum;
import org.eclipse.emf.eef.runtime.ui.widgets.eobjflatcombo.EObjectFlatComboSettings;
import org.eclipse.jface.viewers.Viewer;
@@ -93,8 +98,8 @@ public class ElementBindingReferenceBasePropertiesEditionComponent extends Singl
});
// Start of user code for additional businessfilters for binding
-
- // End of user code
+
+ // End of user code
}
// init values for referenced views
@@ -115,7 +120,22 @@ public class ElementBindingReferenceBasePropertiesEditionComponent extends Singl
public void updateSemanticModel(final IPropertiesEditionEvent event) {
ElementBindingReference elementBindingReference = (ElementBindingReference)semanticObject;
if (MappingViewsRepository.ElementBindingReference.Reference.binding == event.getAffectedEditor()) {
- bindingSettings.setToReference((AbstractElementBinding)event.getNewValue());
+ if (event.getKind() == PropertiesEditionEvent.SET) {
+ bindingSettings.setToReference((AbstractElementBinding)event.getNewValue());
+ } else if (event.getKind() == PropertiesEditionEvent.ADD) {
+ EReferencePropertiesEditionContext context = new EReferencePropertiesEditionContext(editingContext, this, semanticObject, MappingPackage.eINSTANCE.getElementBindingReference_Binding(), editingContext.getAdapterFactory());
+ PropertiesEditingProvider provider = (PropertiesEditingProvider)editingContext.getAdapterFactory().adapt(semanticObject, PropertiesEditingProvider.class);
+ if (provider != null) {
+ PropertiesEditingPolicy policy = provider.getPolicy(context);
+ if (policy instanceof CreateEditingPolicy) {
+ policy.execute();
+ EObject resultEObject = (EObject) ((CreateEditingPolicy) policy).getResult();
+ if (resultEObject != null) {
+ bindingSettings.setToReference(resultEObject);
+ }
+ }
+ }
+ }
}
}
diff --git a/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/OnlyReferenceTypeFilterBasePropertiesEditionComponent.java b/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/OnlyReferenceTypeFilterBasePropertiesEditionComponent.java
index 26f607872..6c64b5601 100644
--- a/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/OnlyReferenceTypeFilterBasePropertiesEditionComponent.java
+++ b/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/OnlyReferenceTypeFilterBasePropertiesEditionComponent.java
@@ -18,6 +18,7 @@ import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.common.util.WrappedException;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcoreFactory;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.util.Diagnostician;
import org.eclipse.emf.ecore.util.EcoreUtil;
@@ -27,7 +28,11 @@ import org.eclipse.emf.eef.mapping.parts.MappingViewsRepository;
import org.eclipse.emf.eef.mapping.parts.OnlyReferenceTypeFilterPropertiesEditionPart;
import org.eclipse.emf.eef.runtime.api.notify.IPropertiesEditionEvent;
import org.eclipse.emf.eef.runtime.context.PropertiesEditingContext;
+import org.eclipse.emf.eef.runtime.context.impl.EObjectPropertiesEditionContext;
import org.eclipse.emf.eef.runtime.impl.components.SinglePartPropertiesEditingComponent;
+import org.eclipse.emf.eef.runtime.impl.notify.PropertiesEditionEvent;
+import org.eclipse.emf.eef.runtime.policies.PropertiesEditingPolicy;
+import org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider;
import org.eclipse.emf.eef.runtime.ui.widgets.ButtonsModeEnum;
import org.eclipse.emf.eef.runtime.ui.widgets.eobjflatcombo.EObjectFlatComboSettings;
import org.eclipse.jface.viewers.Viewer;
@@ -95,8 +100,8 @@ public class OnlyReferenceTypeFilterBasePropertiesEditionComponent extends Singl
});
// Start of user code for additional businessfilters for referencedFeature
-
- // End of user code
+
+ // End of user code
}
// init values for referenced views
@@ -121,7 +126,20 @@ public class OnlyReferenceTypeFilterBasePropertiesEditionComponent extends Singl
public void updateSemanticModel(final IPropertiesEditionEvent event) {
OnlyReferenceTypeFilter onlyReferenceTypeFilter = (OnlyReferenceTypeFilter)semanticObject;
if (MappingViewsRepository.OnlyReferenceTypeFilter.ReferencedFeature.referencedFeature_ == event.getAffectedEditor()) {
- referenceSettings.setToReference((EReference)event.getNewValue());
+ if (event.getKind() == PropertiesEditionEvent.SET) {
+ referenceSettings.setToReference((EReference)event.getNewValue());
+ } else if (event.getKind() == PropertiesEditionEvent.ADD) {
+ EReference eObject = EcoreFactory.eINSTANCE.createEReference();
+ EObjectPropertiesEditionContext context = new EObjectPropertiesEditionContext(editingContext, this, eObject, editingContext.getAdapterFactory());
+ PropertiesEditingProvider provider = (PropertiesEditingProvider)editingContext.getAdapterFactory().adapt(eObject, PropertiesEditingProvider.class);
+ if (provider != null) {
+ PropertiesEditingPolicy policy = provider.getPolicy(context);
+ if (policy != null) {
+ policy.execute();
+ }
+ }
+ referenceSettings.setToReference(eObject);
+ }
}
}
diff --git a/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/SimpleModelNavigationPropertiesEditionComponent.java b/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/SimpleModelNavigationPropertiesEditionComponent.java
index 11f4e5ca3..5fbc3b5ee 100644
--- a/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/SimpleModelNavigationPropertiesEditionComponent.java
+++ b/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/SimpleModelNavigationPropertiesEditionComponent.java
@@ -20,6 +20,7 @@ import org.eclipse.emf.common.util.WrappedException;
import org.eclipse.emf.ecore.EClassifier;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcoreFactory;
import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.util.Diagnostician;
@@ -30,8 +31,14 @@ import org.eclipse.emf.eef.mapping.parts.MappingViewsRepository;
import org.eclipse.emf.eef.mapping.parts.SimpleModelNavigationPropertiesEditionPart;
import org.eclipse.emf.eef.runtime.api.notify.IPropertiesEditionEvent;
import org.eclipse.emf.eef.runtime.context.PropertiesEditingContext;
+import org.eclipse.emf.eef.runtime.context.impl.EObjectPropertiesEditionContext;
+import org.eclipse.emf.eef.runtime.context.impl.EReferencePropertiesEditionContext;
import org.eclipse.emf.eef.runtime.impl.components.SinglePartPropertiesEditingComponent;
+import org.eclipse.emf.eef.runtime.impl.notify.PropertiesEditionEvent;
import org.eclipse.emf.eef.runtime.impl.utils.EEFConverterUtil;
+import org.eclipse.emf.eef.runtime.policies.PropertiesEditingPolicy;
+import org.eclipse.emf.eef.runtime.policies.impl.CreateEditingPolicy;
+import org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider;
import org.eclipse.emf.eef.runtime.ui.widgets.ButtonsModeEnum;
import org.eclipse.emf.eef.runtime.ui.widgets.eobjflatcombo.EObjectFlatComboSettings;
import org.eclipse.jface.viewers.Viewer;
@@ -111,8 +118,8 @@ public class SimpleModelNavigationPropertiesEditionComponent extends SinglePartP
});
// Start of user code for additional businessfilters for feature
-
- // End of user code
+
+ // End of user code
basePart.addFilterToDiscriminatorType(new ViewerFilter() {
@@ -127,8 +134,8 @@ public class SimpleModelNavigationPropertiesEditionComponent extends SinglePartP
});
// Start of user code for additional businessfilters for discriminatorType
-
- // End of user code
+
+ // End of user code
}
// init values for referenced views
@@ -154,10 +161,38 @@ public class SimpleModelNavigationPropertiesEditionComponent extends SinglePartP
simpleModelNavigation.setIndex((EEFConverterUtil.createIntFromString(EcorePackage.eINSTANCE.getEInt(), (String)event.getNewValue())));
}
if (MappingViewsRepository.SimpleModelNavigation.Properties.feature == event.getAffectedEditor()) {
- featureSettings.setToReference((EReference)event.getNewValue());
+ if (event.getKind() == PropertiesEditionEvent.SET) {
+ featureSettings.setToReference((EReference)event.getNewValue());
+ } else if (event.getKind() == PropertiesEditionEvent.ADD) {
+ EReference eObject = EcoreFactory.eINSTANCE.createEReference();
+ EObjectPropertiesEditionContext context = new EObjectPropertiesEditionContext(editingContext, this, eObject, editingContext.getAdapterFactory());
+ PropertiesEditingProvider provider = (PropertiesEditingProvider)editingContext.getAdapterFactory().adapt(eObject, PropertiesEditingProvider.class);
+ if (provider != null) {
+ PropertiesEditingPolicy policy = provider.getPolicy(context);
+ if (policy != null) {
+ policy.execute();
+ }
+ }
+ featureSettings.setToReference(eObject);
+ }
}
if (MappingViewsRepository.SimpleModelNavigation.Properties.discriminatorType == event.getAffectedEditor()) {
- discriminatorTypeSettings.setToReference((EClassifier)event.getNewValue());
+ if (event.getKind() == PropertiesEditionEvent.SET) {
+ discriminatorTypeSettings.setToReference((EClassifier)event.getNewValue());
+ } else if (event.getKind() == PropertiesEditionEvent.ADD) {
+ EReferencePropertiesEditionContext context = new EReferencePropertiesEditionContext(editingContext, this, semanticObject, NavigationPackage.eINSTANCE.getSimpleModelNavigation_DiscriminatorType(), editingContext.getAdapterFactory());
+ PropertiesEditingProvider provider = (PropertiesEditingProvider)editingContext.getAdapterFactory().adapt(semanticObject, PropertiesEditingProvider.class);
+ if (provider != null) {
+ PropertiesEditingPolicy policy = provider.getPolicy(context);
+ if (policy instanceof CreateEditingPolicy) {
+ policy.execute();
+ EObject resultEObject = (EObject) ((CreateEditingPolicy) policy).getResult();
+ if (resultEObject != null) {
+ discriminatorTypeSettings.setToReference(resultEObject);
+ }
+ }
+ }
+ }
}
}
diff --git a/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/StandardElementBindingBasePropertiesEditionComponent.java b/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/StandardElementBindingBasePropertiesEditionComponent.java
index 83642d264..ba688bea6 100644
--- a/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/StandardElementBindingBasePropertiesEditionComponent.java
+++ b/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/StandardElementBindingBasePropertiesEditionComponent.java
@@ -30,10 +30,14 @@ import org.eclipse.emf.eef.mapping.parts.MappingViewsRepository;
import org.eclipse.emf.eef.mapping.parts.StandardElementBindingPropertiesEditionPart;
import org.eclipse.emf.eef.runtime.api.notify.IPropertiesEditionEvent;
import org.eclipse.emf.eef.runtime.context.PropertiesEditingContext;
+import org.eclipse.emf.eef.runtime.context.impl.EReferencePropertiesEditionContext;
import org.eclipse.emf.eef.runtime.impl.components.SinglePartPropertiesEditingComponent;
import org.eclipse.emf.eef.runtime.impl.filters.EObjectFilter;
import org.eclipse.emf.eef.runtime.impl.notify.PropertiesEditionEvent;
import org.eclipse.emf.eef.runtime.impl.utils.EEFConverterUtil;
+import org.eclipse.emf.eef.runtime.policies.PropertiesEditingPolicy;
+import org.eclipse.emf.eef.runtime.policies.impl.CreateEditingPolicy;
+import org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider;
import org.eclipse.emf.eef.runtime.ui.widgets.ButtonsModeEnum;
import org.eclipse.emf.eef.runtime.ui.widgets.eobjflatcombo.EObjectFlatComboSettings;
import org.eclipse.emf.eef.runtime.ui.widgets.referencestable.ReferencesTableSettings;
@@ -117,8 +121,8 @@ public class StandardElementBindingBasePropertiesEditionComponent extends Single
});
basePart.addFilterToViews(new EObjectFilter(ViewsPackage.eINSTANCE.getView()));
// Start of user code for additional businessfilters for views
-
- // End of user code
+
+ // End of user code
basePart.addFilterToModel(new ViewerFilter() {
@@ -133,8 +137,8 @@ public class StandardElementBindingBasePropertiesEditionComponent extends Single
});
// Start of user code for additional businessfilters for model
-
- // End of user code
+
+ // End of user code
}
// init values for referenced views
@@ -169,7 +173,22 @@ public class StandardElementBindingBasePropertiesEditionComponent extends Single
}
}
if (MappingViewsRepository.StandardElementBinding.Binding.model == event.getAffectedEditor()) {
- modelSettings.setToReference((ModelElement)event.getNewValue());
+ if (event.getKind() == PropertiesEditionEvent.SET) {
+ modelSettings.setToReference((ModelElement)event.getNewValue());
+ } else if (event.getKind() == PropertiesEditionEvent.ADD) {
+ EReferencePropertiesEditionContext context = new EReferencePropertiesEditionContext(editingContext, this, semanticObject, MappingPackage.eINSTANCE.getStandardElementBinding_Model(), editingContext.getAdapterFactory());
+ PropertiesEditingProvider provider = (PropertiesEditingProvider)editingContext.getAdapterFactory().adapt(semanticObject, PropertiesEditingProvider.class);
+ if (provider != null) {
+ PropertiesEditingPolicy policy = provider.getPolicy(context);
+ if (policy instanceof CreateEditingPolicy) {
+ policy.execute();
+ EObject resultEObject = (EObject) ((CreateEditingPolicy) policy).getResult();
+ if (resultEObject != null) {
+ modelSettings.setToReference(resultEObject);
+ }
+ }
+ }
+ }
}
}
diff --git a/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/StandardPropertyBindingBasePropertiesEditionComponent.java b/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/StandardPropertyBindingBasePropertiesEditionComponent.java
index 1b8839029..f66ce2618 100644
--- a/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/StandardPropertyBindingBasePropertiesEditionComponent.java
+++ b/plugins/org.eclipse.emf.eef.mapping.edit/src-gen/org/eclipse/emf/eef/mapping/components/StandardPropertyBindingBasePropertiesEditionComponent.java
@@ -30,10 +30,14 @@ import org.eclipse.emf.eef.mapping.parts.MappingViewsRepository;
import org.eclipse.emf.eef.mapping.parts.StandardPropertyBindingPropertiesEditionPart;
import org.eclipse.emf.eef.runtime.api.notify.IPropertiesEditionEvent;
import org.eclipse.emf.eef.runtime.context.PropertiesEditingContext;
+import org.eclipse.emf.eef.runtime.context.impl.EReferencePropertiesEditionContext;
import org.eclipse.emf.eef.runtime.impl.components.SinglePartPropertiesEditingComponent;
import org.eclipse.emf.eef.runtime.impl.filters.EObjectFilter;
import org.eclipse.emf.eef.runtime.impl.notify.PropertiesEditionEvent;
import org.eclipse.emf.eef.runtime.impl.utils.EEFConverterUtil;
+import org.eclipse.emf.eef.runtime.policies.PropertiesEditingPolicy;
+import org.eclipse.emf.eef.runtime.policies.impl.CreateEditingPolicy;
+import org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider;
import org.eclipse.emf.eef.runtime.ui.widgets.ButtonsModeEnum;
import org.eclipse.emf.eef.runtime.ui.widgets.eobjflatcombo.EObjectFlatComboSettings;
import org.eclipse.emf.eef.runtime.ui.widgets.referencestable.ReferencesTableSettings;
@@ -117,8 +121,8 @@ public class StandardPropertyBindingBasePropertiesEditionComponent extends Singl
});
basePart.addFilterToViews(new EObjectFilter(ViewsPackage.eINSTANCE.getElementEditor()));
// Start of user code for additional businessfilters for views
-
- // End of user code
+
+ // End of user code
basePart.addFilterToModel(new ViewerFilter() {
@@ -133,8 +137,8 @@ public class StandardPropertyBindingBasePropertiesEditionComponent extends Singl
});
// Start of user code for additional businessfilters for model
-
- // End of user code
+
+ // End of user code
}
// init values for referenced views
@@ -169,7 +173,22 @@ public class StandardPropertyBindingBasePropertiesEditionComponent extends Singl
}
}
if (MappingViewsRepository.StandardPropertyBinding.Binding.model == event.getAffectedEditor()) {
- modelSettings.setToReference((ModelProperty)event.getNewValue());
+ if (event.getKind() == PropertiesEditionEvent.SET) {
+ modelSettings.setToReference((ModelProperty)event.getNewValue());
+ } else if (event.getKind() == PropertiesEditionEvent.ADD) {
+ EReferencePropertiesEditionContext context = new EReferencePropertiesEditionContext(editingContext, this, semanticObject, MappingPackage.eINSTANCE.getStandardPropertyBinding_Model(), editingContext.getAdapterFactory());
+ PropertiesEditingProvider provider = (PropertiesEditingProvider)editingContext.getAdapterFactory().adapt(semanticObject, PropertiesEditingProvider.class);
+ if (provider != null) {
+ PropertiesEditingPolicy policy = provider.getPolicy(context);
+ if (policy instanceof CreateEditingPolicy) {
+ policy.execute();
+ EObject resultEObject = (EObject) ((CreateEditingPolicy) policy).getResult();
+ if (resultEObject != null) {
+ modelSettings.setToReference(resultEObject);
+ }
+ }
+ }
+ }
}
}

Back to the top