|
@@ -11,9 +11,12 @@
|
|
|
package org.yakindu.sct.ui.editor.propertysheets;
|
|
|
|
|
|
import org.eclipse.emf.ecore.EObject;
|
|
|
+import org.eclipse.gmf.runtime.diagram.core.util.ViewType;
|
|
|
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
|
|
|
+import org.eclipse.gmf.runtime.diagram.ui.l10n.SharedImages;
|
|
|
import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
|
|
|
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
|
|
|
+import org.eclipse.gmf.runtime.notation.View;
|
|
|
import org.eclipse.jface.resource.ImageDescriptor;
|
|
|
import org.eclipse.jface.viewers.BaseLabelProvider;
|
|
|
import org.eclipse.jface.viewers.ILabelProvider;
|
|
@@ -35,20 +38,23 @@ public class SheetLabelProvider extends BaseLabelProvider implements
|
|
|
if (element instanceof IGraphicalEditPart) {
|
|
|
EObject semanticElement = ((IGraphicalEditPart) element)
|
|
|
.resolveSemanticElement();
|
|
|
-
|
|
|
- if(semanticElement == null)
|
|
|
- return null;
|
|
|
-
|
|
|
- IElementType elementType = ElementTypeRegistry.getInstance()
|
|
|
- .getElementType(semanticElement);
|
|
|
- StringBuilder builder = new StringBuilder();
|
|
|
- builder.append(elementType.getDisplayName());
|
|
|
- if (semanticElement instanceof NamedElement
|
|
|
- && ((NamedElement) semanticElement).getName() != null) {
|
|
|
- builder.append(' ');
|
|
|
- builder.append(((NamedElement) semanticElement).getName());
|
|
|
+
|
|
|
+ if (semanticElement == null) {
|
|
|
+ View view = ((IGraphicalEditPart) element).getNotationView();
|
|
|
+ return view.getType();
|
|
|
+ } else {
|
|
|
+
|
|
|
+ IElementType elementType = ElementTypeRegistry.getInstance()
|
|
|
+ .getElementType(semanticElement);
|
|
|
+ StringBuilder builder = new StringBuilder();
|
|
|
+ builder.append(elementType.getDisplayName());
|
|
|
+ if (semanticElement instanceof NamedElement
|
|
|
+ && ((NamedElement) semanticElement).getName() != null) {
|
|
|
+ builder.append(' ');
|
|
|
+ builder.append(((NamedElement) semanticElement).getName());
|
|
|
+ }
|
|
|
+ return builder.toString();
|
|
|
}
|
|
|
- return builder.toString();
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
@@ -58,26 +64,36 @@ public class SheetLabelProvider extends BaseLabelProvider implements
|
|
|
if (element instanceof IGraphicalEditPart) {
|
|
|
EObject semanticElement = ((IGraphicalEditPart) element)
|
|
|
.resolveSemanticElement();
|
|
|
-
|
|
|
- if(semanticElement == null)
|
|
|
- return null;
|
|
|
-
|
|
|
- IElementType elementType = ElementTypeRegistry.getInstance()
|
|
|
- .getElementType(semanticElement);
|
|
|
- Image image = DiagramActivator.getDefault().getImageRegistry()
|
|
|
- .get(elementType.getIconURL().toString());
|
|
|
- if (image == null) {
|
|
|
- ImageDescriptor desc = ImageDescriptor
|
|
|
- .createFromURL(elementType.getIconURL());
|
|
|
- DiagramActivator
|
|
|
- .getDefault()
|
|
|
- .getImageRegistry()
|
|
|
- .put(elementType.getIconURL().toString(),
|
|
|
- desc.createImage());
|
|
|
- return DiagramActivator.getDefault().getImageRegistry()
|
|
|
+
|
|
|
+ if (semanticElement == null) {
|
|
|
+ // Default images
|
|
|
+ View view = ((IGraphicalEditPart) element).getNotationView();
|
|
|
+ String viewType = view.getType();
|
|
|
+ if (ViewType.NOTE.equals(viewType)) {
|
|
|
+ return SharedImages.get(SharedImages.IMG_NOTE);
|
|
|
+ } else if (ViewType.TEXT.equals(viewType)) {
|
|
|
+ return SharedImages.get(SharedImages.IMG_TEXT);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // custom images
|
|
|
+ IElementType elementType = ElementTypeRegistry.getInstance()
|
|
|
+ .getElementType(semanticElement);
|
|
|
+ Image image = DiagramActivator.getDefault().getImageRegistry()
|
|
|
.get(elementType.getIconURL().toString());
|
|
|
+ if (image == null) {
|
|
|
+ ImageDescriptor desc = ImageDescriptor
|
|
|
+ .createFromURL(elementType.getIconURL());
|
|
|
+ DiagramActivator
|
|
|
+ .getDefault()
|
|
|
+ .getImageRegistry()
|
|
|
+ .put(elementType.getIconURL().toString(),
|
|
|
+ desc.createImage());
|
|
|
+ return DiagramActivator.getDefault().getImageRegistry()
|
|
|
+ .get(elementType.getIconURL().toString());
|
|
|
+ }
|
|
|
+ return image;
|
|
|
+
|
|
|
}
|
|
|
- return image;
|
|
|
}
|
|
|
return null;
|
|
|
}
|