diff options
author | cletavernie | 2012-11-23 10:52:23 +0000 |
---|---|---|
committer | cletavernie | 2012-11-23 10:52:23 +0000 |
commit | 6424abf6e7e922c90a56eec84fd3f9b2de9dfae5 (patch) | |
tree | 8d3239a03710422cba8493b4dbe9ee2bb9aeda71 /plugins/uml/tools | |
parent | c7ed19562dfcf443385c0213765c98ffc841409f (diff) | |
download | org.eclipse.papyrus-6424abf6e7e922c90a56eec84fd3f9b2de9dfae5.tar.gz org.eclipse.papyrus-6424abf6e7e922c90a56eec84fd3f9b2de9dfae5.tar.xz org.eclipse.papyrus-6424abf6e7e922c90a56eec84fd3f9b2de9dfae5.zip |
391945: [Refactoring] Part 2: Refactoring on Kepler (0.10)
https://bugs.eclipse.org/bugs/show_bug.cgi?id=391945
Diffstat (limited to 'plugins/uml/tools')
7 files changed, 65 insertions, 25 deletions
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools/META-INF/MANIFEST.MF b/plugins/uml/tools/org.eclipse.papyrus.uml.tools/META-INF/MANIFEST.MF index a1b22b35e25..3bc28801dfa 100644 --- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools/META-INF/MANIFEST.MF +++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools/META-INF/MANIFEST.MF @@ -18,7 +18,6 @@ Require-Bundle: org.eclipse.ui, org.eclipse.papyrus.infra.services.validation;bundle-version="0.10.0",
org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.4.0",
org.eclipse.papyrus.infra.services.labelprovider;bundle-version="0.10.0",
- org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.6.0",
org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="0.10.0"
Export-Package: org.eclipse.papyrus.uml.tools,
org.eclipse.papyrus.uml.tools.commands,
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools/icons/none_comp_vis.gif b/plugins/uml/tools/org.eclipse.papyrus.uml.tools/icons/none_comp_vis.gif Binary files differdeleted file mode 100644 index a2017d01c82..00000000000 --- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools/icons/none_comp_vis.gif +++ /dev/null diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/databinding/ProfileApplicationObservableList.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/databinding/ProfileApplicationObservableList.java index ebebb793dfc..6f24f4c45bf 100644 --- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/databinding/ProfileApplicationObservableList.java +++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/databinding/ProfileApplicationObservableList.java @@ -57,7 +57,7 @@ public class ProfileApplicationObservableList extends WritableList implements IC * The editing domain on which the commands are executed
*/
public ProfileApplicationObservableList(Package umlSource, EditingDomain domain) {
- super(new LinkedList<Object>(umlSource.getAllAppliedProfiles()), Profile.class);
+ super(new LinkedList<Object>(umlSource.getAppliedProfiles()), Profile.class);
this.umlSource = umlSource;
this.domain = domain;
commands = new LinkedList<Command>();
@@ -188,7 +188,7 @@ public class ProfileApplicationObservableList extends WritableList implements IC private void refreshCacheList() {
wrappedList.clear();
- wrappedList.addAll(umlSource.getAllAppliedProfiles());
+ wrappedList.addAll(umlSource.getAppliedProfiles());
fireListChange(null);
}
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/providers/UMLContentProvider.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/providers/UMLContentProvider.java index 49c5b757abf..c50adafd18f 100644 --- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/providers/UMLContentProvider.java +++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/providers/UMLContentProvider.java @@ -17,15 +17,20 @@ import java.util.Collections; import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.Viewer;
import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
+import org.eclipse.papyrus.infra.core.utils.ServiceUtils;
import org.eclipse.papyrus.infra.core.utils.ServiceUtilsForActionHandlers;
import org.eclipse.papyrus.infra.emf.providers.EMFEnumeratorContentProvider;
import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForResource;
import org.eclipse.papyrus.infra.widgets.providers.EmptyContentProvider;
import org.eclipse.papyrus.infra.widgets.providers.EncapsulatedContentProvider;
import org.eclipse.papyrus.infra.widgets.providers.IHierarchicContentProvider;
+import org.eclipse.papyrus.uml.tools.Activator;
import org.eclipse.papyrus.uml.tools.util.UMLProviderHelper;
import org.eclipse.papyrus.uml.tools.utils.ProfileUtil;
import org.eclipse.uml2.uml.InstanceValue;
@@ -47,6 +52,44 @@ public class UMLContentProvider extends EncapsulatedContentProvider { protected ResourceSet root;
+ public UMLContentProvider() {
+ //Empty (@see #setInput())
+ }
+
+ @Override
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ IStructuredContentProvider semanticProvider = null;
+
+ if(newInput instanceof EObject) {
+ EObject eObject = (EObject)newInput;
+ semanticProvider = getSemanticProvider(eObject);
+ }
+
+ if(newInput instanceof Resource) {
+ semanticProvider = getSemanticProvider((Resource)newInput);
+ }
+
+ if(newInput instanceof ResourceSet) {
+ root = (ResourceSet)newInput;
+ semanticProvider = getSemanticProvider(root);
+ }
+
+ if(newInput instanceof ServicesRegistry) {
+ try {
+ root = ServiceUtils.getInstance().getModelSet((ServicesRegistry)newInput);
+ semanticProvider = getSemanticProvider(root);
+ } catch (Exception ex) {
+ Activator.log.error(ex);
+ }
+ }
+
+ if(semanticProvider != null) {
+ encapsulated = UMLProviderHelper.encapsulateProvider(semanticProvider, null, feature, root);
+ }
+
+ super.inputChanged(viewer, oldInput, newInput);
+ }
+
/**
* Constructor.
*
@@ -99,6 +142,18 @@ public class UMLContentProvider extends EncapsulatedContentProvider { encapsulated = UMLProviderHelper.encapsulateProvider(semanticProvider, eObject, feature, root);
}
+ protected IStructuredContentProvider getSemanticProvider(ResourceSet root) {
+ return new SemanticUMLContentProvider(root);
+ }
+
+ protected IStructuredContentProvider getSemanticProvider(Resource root) {
+ return new SemanticUMLContentProvider(root.getContents().toArray(new EObject[0]));
+ }
+
+ protected IStructuredContentProvider getSemanticProvider(EObject root) {
+ return new SemanticUMLContentProvider(new EObject[]{ root });
+ }
+
/**
*
* @param source
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/providers/UMLFilteredLabelProvider.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/providers/UMLFilteredLabelProvider.java index da13e453ce1..ad96345f04d 100644 --- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/providers/UMLFilteredLabelProvider.java +++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/providers/UMLFilteredLabelProvider.java @@ -16,7 +16,7 @@ import java.util.Iterator; import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.papyrus.infra.emf.utils.EMFHelper;
-import org.eclipse.papyrus.infra.widgets.providers.IFilteredLabelProvider;
+import org.eclipse.papyrus.infra.services.labelprovider.service.IFilteredLabelProvider;
import org.eclipse.uml2.uml.Element;
/**
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/providers/UMLLabelProvider.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/providers/UMLLabelProvider.java index 74b8a978239..156013c2353 100644 --- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/providers/UMLLabelProvider.java +++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/providers/UMLLabelProvider.java @@ -3,12 +3,6 @@ package org.eclipse.papyrus.uml.tools.providers; import java.util.Iterator;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ResizableCompartmentEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.services.editpart.EditPartService;
-import org.eclipse.gmf.runtime.notation.BasicCompartment;
-import org.eclipse.gmf.runtime.notation.DecorationNode;
-import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.papyrus.infra.emf.providers.EMFLabelProvider;
import org.eclipse.papyrus.uml.tools.Activator;
@@ -46,9 +40,6 @@ public class UMLLabelProvider extends EMFLabelProvider implements ILabelProvider /** icon for metaclass */
public static final String ICON_METACLASS = "/icons/Metaclass.gif";//$NON-NLS-1$
- /** icon for a compartment */
- public static final String ICON_COMPARTMENT = "/icons/none_comp_vis.gif"; //$NON-NLS-1$
-
/**
*
* @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
@@ -83,11 +74,6 @@ public class UMLLabelProvider extends EMFLabelProvider implements ILabelProvider return image == null ? super.getImage(element) : image;
}
- // if the element is a compartment
- if(element instanceof BasicCompartment || element instanceof DecorationNode) {
- return org.eclipse.papyrus.infra.widgets.Activator.getDefault().getImage(Activator.PLUGIN_ID, ICON_COMPARTMENT);
- }
-
return super.getImage(element);
}
@@ -264,11 +250,6 @@ public class UMLLabelProvider extends EMFLabelProvider implements ILabelProvider // when the element is not a NamedElement, we return its Type name
String className = element.eClass().getName();
return className;
- } else if(element instanceof View) { // maybe it is a view of a compartment
- EditPart dummyEP = EditPartService.getInstance().createGraphicEditPart((View)element);
- if(dummyEP instanceof ResizableCompartmentEditPart) {
- return ((ResizableCompartmentEditPart)dummyEP).getCompartmentName();
- }
}
return super.getText(element);
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/util/UMLProviderHelper.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/util/UMLProviderHelper.java index e0bce2f435d..506b983cffb 100644 --- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/util/UMLProviderHelper.java +++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/util/UMLProviderHelper.java @@ -17,10 +17,10 @@ import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.papyrus.infra.emf.providers.EMFGraphicalContentProvider;
-import org.eclipse.papyrus.infra.emf.providers.strategy.StrategyBasedContentProvider;
import org.eclipse.papyrus.infra.emf.utils.HistoryUtil;
import org.eclipse.papyrus.infra.widgets.strategy.IStrategyBasedContentProvider;
import org.eclipse.papyrus.infra.widgets.strategy.ProviderBasedBrowseStrategy;
+import org.eclipse.papyrus.infra.widgets.strategy.StrategyBasedContentProvider;
import org.eclipse.papyrus.infra.widgets.strategy.TreeBrowseStrategy;
import org.eclipse.papyrus.uml.tools.providers.UMLContainmentBrowseStrategy;
@@ -42,7 +42,12 @@ public class UMLProviderHelper { * @return
*/
public static EMFGraphicalContentProvider encapsulateProvider(IStructuredContentProvider provider, EObject editedEObject, EStructuralFeature feature, ResourceSet root) {
- String historyId = HistoryUtil.getHistoryID(editedEObject, feature);
+ String historyId;
+ if(editedEObject != null && feature != null) {
+ historyId = HistoryUtil.getHistoryID(editedEObject, feature);
+ } else {
+ historyId = "DefaultHistory";
+ }
IStructuredContentProvider contentProvider;
|