Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (c) 2007 Anyware Technologies 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: Anyware Technologies - initial API and implementation $Id: EcoreViewProvider.java,v 1.5 2009/02/02 08:39:06 jlescot Exp $ /
 
 
 package org.eclipse.emf.ecoretools.diagram.providers;
 
 import  org.eclipse.core.runtime.IAdaptable;
 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 EcoreViewProvider extends AbstractViewProvider {

Generated:
	protected Class getDiagramViewClass(IAdaptable semanticAdapterString diagramKind) {
		EObject semanticElement = getSemanticElement(semanticAdapter);
		if (..equals(diagramKind) && EcoreVisualIDRegistry.getDiagramVisualID(semanticElement) != -1) {
			return EPackageViewFactory.class;
		}
		return null;
	}

Generated:
	protected Class getNodeViewClass(IAdaptable semanticAdapter, View containerViewString 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 = EcoreVisualIDRegistry.getNodeVisualID(containerViewdomainElement);
else {
			visualID = EcoreVisualIDRegistry.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 (!EcoreElementTypes.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 != EcoreVisualIDRegistry.getNodeVisualID(containerViewdomainElement)) {
					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 (!..equals(EcoreVisualIDRegistry.getModelID(containerView))) {
					return null// foreign diagram
				}
				switch (visualID) {
					if (domainElement == null || visualID != EcoreVisualIDRegistry.getNodeVisualID(containerViewdomainElement)) {
						return null// visual id in semantic hint should match
						// visual id for domain element
					}
					break;
					if (. != EcoreVisualIDRegistry.getVisualID(containerView) || containerView.getElement() != domainElement) {
						return null// wrong container
					}
					break;
					if (. != EcoreVisualIDRegistry.getVisualID(containerView) || containerView.getElement() != domainElement) {
						return null// wrong container
					}
					break;
					if (. != EcoreVisualIDRegistry.getVisualID(containerView) || containerView.getElement() != domainElement) {
						return null// wrong container
					}
					break;
					if (. != EcoreVisualIDRegistry.getVisualID(containerView) || containerView.getElement() != domainElement) {
						return null// wrong container
					}
					break;
					if (. != EcoreVisualIDRegistry.getVisualID(containerView) || containerView.getElement() != domainElement) {
						return null// wrong container
					}
					break;
					if (. != EcoreVisualIDRegistry.getVisualID(containerView) || containerView.getElement() != domainElement) {
						return null// wrong container
					}
					break;
					if (. != EcoreVisualIDRegistry.getVisualID(containerView) || containerView.getElement() != domainElement) {
						return null// wrong container
					}
					break;
					if (. != EcoreVisualIDRegistry.getVisualID(containerView) || containerView.getElement() != domainElement) {
						return null// wrong container
					}
					break;
					if (. != EcoreVisualIDRegistry.getVisualID(containerView) || containerView.getElement() != domainElement) {
						return null// wrong container
					}
					break;
				default:
					return null;
				}
			}
		}
		return getNodeViewClass(containerViewvisualID);
	}

Generated:
	protected Class getNodeViewClass(View containerViewint visualID) {
		if (containerView == null || !EcoreVisualIDRegistry.canCreateNode(containerViewvisualID)) {
			return null;
		}
		switch (visualID) {
			return EClassViewFactory.class;
			return EClassNameViewFactory.class;
			return EPackage2ViewFactory.class;
			return EDataTypeViewFactory.class;
			return EEnumViewFactory.class;
			return EEnumNameViewFactory.class;
			return EAttributeViewFactory.class;
			return EOperationViewFactory.class;
			return EClass2ViewFactory.class;
			return EDataType2ViewFactory.class;
			return EEnum2ViewFactory.class;
			return EEnumName2ViewFactory.class;
		}
		return null;
	}

Generated:
	protected Class getEdgeViewClass(IAdaptable semanticAdapter, View containerViewString semanticHint) {
		IElementType elementType = getSemanticElementType(semanticAdapter);
		if (!EcoreElementTypes.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 = EcoreVisualIDRegistry.getVisualID(elementTypeHint);
		EObject domainElement = getSemanticElement(semanticAdapter);
		if (domainElement != null && visualID != EcoreVisualIDRegistry.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) {
			return EReferenceViewFactory.class;
		}
		return null;
	}

Generated:
	private IElementType getSemanticElementType(IAdaptable semanticAdapter) {
		if (semanticAdapter == null) {
			return null;
		}
		return (IElementType) semanticAdapter.getAdapter(IElementType.class);
	}
New to GrepCode? Check out our FAQ X