Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf')
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/Activator.java69
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/ActionBarContributor.java170
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/EmbeddedEditor.java303
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/MoDiscoDropAdapter.java68
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/CompoundCommandActionDelegate.java60
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/MoDiscoCopyAction.java51
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/MoDiscoCutAction.java53
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/MoDiscoDeleteAction.java79
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/MoDiscoPasteAction.java52
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/ValidationAction.java35
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/providers/EditingDomainProviderAdapter.java49
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/util/ActionUtil.java97
12 files changed, 0 insertions, 1086 deletions
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/Activator.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/Activator.java
deleted file mode 100644
index 5325e2936f3..00000000000
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/Activator.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.emf.embeddededitor;
-
-import org.eclipse.papyrus.infra.core.log.LogHelper;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
- // The plug-in ID
- public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.emf.embeddededitor"; //$NON-NLS-1$
-
- // The shared instance
- private static Activator plugin;
-
- public static LogHelper log;
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- log = new LogHelper(this);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
-}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/ActionBarContributor.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/ActionBarContributor.java
deleted file mode 100644
index 3007f3a8786..00000000000
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/ActionBarContributor.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.emf.embeddededitor.editor;
-
-import org.eclipse.emf.ecore.presentation.EcoreActionBarContributor;
-import org.eclipse.emf.ecore.presentation.EcoreEditorPlugin;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.ui.action.CopyAction;
-import org.eclipse.emf.edit.ui.action.CutAction;
-import org.eclipse.emf.edit.ui.action.DeleteAction;
-import org.eclipse.emf.edit.ui.action.PasteAction;
-import org.eclipse.emf.edit.ui.action.RedoAction;
-import org.eclipse.emf.edit.ui.action.UndoAction;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.papyrus.infra.emf.embeddededitor.editor.actions.MoDiscoCopyAction;
-import org.eclipse.papyrus.infra.emf.embeddededitor.editor.actions.MoDiscoCutAction;
-import org.eclipse.papyrus.infra.emf.embeddededitor.editor.actions.MoDiscoDeleteAction;
-import org.eclipse.papyrus.infra.emf.embeddededitor.editor.actions.MoDiscoPasteAction;
-import org.eclipse.papyrus.infra.emf.embeddededitor.editor.actions.ValidationAction;
-import org.eclipse.papyrus.infra.newchild.ui.DynamicNewChild;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * The Action bar contributor for the Context Editor
- * Mainly serves as an Adapter for the Ecore actions, as the Ecore actions are
- * not natively compatible with the EMF Facet tree objects
- *
- * @author Camille Letavernier
- */
-
-// TODO : Remove the EcoreActionBarContributor extension
-public class ActionBarContributor extends EcoreActionBarContributor {
-
- protected IStructuredSelection lastSelection;
-
- protected EditingDomain domain;
-
- DynamicNewChild contribution = new DynamicNewChild();
-
- public void init(EditingDomain domain, final TreeViewer viewer) {
- ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-
- deleteAction = createDeleteAction(domain);
- deleteAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
-
- cutAction = createCutAction(domain);
- cutAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_CUT));
-
- copyAction = createCopyAction(domain);
- copyAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
-
- pasteAction = createPasteAction(domain);
- pasteAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
-
- undoAction = createUndoAction(domain);
- undoAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_UNDO));
-
- redoAction = createRedoAction(domain);
- redoAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_REDO));
-
- validateAction = new ValidationAction(domain);
-
- refreshViewerAction = new Action(EcoreEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
-
- @Override
- public void run() {
- viewer.refresh();
- }
- };
-
- this.domain = domain;
-
- viewer.addSelectionChangedListener(this);
- }
-
- /**
- *
- * Constructor.
- *
- */
- public ActionBarContributor() {
- super();
- }
-
- @Override
- public void menuAboutToShow(IMenuManager menuManager) {
- update();
- super.menuAboutToShow(menuManager);
-
- //menuManager.insertBefore("edit", new Separator(NewchildManager.TOP)); //$NON-NLS-1$
- menuManager.insertBefore("edit", contribution);
- // NewchildManager.instance.fillMenu(menuManager, lastSelection);
- }
-
- @Override
- public void update() {
- undoAction.update();
- redoAction.update();
- deleteAction.setEnabled(deleteAction.updateSelection(lastSelection));
- cutAction.setEnabled(cutAction.updateSelection(lastSelection));
- copyAction.setEnabled(copyAction.updateSelection(lastSelection));
- pasteAction.setEnabled(pasteAction.updateSelection(lastSelection));
- validateAction.setEnabled(validateAction.updateSelection(lastSelection));
- }
-
- protected DeleteAction createDeleteAction(EditingDomain domain) {
- return new MoDiscoDeleteAction(domain, removeAllReferencesOnDelete());
- }
-
- @Override
- protected boolean removeAllReferencesOnDelete() {
- return true;
- }
-
- protected CutAction createCutAction(EditingDomain domain) {
- return new MoDiscoCutAction(domain);
- }
-
- protected CopyAction createCopyAction(EditingDomain domain) {
- return new MoDiscoCopyAction(domain);
- }
-
- protected PasteAction createPasteAction(EditingDomain domain) {
- return new MoDiscoPasteAction(domain);
- }
-
- protected UndoAction createUndoAction(EditingDomain domain) {
- return new UndoAction(domain);
- }
-
- protected RedoAction createRedoAction(EditingDomain domain) {
- return new RedoAction(domain);
- }
-
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- if (event.getSelection() instanceof IStructuredSelection) {
- lastSelection = (IStructuredSelection) event.getSelection();
- }
- }
-
- @Override
- protected void addGlobalActions(IMenuManager menuManager) {
- menuManager.insertAfter("additions-end", new Separator("ui-actions"));
- refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
- menuManager.insertAfter("ui-actions", refreshViewerAction);
-
- String key = (style & ADDITIONS_LAST_STYLE) == 0 ? "additions-end" : "additions";
- if (validateAction != null) {
- menuManager.insertBefore(key, new ActionContributionItem(validateAction));
- }
- }
-
-}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/EmbeddedEditor.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/EmbeddedEditor.java
deleted file mode 100644
index ba1aaab3f44..00000000000
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/EmbeddedEditor.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.emf.embeddededitor.editor;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.EventObject;
-import java.util.HashMap;
-
-import org.eclipse.emf.common.command.BasicCommandStack;
-import org.eclipse.emf.common.command.CommandStack;
-import org.eclipse.emf.common.command.CommandStackListener;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.provider.EcoreItemProviderAdapterFactory;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.domain.IEditingDomainProvider;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
-import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
-import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
-import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
-import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.papyrus.emf.facet.custom.core.ICustomizationManager;
-import org.eclipse.papyrus.emf.facet.custom.ui.ICustomizedContentProviderFactory;
-import org.eclipse.papyrus.infra.core.services.ServiceException;
-import org.eclipse.papyrus.infra.emf.embeddededitor.Activator;
-import org.eclipse.papyrus.infra.emf.embeddededitor.providers.EditingDomainProviderAdapter;
-import org.eclipse.papyrus.infra.emf.utils.EMFHelper;
-import org.eclipse.papyrus.infra.services.labelprovider.service.LabelProviderService;
-import org.eclipse.papyrus.infra.services.labelprovider.service.impl.LabelProviderServiceImpl;
-import org.eclipse.papyrus.infra.widgets.editors.AbstractEditor;
-import org.eclipse.papyrus.infra.widgets.editors.ICommitListener;
-import org.eclipse.papyrus.infra.widgets.editors.StringEditor;
-import org.eclipse.papyrus.infra.widgets.providers.PatternViewerFilter;
-import org.eclipse.papyrus.views.properties.widgets.layout.GridData;
-import org.eclipse.papyrus.views.properties.widgets.layout.PropertiesLayout;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Tree;
-
-/**
- * @author Camille Letavernier
- */
-public class EmbeddedEditor implements CommandStackListener, IMenuListener {
-
- protected TreeViewer treeViewer;
-
- protected ILabelProvider labelProvider;
-
- protected IStructuredContentProvider contentProvider;
-
- protected ICustomizationManager customizationManager;
-
- protected Composite container;
-
- protected Composite parent;
-
- protected ResourceSet resourceSet;
-
- protected EditingDomain editingDomain;
-
- protected AdapterFactory adapterFactory;
-
- protected ActionBarContributor actionBarContributor;
-
- protected Adapter editingDomainAdapter;
-
- public EmbeddedEditor(ResourceSet resourceSet) {
- if (resourceSet == null) {
- throw new IllegalArgumentException("The resourceSet shall not be null"); //$NON-NLS-1$
- }
-
- CommandStack commandStack = new BasicCommandStack();
- AdapterFactory adapterFactory = createAdapterFactory();
- editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, resourceSet);
- AdapterFactoryEditingDomain editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, resourceSet);
- editingDomain.setResourceToReadOnlyMap(new HashMap<Resource, Boolean>());
-
- configure(resourceSet, adapterFactory, editingDomain);
- }
-
- public EmbeddedEditor(ResourceSet resourceSet, AdapterFactory adapterFactory, EditingDomain editingDomain) {
- configure(resourceSet, adapterFactory, editingDomain);
- }
-
- protected void configure(ResourceSet resourceSet, AdapterFactory adapterFactory, EditingDomain editingDomain) {
- this.resourceSet = resourceSet;
- this.adapterFactory = adapterFactory;
- this.editingDomain = editingDomain;
- editingDomainAdapter = new EditingDomainProviderAdapter(editingDomain);
- resourceSet.eAdapters().add(editingDomainAdapter);
- }
-
- protected AdapterFactory createAdapterFactory() {
- ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
-
- adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
- adapterFactory.addAdapterFactory(new EcoreItemProviderAdapterFactory());
- adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
-
- return adapterFactory;
- }
-
- public void createWidget(Composite parent) {
-
- this.parent = parent;
-
- container = new Composite(parent, SWT.NONE);
- container.setLayout(new PropertiesLayout());
-
- container.setBackground(new Color(parent.getDisplay(), 255, 255, 255));
- container.setBackgroundMode(SWT.INHERIT_DEFAULT);
-
- if (!resourceSet.getResources().isEmpty()) {
- final PatternViewerFilter filter = new PatternViewerFilter();
-
- final StringEditor filterPattern = new StringEditor(container, SWT.NONE, "Filter");
- filterPattern.addCommitListener(new ICommitListener() {
-
- public void commit(AbstractEditor editor) {
- filter.setPattern((String) filterPattern.getValue());
- treeViewer.refresh();
- }
-
- });
-
- Tree tree = new Tree(container, SWT.NONE | SWT.MULTI);
- tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
- treeViewer = new TreeViewer(tree);
- treeViewer.setFilters(new ViewerFilter[] { filter });
- IStructuredContentProvider contentProvider = getContentProvider();
-
- ILabelProvider labelProvider = getLabelProvider();
-
- editingDomain.getCommandStack().addCommandStackListener(this);
-
- treeViewer.setContentProvider(contentProvider);
- treeViewer.setLabelProvider(labelProvider);
-
- treeViewer.setInput(resourceSet);
-
- actionBarContributor = new ActionBarContributor();
- actionBarContributor.init(editingDomain, treeViewer);
-
- treeViewer.setSelection(new StructuredSelection(resourceSet.getResources().get(0)), true);
-
- new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
-
- createContextMenuFor(treeViewer);
-
- parent.layout();
- }
-
- updateProblemIndication();
- }
-
- private void updateProblemIndication() {
- // TODO
- }
-
- public IStructuredContentProvider getContentProvider() {
- if (contentProvider == null) {
- contentProvider = createContentProvider();
- }
- return contentProvider;
- }
-
- protected IStructuredContentProvider createContentProvider() {
- return ICustomizedContentProviderFactory.DEFAULT.createCustomizedTreeContentProvider(getCustomizationManager());
- }
-
- public ICustomizationManager getCustomizationManager() {
- if (customizationManager == null) {
- customizationManager = createCustomizationManager();
- }
- return customizationManager;
- }
-
- protected ICustomizationManager createCustomizationManager() {
- return org.eclipse.papyrus.infra.emf.Activator.getDefault().getCustomizationManager();
- }
-
- public ILabelProvider getLabelProvider() {
- if (labelProvider == null) {
- labelProvider = createLabelProvider();
- }
- return labelProvider;
- }
-
- protected ILabelProvider createLabelProvider() {
- LabelProviderService labelService = new LabelProviderServiceImpl();
- try {
- labelService.startService();
- } catch (ServiceException ex) {
- Activator.log.error(ex);
- }
- return labelService.getLabelProvider();
- }
-
- protected void createContextMenuFor(StructuredViewer viewer) {
- MenuManager contextMenu = new MenuManager("#PopUp"); //$NON-NLS-1$
- contextMenu.add(new Separator("additions")); //$NON-NLS-1$
- contextMenu.setRemoveAllWhenShown(true);
- contextMenu.addMenuListener(this);
- Menu menu = contextMenu.createContextMenu(viewer.getControl());
- viewer.getControl().setMenu(menu);
-
- int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
- Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance() };
- viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
- viewer.addDropSupport(dndOperations, transfers, new MoDiscoDropAdapter(editingDomain, viewer));
- }
-
- public void dispose() {
- resourceSet.eAdapters().remove(editingDomainAdapter);
- }
-
- public void save() {
- if (!((BasicCommandStack) editingDomain.getCommandStack()).isSaveNeeded()) {
- return;
- }
-
- IEditingDomainProvider domainProvider = (IEditingDomainProvider) EcoreUtil.getAdapter(resourceSet.eAdapters(), IEditingDomainProvider.class);
- if (domainProvider == null) {
- return;
- }
-
- EditingDomain domain = domainProvider.getEditingDomain();
- if (domain == null) {
- return;
- }
-
- for (Resource resource : resourceSet.getResources()) {
- try {
- if (!EMFHelper.isReadOnly(resource, domain)) {
- resource.save(Collections.EMPTY_MAP);
- }
- } catch (IOException ex) {
- Activator.log.error(ex);
- }
- }
-
- ((BasicCommandStack) editingDomain.getCommandStack()).saveIsDone();
- }
-
- public boolean isSaveNeeded() {
- return ((BasicCommandStack) editingDomain.getCommandStack()).isSaveNeeded();
- }
-
- public void saveAs(URI saveAsURI) {
- // TODO
- }
-
- public void commandStackChanged(EventObject event) {
- treeViewer.refresh();
- }
-
- public void menuAboutToShow(IMenuManager menuManager) {
- actionBarContributor.menuAboutToShow(menuManager);
- }
-
- public TreeViewer getViewer() {
- return treeViewer;
- }
-
- public void addCommandStackListener(CommandStackListener listener) {
- editingDomain.getCommandStack().addCommandStackListener(listener);
- }
-
- public EditingDomain getEditingDomain() {
- return editingDomain;
- }
-}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/MoDiscoDropAdapter.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/MoDiscoDropAdapter.java
deleted file mode 100644
index 46533058a8b..00000000000
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/MoDiscoDropAdapter.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.emf.embeddededitor.editor;
-
-import java.util.Collection;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.papyrus.infra.emf.embeddededitor.util.ActionUtil;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * An adapter for Drag & Drop in the Context editor. The default Ecore drag & drop
- * is not compatible with the EMF Facet Tree Elements
- *
- * @author Camille Letavernier
- */
-public class MoDiscoDropAdapter extends EditingDomainViewerDropAdapter {
-
- /**
- *
- * Constructor.
- *
- * @param domain
- * The Editing domain for this Drop Adapter
- * @param viewer
- * The Viewer for this Drop Adapter
- */
- public MoDiscoDropAdapter(EditingDomain domain, Viewer viewer) {
- super(domain, viewer);
- }
-
- @Override
- protected Collection<?> extractDragSource(Object object) {
- if (object instanceof ISelection) {
- return super.extractDragSource(ActionUtil.getAdaptedSelection((ISelection) object));
- } else {
- return super.extractDragSource(object);
- }
- }
-
- @Override
- protected Object extractDropTarget(Widget item) {
- Object dropTarget = super.extractDropTarget(item);
- if (dropTarget instanceof IAdaptable) {
- Object adapter = ((IAdaptable) dropTarget).getAdapter(EObject.class);
- if (adapter != null) {
- return adapter;
- }
- }
-
- return dropTarget;
- }
-
-}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/CompoundCommandActionDelegate.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/CompoundCommandActionDelegate.java
deleted file mode 100644
index c7335459291..00000000000
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/CompoundCommandActionDelegate.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.emf.embeddededitor.editor.actions;
-
-import org.eclipse.emf.common.command.CompoundCommand;
-import org.eclipse.emf.edit.command.CommandActionDelegate;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * An EMF Compound Command with support for Images, Tooltip text and description
- * (From CommandActionDelegate)
- * The first sub-command should be a CommandActionDelegate
- *
- * @author Camille Letavernier
- */
-public class CompoundCommandActionDelegate extends CompoundCommand implements CommandActionDelegate {
-
- private Image image;
-
- /**
- * Sets the Image for this command
- *
- * @param image
- * The image to display on the command
- */
- public void setImage(Image image) {
- this.image = image;
- }
-
- public Object getImage() {
- if (image == null) {
- return ((CommandActionDelegate) getCommandList().get(0)).getImage();
- } else {
- return image;
- }
- }
-
- public String getText() {
- return ((CommandActionDelegate) getCommandList().get(0)).getText();
- }
-
- public String getToolTipText() {
- return ((CommandActionDelegate) getCommandList().get(0)).getToolTipText();
- }
-
- @Override
- public String getDescription() {
- return ((CommandActionDelegate) getCommandList().get(0)).getDescription();
- }
-
-}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/MoDiscoCopyAction.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/MoDiscoCopyAction.java
deleted file mode 100644
index 4be38371947..00000000000
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/MoDiscoCopyAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.emf.embeddededitor.editor.actions;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.ui.action.CopyAction;
-import org.eclipse.papyrus.infra.emf.embeddededitor.util.ActionUtil;
-
-/**
- * An adapter for the EMF "Copy" Action, compatible with the
- * MoDisco customizable content provider.
- *
- * @author Camille Letavernier
- */
-public class MoDiscoCopyAction extends CopyAction {
-
- /**
- * Constructor.
- */
- public MoDiscoCopyAction() {
- }
-
- /**
- * Constructor.
- *
- * @param domain
- * The Editing domain on which the action will be executed
- */
- public MoDiscoCopyAction(EditingDomain domain) {
- super(domain);
- }
-
- @Override
- public Command createCommand(Collection<?> selection) {
- Collection<?> newSelection = ActionUtil.getAdaptedSelection(selection);
- return super.createCommand(newSelection);
- }
-
-}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/MoDiscoCutAction.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/MoDiscoCutAction.java
deleted file mode 100644
index 705746cd2e3..00000000000
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/MoDiscoCutAction.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.emf.embeddededitor.editor.actions;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.ui.action.CutAction;
-import org.eclipse.papyrus.infra.emf.embeddededitor.util.ActionUtil;
-
-/**
- * An adapter for the EMF "Cut" Action, compatible with the
- * MoDisco customizable content provider.
- *
- * @author Camille Letavernier
- */
-public class MoDiscoCutAction extends CutAction {
-
- /**
- * Constructor.
- */
- public MoDiscoCutAction() {
- }
-
- /**
- *
- * Constructor.
- *
- * @param domain
- * The Editing domain on which the command will be executed
- */
- public MoDiscoCutAction(EditingDomain domain) {
- super(domain);
- }
-
- @Override
- public Command createCommand(Collection<?> selection) {
- Collection<?> newSelection = ActionUtil.getAdaptedSelection(selection);
- return super.createCommand(newSelection);
- }
-
-
-}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/MoDiscoDeleteAction.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/MoDiscoDeleteAction.java
deleted file mode 100644
index 8af245d20cf..00000000000
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/MoDiscoDeleteAction.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.emf.embeddededitor.editor.actions;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.ui.action.DeleteAction;
-import org.eclipse.papyrus.infra.emf.embeddededitor.util.ActionUtil;
-
-/**
- * An adapter for the EMF "Delete" Action, compatible with the
- * MoDisco customizable content provider.
- *
- * @author Camille Letavernier
- */
-public class MoDiscoDeleteAction extends DeleteAction {
-
- /**
- * Constructor.
- *
- * @param domain
- * The editing domain on which the action will be called
- * @param removeAllReferences
- * If true, all references to the deleted object will be removed.
- * This causes the whole resourceSet to be loaded, which may
- * lead to performance issues.
- */
- public MoDiscoDeleteAction(EditingDomain domain, boolean removeAllReferences) {
- super(domain, removeAllReferences);
- }
-
- /**
- * Constructor. All references to the deleted object will be removed.
- *
- * @param domain
- * The editing domain on which the action will be called
- */
- public MoDiscoDeleteAction(EditingDomain domain) {
- super(domain);
- }
-
- /**
- *
- * Constructor.
- *
- * @param removeAllReferences
- * If true, all references to the deleted object will be removed.
- * This causes the whole resourceSet to be loaded, which may
- * lead to performance issues.
- */
- public MoDiscoDeleteAction(boolean removeAllReferences) {
- super(removeAllReferences);
- }
-
- /**
- * Constructor. All references to the deleted object will be removed.
- */
- public MoDiscoDeleteAction() {
- super();
- }
-
- @Override
- public Command createCommand(Collection<?> selection) {
- Collection<?> newSelection = ActionUtil.getAdaptedSelection(selection);
- return super.createCommand(newSelection);
- }
-
-}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/MoDiscoPasteAction.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/MoDiscoPasteAction.java
deleted file mode 100644
index 69ab344b53d..00000000000
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/MoDiscoPasteAction.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.emf.embeddededitor.editor.actions;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.ui.action.PasteAction;
-import org.eclipse.papyrus.infra.emf.embeddededitor.util.ActionUtil;
-
-/**
- * An adapter for the EMF "Paste" Action, compatible with the
- * MoDisco customizable content provider.
- *
- * @author Camille Letavernier
- */
-public class MoDiscoPasteAction extends PasteAction {
-
- /**
- * Constructor.
- */
- public MoDiscoPasteAction() {
- }
-
- /**
- *
- * Constructor.
- *
- * @param domain
- * The editing domain on which the command will be called
- */
- public MoDiscoPasteAction(EditingDomain domain) {
- super(domain);
- }
-
- @Override
- public Command createCommand(Collection<?> selection) {
- Collection<?> newSelection = ActionUtil.getAdaptedSelection(selection);
- return super.createCommand(newSelection);
- }
-
-}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/ValidationAction.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/ValidationAction.java
deleted file mode 100644
index 396167e5848..00000000000
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/editor/actions/ValidationAction.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.emf.embeddededitor.editor.actions;
-
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.ui.action.ValidateAction;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.papyrus.infra.emf.embeddededitor.util.ActionUtil;
-
-/**
- * An adapter for the EMF "Validate" Action, compatible with the
- * MoDisco customizable content provider.
- *
- * @author Camille Letavernier
- */
-public class ValidationAction extends ValidateAction {
-
- public ValidationAction(EditingDomain domain) {
- this.domain = domain;
- }
-
- @Override
- public boolean updateSelection(IStructuredSelection selection) {
- return super.updateSelection((IStructuredSelection) ActionUtil.getAdaptedSelection(selection));
- }
-}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/providers/EditingDomainProviderAdapter.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/providers/EditingDomainProviderAdapter.java
deleted file mode 100644
index 298581d794a..00000000000
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/providers/EditingDomainProviderAdapter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.emf.embeddededitor.providers;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.domain.IEditingDomainProvider;
-
-
-public class EditingDomainProviderAdapter implements IEditingDomainProvider, Adapter {
-
- private EditingDomain domain;
-
- public EditingDomainProviderAdapter(EditingDomain domain) {
- this.domain = domain;
- }
-
- public void notifyChanged(Notification notification) {
- // Nothing
- }
-
- public Notifier getTarget() {
- return null; // Nothing
- }
-
- public void setTarget(Notifier newTarget) {
- // Nothing
- }
-
- public boolean isAdapterForType(Object type) {
- return type == IEditingDomainProvider.class;
- }
-
- public EditingDomain getEditingDomain() {
- return domain;
- }
-
-}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/util/ActionUtil.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/util/ActionUtil.java
deleted file mode 100644
index c0f1a3f5e4c..00000000000
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.embeddededitor/src/org/eclipse/papyrus/infra/emf/embeddededitor/util/ActionUtil.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.emf.embeddededitor.util;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-/**
- * Utility class for Actions
- *
- * @author Camille Letavernier
- *
- */
-public class ActionUtil {
-
- /**
- * EMF can only handle collections of EObjects. However, as the
- * customization plugin relies a lot on EMF Facet, we often have to handle
- * objects that can be adapted to EObjects, but are not EObjects
- * themselves. This method adapts a collections of such objects to their
- * underlying EObjects, so that EMF can handle them.
- * Objects that cannot be adapted remain as-is in the collection.
- *
- * @param selection
- * The collection to adapt
- * @return
- * The adapted selection
- */
- public static Collection<Object> getAdaptedSelection(Collection<? extends Object> selection) {
- Collection<Object> newSelection = new LinkedList<Object>();
- for (Object o : selection) {
- if (o instanceof IAdaptable) {
- EObject eObject = (EObject) ((IAdaptable) o).getAdapter(EObject.class);
- newSelection.add(eObject);
- } else {
- newSelection.add(o);
- }
- }
- return newSelection;
- }
-
- /**
- * EMF can only handle ISelection containing EObjects. However, as the
- * customization plugin relies a lot on EMF Facet, we often have to handle
- * objects that can be adapted to EObjects, but are not EObjects
- * themselves. This method adapts a ISelection of such objects to their
- * underlying EObjects, so that EMF can handle them.
- * Objects that cannot be adapted remain as-is in the selection.
- *
- * @param sourceSelection
- * The selection to adapt
- * @return
- * The adapted selection
- */
- public static ISelection getAdaptedSelection(ISelection sourceSelection) {
- if (sourceSelection instanceof StructuredSelection) {
- StructuredSelection currentSelection = (StructuredSelection) sourceSelection;
- List<Object> newSelection = new LinkedList<Object>();
-
- Iterator<?> it = currentSelection.iterator();
- while (it.hasNext()) {
- Object object = it.next();
- if (object instanceof IAdaptable) {
- EObject eObject = (EObject) ((IAdaptable) object).getAdapter(EObject.class);
- if (eObject != null) {
- newSelection.add(eObject);
- } else {
- newSelection.add(object);
- }
- } else {
- newSelection.add(object);
- }
- }
-
- StructuredSelection selection = new StructuredSelection(newSelection);
- return selection;
- } else {
- return sourceSelection;
- }
- }
-}

Back to the top