diff options
Diffstat (limited to 'examples/gmf/org.eclipse.gmf.examples.mindmap.diagram/src/org/eclipse/gmf/examples/mindmap/diagram/providers/MindmapViewProvider.java')
-rw-r--r-- | examples/gmf/org.eclipse.gmf.examples.mindmap.diagram/src/org/eclipse/gmf/examples/mindmap/diagram/providers/MindmapViewProvider.java | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/examples/gmf/org.eclipse.gmf.examples.mindmap.diagram/src/org/eclipse/gmf/examples/mindmap/diagram/providers/MindmapViewProvider.java b/examples/gmf/org.eclipse.gmf.examples.mindmap.diagram/src/org/eclipse/gmf/examples/mindmap/diagram/providers/MindmapViewProvider.java deleted file mode 100644 index d187cb050..000000000 --- a/examples/gmf/org.eclipse.gmf.examples.mindmap.diagram/src/org/eclipse/gmf/examples/mindmap/diagram/providers/MindmapViewProvider.java +++ /dev/null @@ -1,176 +0,0 @@ -package org.eclipse.gmf.examples.mindmap.diagram.providers; - -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.gmf.examples.mindmap.diagram.edit.parts.MapEditPart; -import org.eclipse.gmf.examples.mindmap.diagram.edit.parts.TopicEditPart; -import org.eclipse.gmf.examples.mindmap.diagram.edit.parts.TopicNameEditPart; -import org.eclipse.gmf.examples.mindmap.diagram.edit.parts.TopicSubtopicsEditPart; -import org.eclipse.gmf.examples.mindmap.diagram.part.MindmapVisualIDRegistry; -import org.eclipse.gmf.examples.mindmap.diagram.view.factories.MapViewFactory; -import org.eclipse.gmf.examples.mindmap.diagram.view.factories.TopicNameViewFactory; -import org.eclipse.gmf.examples.mindmap.diagram.view.factories.TopicSubtopicsViewFactory; -import org.eclipse.gmf.examples.mindmap.diagram.view.factories.TopicViewFactory; -import org.eclipse.gmf.runtime.diagram.core.providers.AbstractViewProvider; -import org.eclipse.gmf.runtime.emf.type.core.IElementType; -import org.eclipse.gmf.runtime.emf.type.core.IHintedType; -import org.eclipse.gmf.runtime.notation.View; - -/** - * @generated - */ -public class MindmapViewProvider extends AbstractViewProvider { - - /** - * @generated - */ - protected Class getDiagramViewClass(IAdaptable semanticAdapter, - String diagramKind) { - EObject semanticElement = getSemanticElement(semanticAdapter); - if (MapEditPart.MODEL_ID.equals(diagramKind) - && MindmapVisualIDRegistry.getDiagramVisualID(semanticElement) != -1) { - return MapViewFactory.class; - } - return null; - } - - /** - * @generated - */ - protected Class getNodeViewClass(IAdaptable semanticAdapter, - View containerView, String semanticHint) { - if (containerView == null) { - return null; - } - IElementType elementType = getSemanticElementType(semanticAdapter); - EObject domainElement = getSemanticElement(semanticAdapter); - int visualID; - if (semanticHint == null) { - // Semantic hint is not specified. Can be a result of call from CanonicalEditPolicy. - // In this situation there should be NO elementType, visualID will be determined - // by VisualIDRegistry.getNodeVisualID() for domainElement. - if (elementType != null || domainElement == null) { - return null; - } - visualID = MindmapVisualIDRegistry.getNodeVisualID(containerView, - domainElement); - } else { - visualID = MindmapVisualIDRegistry.getVisualID(semanticHint); - if (elementType != null) { - // Semantic hint is specified together with element type. - // Both parameters should describe exactly the same diagram element. - // In addition we check that visualID returned by VisualIDRegistry.getNodeVisualID() for - // domainElement (if specified) is the same as in element type. - if (!MindmapElementTypes.isKnownElementType(elementType) - || (!(elementType instanceof IHintedType))) { - return null; // foreign element type - } - String elementTypeHint = ((IHintedType) elementType) - .getSemanticHint(); - if (!semanticHint.equals(elementTypeHint)) { - return null; // if semantic hint is specified it should be the same as in element type - } - if (domainElement != null - && visualID != MindmapVisualIDRegistry.getNodeVisualID( - containerView, domainElement)) { - return null; // visual id for node EClass should match visual id from element type - } - } else { - // Element type is not specified. Domain element should be present (except pure design elements). - // This method is called with EObjectAdapter as parameter from: - // - ViewService.createNode(View container, EObject eObject, String type, PreferencesHint preferencesHint) - // - generated ViewFactory.decorateView() for parent element - if (!MapEditPart.MODEL_ID.equals(MindmapVisualIDRegistry - .getModelID(containerView))) { - return null; // foreign diagram - } - switch (visualID) { - case TopicEditPart.VISUAL_ID: - if (domainElement == null - || visualID != MindmapVisualIDRegistry - .getNodeVisualID(containerView, - domainElement)) { - return null; // visual id in semantic hint should match visual id for domain element - } - break; - case TopicNameEditPart.VISUAL_ID: - if (TopicEditPart.VISUAL_ID != MindmapVisualIDRegistry - .getVisualID(containerView) - || containerView.getElement() != domainElement) { - return null; // wrong container - } - break; - default: - return null; - } - } - } - return getNodeViewClass(containerView, visualID); - } - - /** - * @generated - */ - protected Class getNodeViewClass(View containerView, int visualID) { - if (containerView == null - || !MindmapVisualIDRegistry.canCreateNode(containerView, - visualID)) { - return null; - } - switch (visualID) { - case TopicEditPart.VISUAL_ID: - return TopicViewFactory.class; - case TopicNameEditPart.VISUAL_ID: - return TopicNameViewFactory.class; - } - return null; - } - - /** - * @generated - */ - protected Class getEdgeViewClass(IAdaptable semanticAdapter, - View containerView, String semanticHint) { - IElementType elementType = getSemanticElementType(semanticAdapter); - if (!MindmapElementTypes.isKnownElementType(elementType) - || (!(elementType instanceof IHintedType))) { - return null; // foreign element type - } - String elementTypeHint = ((IHintedType) elementType).getSemanticHint(); - if (elementTypeHint == null) { - return null; // our hint is visual id and must be specified - } - if (semanticHint != null && !semanticHint.equals(elementTypeHint)) { - return null; // if semantic hint is specified it should be the same as in element type - } - int visualID = MindmapVisualIDRegistry.getVisualID(elementTypeHint); - EObject domainElement = getSemanticElement(semanticAdapter); - if (domainElement != null - && visualID != MindmapVisualIDRegistry - .getLinkWithClassVisualID(domainElement)) { - return null; // visual id for link EClass should match visual id from element type - } - return getEdgeViewClass(visualID); - } - - /** - * @generated - */ - protected Class getEdgeViewClass(int visualID) { - switch (visualID) { - case TopicSubtopicsEditPart.VISUAL_ID: - return TopicSubtopicsViewFactory.class; - } - return null; - } - - /** - * @generated - */ - private IElementType getSemanticElementType(IAdaptable semanticAdapter) { - if (semanticAdapter == null) { - return null; - } - return (IElementType) semanticAdapter.getAdapter(IElementType.class); - } -} |