Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcletavernie2011-12-14 10:55:10 +0000
committercletavernie2011-12-14 10:55:10 +0000
commite86921448b63d979ecf4e4497f0c64e69205e54a (patch)
tree22220d5de426cf155e10fe7e2f8f63f93720f6d0
parent8b21fd432484a95c84588aa0408e40bfa5dd0171 (diff)
downloadorg.eclipse.papyrus-e86921448b63d979ecf4e4497f0c64e69205e54a.tar.gz
org.eclipse.papyrus-e86921448b63d979ecf4e4497f0c64e69205e54a.tar.xz
org.eclipse.papyrus-e86921448b63d979ecf4e4497f0c64e69205e54a.zip
358077: [Property View - UML] The UML property view should be improved for usability concerns
https://bugs.eclipse.org/bugs/show_bug.cgi?id=358077
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/providers/EditorLabelProvider.java37
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties/src/org/eclipse/papyrus/uml/properties/modelelement/StereotypeModelElement.java18
2 files changed, 29 insertions, 26 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/providers/EditorLabelProvider.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/providers/EditorLabelProvider.java
index a50ae4d0984..8faba55a73c 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/providers/EditorLabelProvider.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/providers/EditorLabelProvider.java
@@ -1,7 +1,7 @@
/*****************************************************************************
* 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
@@ -58,7 +58,7 @@ import org.eclipse.uml2.uml.util.UMLUtil;
/**
* The Class EditorLabelProvider. This class provides Label and Image for UML
* Element
- *
+ *
*/
public class EditorLabelProvider implements ILabelProvider {
@@ -66,7 +66,7 @@ public class EditorLabelProvider implements ILabelProvider {
* We store the next index for the UML Element, which are not NamedElement
* Key is a String representing the type of Element
*/
- private Map<String, Integer> index = new HashMap<String, Integer>();
+ private final Map<String, Integer> index = new HashMap<String, Integer>();
/** the plugin where owning the icons for the UML Element */
public static final String pluginID = "org.eclipse.uml2.uml.edit"; //$NON-NLS-1$
@@ -84,9 +84,9 @@ public class EditorLabelProvider implements ILabelProvider {
public static final String ICON_COMPARTMENT = "/icons/none_comp_vis.gif"; //$NON-NLS-1$
/**
- *
+ *
* @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
- *
+ *
* @param listener
*/
public void addListener(ILabelProviderListener listener) {
@@ -94,9 +94,9 @@ public class EditorLabelProvider implements ILabelProvider {
}
/**
- *
+ *
* @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
- *
+ *
* @param element
* @param property
* @return
@@ -107,9 +107,9 @@ public class EditorLabelProvider implements ILabelProvider {
}
/**
- *
+ *
* @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
- *
+ *
* @param listener
*/
public void removeListener(ILabelProviderListener listener) {
@@ -117,9 +117,9 @@ public class EditorLabelProvider implements ILabelProvider {
}
/**
- *
+ *
* @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
- *
+ *
* @param element
* @return <ul>
* <li>if stereotypes are applied on the elements : return the image corresponding to the first applied stereotype</li>
@@ -201,17 +201,20 @@ public class EditorLabelProvider implements ILabelProvider {
itemLabelProvider = (IItemLabelProvider)adapterFactory.adapt(eObject, IItemLabelProvider.class);
}
}
- Object imageObject = itemLabelProvider.getImage(eObject);
- return ExtendedImageRegistry.getInstance().getImage(imageObject);
+
+ if (itemLabelProvider != null){
+ Object imageObject = itemLabelProvider.getImage(eObject);
+ return ExtendedImageRegistry.getInstance().getImage(imageObject);
+ }
}
return null;
}
/**
- *
+ *
* @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
- *
+ *
* @param element
* @return <ul>
* <li>if element is a {@link NamedElement}, we return its name</li>
@@ -343,9 +346,9 @@ public class EditorLabelProvider implements ILabelProvider {
}
/**
- *
+ *
* @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
- *
+ *
*/
public void dispose() {
// TODO
diff --git a/plugins/uml/properties/org.eclipse.papyrus.uml.properties/src/org/eclipse/papyrus/uml/properties/modelelement/StereotypeModelElement.java b/plugins/uml/properties/org.eclipse.papyrus.uml.properties/src/org/eclipse/papyrus/uml/properties/modelelement/StereotypeModelElement.java
index 74b2d440d03..6f87d2e1aee 100644
--- a/plugins/uml/properties/org.eclipse.papyrus.uml.properties/src/org/eclipse/papyrus/uml/properties/modelelement/StereotypeModelElement.java
+++ b/plugins/uml/properties/org.eclipse.papyrus.uml.properties/src/org/eclipse/papyrus/uml/properties/modelelement/StereotypeModelElement.java
@@ -1,6 +1,6 @@
/*****************************************************************************
* 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
@@ -26,12 +26,12 @@ import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.papyrus.infra.widgets.providers.EmptyContentProvider;
import org.eclipse.papyrus.infra.widgets.providers.IStaticContentProvider;
-import org.eclipse.papyrus.uml.diagram.common.providers.EditorLabelProvider;
import org.eclipse.papyrus.uml.modelexplorer.widgets.ServiceEditFilteredUMLContentProvider;
import org.eclipse.papyrus.uml.properties.databinding.PapyrusObservableList;
import org.eclipse.papyrus.uml.properties.databinding.PapyrusObservableValue;
import org.eclipse.papyrus.uml.properties.datatype.DataTypeProvider;
import org.eclipse.papyrus.uml.properties.datatype.StructuredDataTypeObservableValue;
+import org.eclipse.papyrus.uml.properties.providers.UMLLabelProvider;
import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
import org.eclipse.papyrus.views.properties.modelelement.EMFModelElement;
import org.eclipse.papyrus.views.properties.util.EMFHelper;
@@ -43,19 +43,19 @@ import org.eclipse.uml2.uml.util.UMLUtil;
/**
* A Model Element for manipulating Stereotype properties
- *
+ *
* @author Camille Letavernier
*/
public class StereotypeModelElement extends EMFModelElement {
/**
* Constructor.
- *
+ *
* @param source
* The StereotypeApplication being edited
* @param domain
* The Editing domain on which the commands will be called
- *
+ *
*/
public StereotypeModelElement(EObject source, EditingDomain domain) {
super(source, domain);
@@ -68,7 +68,7 @@ public class StereotypeModelElement extends EMFModelElement {
public IObservable doGetObservable(String propertyPath) {
FeaturePath featurePath = getFeaturePath(propertyPath);
EStructuralFeature feature = getFeature(featurePath);
-
+
if(feature.getEType() instanceof EDataType && !(feature.getEType() instanceof EEnum)) {
if(feature.getUpperBound() == 1) {
//Single-valued DataType
@@ -78,7 +78,7 @@ public class StereotypeModelElement extends EMFModelElement {
//TODO : Multi-valued DataTypes
}
}
-
+
if(feature.getUpperBound() != 1) {
return new PapyrusObservableList(EMFProperties.list(featurePath).observe(source), domain, getSource(featurePath), feature);
}
@@ -95,7 +95,7 @@ public class StereotypeModelElement extends EMFModelElement {
if(feature.getEType() instanceof EEnum) {
return super.getLabelProvider(propertyPath);
}
- return new EditorLabelProvider();
+ return new UMLLabelProvider();
}
/**
@@ -132,7 +132,7 @@ public class StereotypeModelElement extends EMFModelElement {
/**
* Returns the content provider for reference properties typed
* by a stereotype
- *
+ *
* @param propertyPath
* The name of the property being edited
* @return

Back to the top