diff options
4 files changed, 53 insertions, 0 deletions
diff --git a/plugins/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/GroupDescriptionItemProvider.java b/plugins/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/GroupDescriptionItemProvider.java index 9e3ac45ef6..c999e70f7e 100644 --- a/plugins/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/GroupDescriptionItemProvider.java +++ b/plugins/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/GroupDescriptionItemProvider.java @@ -18,6 +18,7 @@ import org.eclipse.emf.common.notify.AdapterFactory; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.util.ResourceLocator; import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.edit.command.CommandParameter; import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; import org.eclipse.emf.edit.provider.IChildCreationExtender; import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; @@ -228,6 +229,12 @@ public class GroupDescriptionItemProvider extends ItemProviderAdapter } super.notifyChanged(notification); } + + @Override + protected CommandParameter createChildParameter(Object feature, Object child) { + PropertiesItemProviderAdapterFactory.addNoopNavigationOperations(child); + return super.createChildParameter(feature, child); + } /** * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s diff --git a/plugins/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/HyperlinkDescriptionItemProvider.java b/plugins/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/HyperlinkDescriptionItemProvider.java index 033b3d4641..23589d8a22 100644 --- a/plugins/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/HyperlinkDescriptionItemProvider.java +++ b/plugins/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/HyperlinkDescriptionItemProvider.java @@ -17,6 +17,7 @@ import java.util.List; import org.eclipse.emf.common.notify.AdapterFactory; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.edit.command.CommandParameter; import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; @@ -174,6 +175,12 @@ public class HyperlinkDescriptionItemProvider extends WidgetDescriptionItemProvi } super.notifyChanged(notification); } + + @Override + protected CommandParameter createChildParameter(Object feature, Object child) { + PropertiesItemProviderAdapterFactory.addNoopNavigationOperations(child); + return super.createChildParameter(feature, child); + } /** * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s diff --git a/plugins/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/ListDescriptionItemProvider.java b/plugins/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/ListDescriptionItemProvider.java index aa184f7eba..30b095da4e 100644 --- a/plugins/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/ListDescriptionItemProvider.java +++ b/plugins/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/ListDescriptionItemProvider.java @@ -16,7 +16,10 @@ import java.util.List; import org.eclipse.emf.common.notify.AdapterFactory; import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.edit.command.CommandParameter; import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; @@ -24,7 +27,10 @@ import org.eclipse.emf.edit.provider.ViewerNotification; import org.eclipse.sirius.properties.ListDescription; import org.eclipse.sirius.properties.PropertiesFactory; import org.eclipse.sirius.properties.PropertiesPackage; +import org.eclipse.sirius.viewpoint.description.tool.ChangeContext; +import org.eclipse.sirius.viewpoint.description.tool.InitialOperation; import org.eclipse.sirius.viewpoint.description.tool.ToolFactory; +import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; /** * This is the item provider adapter for a @@ -174,6 +180,12 @@ public class ListDescriptionItemProvider extends WidgetDescriptionItemProvider { super.notifyChanged(notification); } + @Override + protected CommandParameter createChildParameter(Object feature, Object child) { + PropertiesItemProviderAdapterFactory.addNoopNavigationOperations(child); + return super.createChildParameter(feature, child); + } + /** * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s * describing the children that can be created under this object. <!-- diff --git a/plugins/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/PropertiesItemProviderAdapterFactory.java b/plugins/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/PropertiesItemProviderAdapterFactory.java index 1aa4e94683..2e91f3d82a 100644 --- a/plugins/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/PropertiesItemProviderAdapterFactory.java +++ b/plugins/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/PropertiesItemProviderAdapterFactory.java @@ -20,6 +20,7 @@ import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.Notifier; import org.eclipse.emf.common.util.ResourceLocator; import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.edit.command.CommandParameter; import org.eclipse.emf.edit.domain.EditingDomain; import org.eclipse.emf.edit.provider.ChangeNotifier; @@ -43,6 +44,10 @@ import org.eclipse.sirius.properties.ViewExtensionDescription; import org.eclipse.sirius.properties.util.PropertiesAdapterFactory; import org.eclipse.sirius.viewpoint.description.DescriptionPackage; import org.eclipse.sirius.viewpoint.description.Group; +import org.eclipse.sirius.viewpoint.description.tool.ChangeContext; +import org.eclipse.sirius.viewpoint.description.tool.InitialOperation; +import org.eclipse.sirius.viewpoint.description.tool.ToolFactory; +import org.eclipse.sirius.viewpoint.description.tool.ToolPackage; import org.eclipse.sirius.viewpoint.description.util.DescriptionSwitch; import org.eclipse.sirius.viewpoint.description.validation.ValidationPackage; import org.eclipse.sirius.viewpoint.description.validation.ValidationSet; @@ -1559,6 +1564,28 @@ public class PropertiesItemProviderAdapterFactory extends PropertiesAdapterFacto } /** + * Add default "Begin" operations with a no-op navigation to the specific + * element. + * + * @param child + * a newly created child. + */ + static void addNoopNavigationOperations(Object child) { + if (child instanceof EObject) { + EObject obj = (EObject) child; + for (EReference ref : obj.eClass().getEAllReferences()) { + if (ref.isContainment() && ref.getEReferenceType() == ToolPackage.Literals.INITIAL_OPERATION) { + InitialOperation begin = ToolFactory.eINSTANCE.createInitialOperation(); + ChangeContext noop = ToolFactory.eINSTANCE.createChangeContext(); + noop.setBrowseExpression("var:self"); //$NON-NLS-1$ + begin.setFirstModelOperations(noop); + obj.eSet(ref, begin); + } + } + } + } + + /** * A child creation extender for the {@link DescriptionPackage}. <!-- * begin-user-doc --> <!-- end-user-doc --> * |