/* * Copyright (c) 2006, 2009 Borland Software Corporation and others. * 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: * Borland Software Corporation - initial API and implementation */ package org.eclipse.gmf.graphdef.editor.part; import org.eclipse.core.runtime.Platform; import org.eclipse.emf.ecore.EAnnotation; import org.eclipse.emf.ecore.EObject; import org.eclipse.gmf.gmfgraph.Canvas; import org.eclipse.gmf.gmfgraph.GMFGraphPackage; import org.eclipse.gmf.gmfgraph.Node; import org.eclipse.gmf.gmfgraph.Polyline; import org.eclipse.gmf.graphdef.editor.edit.parts.CanvasEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.ChildAccessEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.CompartmentEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.CompartmentNameEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.CompartmentVisualFacetsEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.ConnectionEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.ConnectionNameEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.ConnectionVisualFacetsEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.DiagramLabelEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.DiagramLabelNameEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.DiagramLabelVisualFacetsEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.Ellipse2EditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.Ellipse3EditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.EllipseEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.FigureDescriptorEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.FigureDescriptorNameEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.FigureGalleryEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.FigureGalleryFiguresEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.FigureGalleryNameEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.Label2EditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.Label3EditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.LabelEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.LabelText2EditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.LabelText3EditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.LabelTextEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.NodeEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.NodeNameEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.NodeVisualFacetsEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.PointEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.Polygon2EditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.Polygon3EditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.PolygonEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.Polyline2EditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.Polyline3EditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.PolylineEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.Rectangle2EditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.Rectangle3EditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.RectangleEditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.RoundedRectangle2EditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.RoundedRectangle3EditPart; import org.eclipse.gmf.graphdef.editor.edit.parts.RoundedRectangleEditPart; import org.eclipse.gmf.graphdef.editor.expressions.GMFGraphAbstractExpression; import org.eclipse.gmf.graphdef.editor.expressions.GMFGraphOCLFactory; import org.eclipse.gmf.runtime.notation.Diagram; import org.eclipse.gmf.runtime.notation.View; /** * This registry is used to determine which type of visual object should be * created for the corresponding Diagram, Node, ChildNode or Link represented * by a domain model object. * * @generated */ public class GMFGraphVisualIDRegistry { /** * @generated */ private static final String DEBUG_KEY = "org.eclipse.gmf.graphdef.editor/debug/visualID"; //$NON-NLS-1$ /** * @generated */ private static GMFGraphAbstractExpression Node_2006_Constraint; /** * @generated */ private static GMFGraphAbstractExpression Polyline_3014_Constraint; /** * @generated */ private static GMFGraphAbstractExpression Polyline_3017_Constraint; /** * @generated */ private static GMFGraphAbstractExpression Polyline_3021_Constraint; /** * @generated */ public static int getVisualID(View view) { if (view instanceof Diagram) { if (CanvasEditPart.MODEL_ID.equals(view.getType())) { return CanvasEditPart.VISUAL_ID; } else { return -1; } } return org.eclipse.gmf.graphdef.editor.part.GMFGraphVisualIDRegistry.getVisualID(view.getType()); } /** * @generated */ public static String getModelID(View view) { View diagram = view.getDiagram(); while (view != diagram) { EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$ if (annotation != null) { return (String) annotation.getDetails().get("modelID"); //$NON-NLS-1$ } view = (View) view.eContainer(); } return diagram != null ? diagram.getType() : null; } /** * @generated */ public static int getVisualID(String type) { try { return Integer.parseInt(type); } catch (NumberFormatException e) { if (Boolean.TRUE.toString().equalsIgnoreCase(Platform.getDebugOption(DEBUG_KEY))) { GMFGraphDiagramEditorPlugin.getInstance().logError("Unable to parse view type as a visualID number: " + type); } } return -1; } /** * @generated */ public static String getType(int visualID) { return String.valueOf(visualID); } /** * @generated */ public static int getDiagramVisualID(EObject domainElement) { if (domainElement == null) { return -1; } if (GMFGraphPackage.eINSTANCE.getCanvas().isSuperTypeOf(domainElement.eClass()) && isDiagram((Canvas) domainElement)) { return CanvasEditPart.VISUAL_ID; } return -1; } /** * @generated */ public static int getNodeVisualID(View containerView, EObject domainElement) { if (domainElement == null) { return -1; } String containerModelID = org.eclipse.gmf.graphdef.editor.part.GMFGraphVisualIDRegistry.getModelID(containerView); if (!CanvasEditPart.MODEL_ID.equals(containerModelID) && !"GMFGraph".equals(containerModelID)) { //$NON-NLS-1$ return -1; } int containerVisualID; if (CanvasEditPart.MODEL_ID.equals(containerModelID)) { containerVisualID = org.eclipse.gmf.graphdef.editor.part.GMFGraphVisualIDRegistry.getVisualID(containerView); } else { if (containerView instanceof Diagram) { containerVisualID = CanvasEditPart.VISUAL_ID; } else { return -1; } } switch (containerVisualID) { case FigureDescriptorEditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getRectangle().isSuperTypeOf(domainElement.eClass())) { return RectangleEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getEllipse().isSuperTypeOf(domainElement.eClass())) { return Ellipse2EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getRoundedRectangle().isSuperTypeOf(domainElement.eClass())) { return RoundedRectangle2EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolyline().isSuperTypeOf(domainElement.eClass()) && isPolyline_3017((Polyline) domainElement)) { return Polyline2EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolygon().isSuperTypeOf(domainElement.eClass())) { return Polygon2EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getLabel().isSuperTypeOf(domainElement.eClass())) { return Label2EditPart.VISUAL_ID; } break; case RectangleEditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getRectangle().isSuperTypeOf(domainElement.eClass())) { return Rectangle2EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getEllipse().isSuperTypeOf(domainElement.eClass())) { return EllipseEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getRoundedRectangle().isSuperTypeOf(domainElement.eClass())) { return RoundedRectangleEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolyline().isSuperTypeOf(domainElement.eClass()) && isPolyline_3014((Polyline) domainElement)) { return PolylineEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolygon().isSuperTypeOf(domainElement.eClass())) { return PolygonEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getLabel().isSuperTypeOf(domainElement.eClass())) { return LabelEditPart.VISUAL_ID; } break; case Rectangle2EditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getRectangle().isSuperTypeOf(domainElement.eClass())) { return Rectangle2EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getEllipse().isSuperTypeOf(domainElement.eClass())) { return EllipseEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getRoundedRectangle().isSuperTypeOf(domainElement.eClass())) { return RoundedRectangleEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolyline().isSuperTypeOf(domainElement.eClass()) && isPolyline_3014((Polyline) domainElement)) { return PolylineEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolygon().isSuperTypeOf(domainElement.eClass())) { return PolygonEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getLabel().isSuperTypeOf(domainElement.eClass())) { return LabelEditPart.VISUAL_ID; } break; case EllipseEditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getRectangle().isSuperTypeOf(domainElement.eClass())) { return Rectangle2EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getEllipse().isSuperTypeOf(domainElement.eClass())) { return EllipseEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getRoundedRectangle().isSuperTypeOf(domainElement.eClass())) { return RoundedRectangleEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolyline().isSuperTypeOf(domainElement.eClass()) && isPolyline_3014((Polyline) domainElement)) { return PolylineEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolygon().isSuperTypeOf(domainElement.eClass())) { return PolygonEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getLabel().isSuperTypeOf(domainElement.eClass())) { return LabelEditPart.VISUAL_ID; } break; case RoundedRectangleEditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getRectangle().isSuperTypeOf(domainElement.eClass())) { return Rectangle2EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getEllipse().isSuperTypeOf(domainElement.eClass())) { return EllipseEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getRoundedRectangle().isSuperTypeOf(domainElement.eClass())) { return RoundedRectangleEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolyline().isSuperTypeOf(domainElement.eClass()) && isPolyline_3014((Polyline) domainElement)) { return PolylineEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolygon().isSuperTypeOf(domainElement.eClass())) { return PolygonEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getLabel().isSuperTypeOf(domainElement.eClass())) { return LabelEditPart.VISUAL_ID; } break; case PolylineEditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getPoint().isSuperTypeOf(domainElement.eClass())) { return PointEditPart.VISUAL_ID; } break; case PolygonEditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getPoint().isSuperTypeOf(domainElement.eClass())) { return PointEditPart.VISUAL_ID; } break; case Ellipse2EditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getRectangle().isSuperTypeOf(domainElement.eClass())) { return Rectangle2EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getEllipse().isSuperTypeOf(domainElement.eClass())) { return EllipseEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getRoundedRectangle().isSuperTypeOf(domainElement.eClass())) { return RoundedRectangleEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolyline().isSuperTypeOf(domainElement.eClass()) && isPolyline_3014((Polyline) domainElement)) { return PolylineEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolygon().isSuperTypeOf(domainElement.eClass())) { return PolygonEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getLabel().isSuperTypeOf(domainElement.eClass())) { return LabelEditPart.VISUAL_ID; } break; case RoundedRectangle2EditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getRectangle().isSuperTypeOf(domainElement.eClass())) { return Rectangle2EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getEllipse().isSuperTypeOf(domainElement.eClass())) { return EllipseEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getRoundedRectangle().isSuperTypeOf(domainElement.eClass())) { return RoundedRectangleEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolyline().isSuperTypeOf(domainElement.eClass()) && isPolyline_3014((Polyline) domainElement)) { return PolylineEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolygon().isSuperTypeOf(domainElement.eClass())) { return PolygonEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getLabel().isSuperTypeOf(domainElement.eClass())) { return LabelEditPart.VISUAL_ID; } break; case Polyline2EditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getPoint().isSuperTypeOf(domainElement.eClass())) { return PointEditPart.VISUAL_ID; } break; case Polygon2EditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getPoint().isSuperTypeOf(domainElement.eClass())) { return PointEditPart.VISUAL_ID; } break; case Rectangle3EditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getRectangle().isSuperTypeOf(domainElement.eClass())) { return Rectangle2EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getEllipse().isSuperTypeOf(domainElement.eClass())) { return EllipseEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getRoundedRectangle().isSuperTypeOf(domainElement.eClass())) { return RoundedRectangleEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolyline().isSuperTypeOf(domainElement.eClass()) && isPolyline_3014((Polyline) domainElement)) { return PolylineEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolygon().isSuperTypeOf(domainElement.eClass())) { return PolygonEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getLabel().isSuperTypeOf(domainElement.eClass())) { return LabelEditPart.VISUAL_ID; } break; case Ellipse3EditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getRectangle().isSuperTypeOf(domainElement.eClass())) { return Rectangle2EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getEllipse().isSuperTypeOf(domainElement.eClass())) { return EllipseEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getRoundedRectangle().isSuperTypeOf(domainElement.eClass())) { return RoundedRectangleEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolyline().isSuperTypeOf(domainElement.eClass()) && isPolyline_3014((Polyline) domainElement)) { return PolylineEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolygon().isSuperTypeOf(domainElement.eClass())) { return PolygonEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getLabel().isSuperTypeOf(domainElement.eClass())) { return LabelEditPart.VISUAL_ID; } break; case RoundedRectangle3EditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getRectangle().isSuperTypeOf(domainElement.eClass())) { return Rectangle2EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getEllipse().isSuperTypeOf(domainElement.eClass())) { return EllipseEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getRoundedRectangle().isSuperTypeOf(domainElement.eClass())) { return RoundedRectangleEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolyline().isSuperTypeOf(domainElement.eClass()) && isPolyline_3014((Polyline) domainElement)) { return PolylineEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolygon().isSuperTypeOf(domainElement.eClass())) { return PolygonEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getLabel().isSuperTypeOf(domainElement.eClass())) { return LabelEditPart.VISUAL_ID; } break; case Polyline3EditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getPoint().isSuperTypeOf(domainElement.eClass())) { return PointEditPart.VISUAL_ID; } break; case Polygon3EditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getPoint().isSuperTypeOf(domainElement.eClass())) { return PointEditPart.VISUAL_ID; } break; case FigureGalleryFiguresEditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getFigureDescriptor().isSuperTypeOf(domainElement.eClass())) { return FigureDescriptorEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getRectangle().isSuperTypeOf(domainElement.eClass())) { return Rectangle3EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getEllipse().isSuperTypeOf(domainElement.eClass())) { return Ellipse3EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getRoundedRectangle().isSuperTypeOf(domainElement.eClass())) { return RoundedRectangle3EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolyline().isSuperTypeOf(domainElement.eClass()) && isPolyline_3021((Polyline) domainElement)) { return Polyline3EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getPolygon().isSuperTypeOf(domainElement.eClass())) { return Polygon3EditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getLabel().isSuperTypeOf(domainElement.eClass())) { return Label3EditPart.VISUAL_ID; } break; case CanvasEditPart.VISUAL_ID: if (GMFGraphPackage.eINSTANCE.getCompartment().isSuperTypeOf(domainElement.eClass())) { return CompartmentEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getNode().isSuperTypeOf(domainElement.eClass()) && isNode_2006((Node) domainElement)) { return NodeEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getConnection().isSuperTypeOf(domainElement.eClass())) { return ConnectionEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getFigureGallery().isSuperTypeOf(domainElement.eClass())) { return FigureGalleryEditPart.VISUAL_ID; } if (GMFGraphPackage.eINSTANCE.getDiagramLabel().isSuperTypeOf(domainElement.eClass())) { return DiagramLabelEditPart.VISUAL_ID; } break; } return -1; } /** * @generated */ public static boolean canCreateNode(View containerView, int nodeVisualID) { String containerModelID = org.eclipse.gmf.graphdef.editor.part.GMFGraphVisualIDRegistry.getModelID(containerView); if (!CanvasEditPart.MODEL_ID.equals(containerModelID) && !"GMFGraph".equals(containerModelID)) { //$NON-NLS-1$ return false; } int containerVisualID; if (CanvasEditPart.MODEL_ID.equals(containerModelID)) { containerVisualID = org.eclipse.gmf.graphdef.editor.part.GMFGraphVisualIDRegistry.getVisualID(containerView); } else { if (containerView instanceof Diagram) { containerVisualID = CanvasEditPart.VISUAL_ID; } else { return false; } } switch (containerVisualID) { case CompartmentEditPart.VISUAL_ID: if (CompartmentNameEditPart.VISUAL_ID == nodeVisualID) { return true; } if (CompartmentVisualFacetsEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case NodeEditPart.VISUAL_ID: if (NodeNameEditPart.VISUAL_ID == nodeVisualID) { return true; } if (NodeVisualFacetsEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case ConnectionEditPart.VISUAL_ID: if (ConnectionNameEditPart.VISUAL_ID == nodeVisualID) { return true; } if (ConnectionVisualFacetsEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case FigureGalleryEditPart.VISUAL_ID: if (FigureGalleryNameEditPart.VISUAL_ID == nodeVisualID) { return true; } if (FigureGalleryFiguresEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case DiagramLabelEditPart.VISUAL_ID: if (DiagramLabelNameEditPart.VISUAL_ID == nodeVisualID) { return true; } if (DiagramLabelVisualFacetsEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case FigureDescriptorEditPart.VISUAL_ID: if (FigureDescriptorNameEditPart.VISUAL_ID == nodeVisualID) { return true; } if (RectangleEditPart.VISUAL_ID == nodeVisualID) { return true; } if (Ellipse2EditPart.VISUAL_ID == nodeVisualID) { return true; } if (RoundedRectangle2EditPart.VISUAL_ID == nodeVisualID) { return true; } if (Polyline2EditPart.VISUAL_ID == nodeVisualID) { return true; } if (Polygon2EditPart.VISUAL_ID == nodeVisualID) { return true; } if (Label2EditPart.VISUAL_ID == nodeVisualID) { return true; } break; case RectangleEditPart.VISUAL_ID: if (Rectangle2EditPart.VISUAL_ID == nodeVisualID) { return true; } if (EllipseEditPart.VISUAL_ID == nodeVisualID) { return true; } if (RoundedRectangleEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolylineEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolygonEditPart.VISUAL_ID == nodeVisualID) { return true; } if (LabelEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case Rectangle2EditPart.VISUAL_ID: if (Rectangle2EditPart.VISUAL_ID == nodeVisualID) { return true; } if (EllipseEditPart.VISUAL_ID == nodeVisualID) { return true; } if (RoundedRectangleEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolylineEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolygonEditPart.VISUAL_ID == nodeVisualID) { return true; } if (LabelEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case EllipseEditPart.VISUAL_ID: if (Rectangle2EditPart.VISUAL_ID == nodeVisualID) { return true; } if (EllipseEditPart.VISUAL_ID == nodeVisualID) { return true; } if (RoundedRectangleEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolylineEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolygonEditPart.VISUAL_ID == nodeVisualID) { return true; } if (LabelEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case RoundedRectangleEditPart.VISUAL_ID: if (Rectangle2EditPart.VISUAL_ID == nodeVisualID) { return true; } if (EllipseEditPart.VISUAL_ID == nodeVisualID) { return true; } if (RoundedRectangleEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolylineEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolygonEditPart.VISUAL_ID == nodeVisualID) { return true; } if (LabelEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case PolylineEditPart.VISUAL_ID: if (PointEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case PolygonEditPart.VISUAL_ID: if (PointEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case LabelEditPart.VISUAL_ID: if (LabelTextEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case Ellipse2EditPart.VISUAL_ID: if (Rectangle2EditPart.VISUAL_ID == nodeVisualID) { return true; } if (EllipseEditPart.VISUAL_ID == nodeVisualID) { return true; } if (RoundedRectangleEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolylineEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolygonEditPart.VISUAL_ID == nodeVisualID) { return true; } if (LabelEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case RoundedRectangle2EditPart.VISUAL_ID: if (Rectangle2EditPart.VISUAL_ID == nodeVisualID) { return true; } if (EllipseEditPart.VISUAL_ID == nodeVisualID) { return true; } if (RoundedRectangleEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolylineEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolygonEditPart.VISUAL_ID == nodeVisualID) { return true; } if (LabelEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case Polyline2EditPart.VISUAL_ID: if (PointEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case Polygon2EditPart.VISUAL_ID: if (PointEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case Label2EditPart.VISUAL_ID: if (LabelText2EditPart.VISUAL_ID == nodeVisualID) { return true; } break; case Rectangle3EditPart.VISUAL_ID: if (Rectangle2EditPart.VISUAL_ID == nodeVisualID) { return true; } if (EllipseEditPart.VISUAL_ID == nodeVisualID) { return true; } if (RoundedRectangleEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolylineEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolygonEditPart.VISUAL_ID == nodeVisualID) { return true; } if (LabelEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case Ellipse3EditPart.VISUAL_ID: if (Rectangle2EditPart.VISUAL_ID == nodeVisualID) { return true; } if (EllipseEditPart.VISUAL_ID == nodeVisualID) { return true; } if (RoundedRectangleEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolylineEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolygonEditPart.VISUAL_ID == nodeVisualID) { return true; } if (LabelEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case RoundedRectangle3EditPart.VISUAL_ID: if (Rectangle2EditPart.VISUAL_ID == nodeVisualID) { return true; } if (EllipseEditPart.VISUAL_ID == nodeVisualID) { return true; } if (RoundedRectangleEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolylineEditPart.VISUAL_ID == nodeVisualID) { return true; } if (PolygonEditPart.VISUAL_ID == nodeVisualID) { return true; } if (LabelEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case Polyline3EditPart.VISUAL_ID: if (PointEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case Polygon3EditPart.VISUAL_ID: if (PointEditPart.VISUAL_ID == nodeVisualID) { return true; } break; case Label3EditPart.VISUAL_ID: if (LabelText3EditPart.VISUAL_ID == nodeVisualID) { return true; } break; case FigureGalleryFiguresEditPart.VISUAL_ID: if (FigureDescriptorEditPart.VISUAL_ID == nodeVisualID) { return true; } if (Rectangle3EditPart.VISUAL_ID == nodeVisualID) { return true; } if (Ellipse3EditPart.VISUAL_ID == nodeVisualID) { return true; } if (RoundedRectangle3EditPart.VISUAL_ID == nodeVisualID) { return true; } if (Polyline3EditPart.VISUAL_ID == nodeVisualID) { return true; } if (Polygon3EditPart.VISUAL_ID == nodeVisualID) { return true; } if (Label3EditPart.VISUAL_ID == nodeVisualID) { return true; } break; case CanvasEditPart.VISUAL_ID: if (CompartmentEditPart.VISUAL_ID == nodeVisualID) { return true; } if (NodeEditPart.VISUAL_ID == nodeVisualID) { return true; } if (ConnectionEditPart.VISUAL_ID == nodeVisualID) { return true; } if (FigureGalleryEditPart.VISUAL_ID == nodeVisualID) { return true; } if (DiagramLabelEditPart.VISUAL_ID == nodeVisualID) { return true; } break; } return false; } /** * @generated */ public static int getLinkWithClassVisualID(EObject domainElement) { if (domainElement == null) { return -1; } if (GMFGraphPackage.eINSTANCE.getChildAccess().isSuperTypeOf(domainElement.eClass())) { return ChildAccessEditPart.VISUAL_ID; } return -1; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private static boolean isDiagram(Canvas element) { return true; } /** * @generated */ private static boolean isNode_2006(Node domainElement) { if (Node_2006_Constraint == null) { // lazy initialization Node_2006_Constraint = GMFGraphOCLFactory.getExpression("not self.oclIsKindOf(gmfgraph::DiagramLabel)", GMFGraphPackage.eINSTANCE.getNode()); //$NON-NLS-1$ } Object result = Node_2006_Constraint.evaluate(domainElement); return result instanceof Boolean && ((Boolean) result).booleanValue(); } /** * @generated */ private static boolean isPolyline_3014(Polyline domainElement) { if (Polyline_3014_Constraint == null) { // lazy initialization Polyline_3014_Constraint = GMFGraphOCLFactory.getExpression("not oclIsKindOf(gmfgraph::Polygon)", GMFGraphPackage.eINSTANCE.getPolyline()); //$NON-NLS-1$ } Object result = Polyline_3014_Constraint.evaluate(domainElement); return result instanceof Boolean && ((Boolean) result).booleanValue(); } /** * @generated */ private static boolean isPolyline_3017(Polyline domainElement) { if (Polyline_3017_Constraint == null) { // lazy initialization Polyline_3017_Constraint = GMFGraphOCLFactory.getExpression("not oclIsKindOf(gmfgraph::Polygon)", GMFGraphPackage.eINSTANCE.getPolyline()); //$NON-NLS-1$ } Object result = Polyline_3017_Constraint.evaluate(domainElement); return result instanceof Boolean && ((Boolean) result).booleanValue(); } /** * @generated */ private static boolean isPolyline_3021(Polyline domainElement) { if (Polyline_3021_Constraint == null) { // lazy initialization Polyline_3021_Constraint = GMFGraphOCLFactory.getExpression("not oclIsKindOf(gmfgraph::Polygon)", GMFGraphPackage.eINSTANCE.getPolyline()); //$NON-NLS-1$ } Object result = Polyline_3021_Constraint.evaluate(domainElement); return result instanceof Boolean && ((Boolean) result).booleanValue(); } }