blob: 3a2dabef6b5c5ed5e80d09b03a812493c11494d6 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006 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.examples.mindmap.diagram.providers;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.gmf.examples.mindmap.MindmapPackage;
import org.eclipse.gmf.examples.mindmap.diagram.edit.parts.Relationship_label2EditPart;
import org.eclipse.gmf.examples.mindmap.diagram.edit.parts.Relationship_label3EditPart;
import org.eclipse.gmf.examples.mindmap.diagram.edit.parts.Relationship_labelEditPart;
import org.eclipse.gmf.examples.mindmap.diagram.edit.parts.Resource_name_emailEditPart;
import org.eclipse.gmf.examples.mindmap.diagram.edit.parts.Thread_subjectEditPart;
import org.eclipse.gmf.examples.mindmap.diagram.edit.parts.Topic_nameEditPart;
import org.eclipse.gmf.examples.mindmap.diagram.part.MindmapVisualIDRegistry;
import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
import org.eclipse.gmf.runtime.common.core.service.IOperation;
import org.eclipse.gmf.runtime.common.ui.services.parser.GetParserOperation;
import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
import org.eclipse.gmf.runtime.common.ui.services.parser.IParserProvider;
import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
/**
* @generated
*/
public class MindmapParserProvider extends AbstractProvider implements IParserProvider {
/**
* @generated
*/
private IParser threadThreadSubject_4002Parser;
/**
* @generated
*/
private IParser getThreadThreadSubject_4002Parser() {
if (threadThreadSubject_4002Parser == null) {
threadThreadSubject_4002Parser = createThreadThreadSubject_4002Parser();
}
return threadThreadSubject_4002Parser;
}
/**
* @generated
*/
protected IParser createThreadThreadSubject_4002Parser() {
MindmapStructuralFeatureParser parser = new MindmapStructuralFeatureParser(MindmapPackage.eINSTANCE.getThread().getEStructuralFeature("subject"));
return parser;
}
/**
* @generated
*/
private IParser threadItemThreadItemBody_4001Parser;
/**
* @generated
*/
private IParser getThreadItemThreadItemBody_4001Parser() {
if (threadItemThreadItemBody_4001Parser == null) {
threadItemThreadItemBody_4001Parser = createThreadItemThreadItemBody_4001Parser();
}
return threadItemThreadItemBody_4001Parser;
}
/**
* @generated
*/
protected IParser createThreadItemThreadItemBody_4001Parser() {
MindmapStructuralFeatureParser parser = new MindmapStructuralFeatureParser(MindmapPackage.eINSTANCE.getThreadItem().getEStructuralFeature("body"));
return parser;
}
/**
* @generated
*/
private IParser topicTopicName_4003Parser;
/**
* @generated
*/
private IParser getTopicTopicName_4003Parser() {
if (topicTopicName_4003Parser == null) {
topicTopicName_4003Parser = createTopicTopicName_4003Parser();
}
return topicTopicName_4003Parser;
}
/**
* @generated
*/
protected IParser createTopicTopicName_4003Parser() {
MindmapStructuralFeatureParser parser = new MindmapStructuralFeatureParser(MindmapPackage.eINSTANCE.getTopic().getEStructuralFeature("name"));
return parser;
}
/**
* @generated
*/
private IParser resourceResourceNameEmail_4004Parser;
/**
* @generated
*/
private IParser getResourceResourceNameEmail_4004Parser() {
if (resourceResourceNameEmail_4004Parser == null) {
resourceResourceNameEmail_4004Parser = createResourceResourceNameEmail_4004Parser();
}
return resourceResourceNameEmail_4004Parser;
}
/**
* @generated
*/
protected IParser createResourceResourceNameEmail_4004Parser() {
List features = new ArrayList(2);
features.add(MindmapPackage.eINSTANCE.getResource().getEStructuralFeature("name"));
features.add(MindmapPackage.eINSTANCE.getResource().getEStructuralFeature("email"));
MindmapStructuralFeaturesParser parser = new MindmapStructuralFeaturesParser(features);
parser.setViewPattern("{0} [{1}]");
parser.setEditPattern("{0} : {1}");
return parser;
}
/**
* @generated
*/
private IParser relationshipRelationshipLabel_4005Parser;
/**
* @generated
*/
private IParser getRelationshipRelationshipLabel_4005Parser() {
if (relationshipRelationshipLabel_4005Parser == null) {
relationshipRelationshipLabel_4005Parser = createRelationshipRelationshipLabel_4005Parser();
}
return relationshipRelationshipLabel_4005Parser;
}
/**
* @generated
*/
protected IParser createRelationshipRelationshipLabel_4005Parser() {
MindmapStructuralFeatureParser parser = new MindmapStructuralFeatureParser(MindmapPackage.eINSTANCE.getRelationship().getEStructuralFeature("label"));
return parser;
}
/**
* @generated
*/
private IParser relationshipRelationshipLabel_4006Parser;
/**
* @generated
*/
private IParser getRelationshipRelationshipLabel_4006Parser() {
if (relationshipRelationshipLabel_4006Parser == null) {
relationshipRelationshipLabel_4006Parser = createRelationshipRelationshipLabel_4006Parser();
}
return relationshipRelationshipLabel_4006Parser;
}
/**
* @generated
*/
protected IParser createRelationshipRelationshipLabel_4006Parser() {
MindmapStructuralFeatureParser parser = new MindmapStructuralFeatureParser(MindmapPackage.eINSTANCE.getRelationship().getEStructuralFeature("label"));
return parser;
}
/**
* @generated
*/
private IParser relationshipRelationshipLabel_4007Parser;
/**
* @generated
*/
private IParser getRelationshipRelationshipLabel_4007Parser() {
if (relationshipRelationshipLabel_4007Parser == null) {
relationshipRelationshipLabel_4007Parser = createRelationshipRelationshipLabel_4007Parser();
}
return relationshipRelationshipLabel_4007Parser;
}
/**
* @generated
*/
protected IParser createRelationshipRelationshipLabel_4007Parser() {
MindmapStructuralFeatureParser parser = new MindmapStructuralFeatureParser(MindmapPackage.eINSTANCE.getRelationship().getEStructuralFeature("label"));
return parser;
}
/**
* @generated
*/
protected IParser getParser(IElementType type, int visualID) {
if (MindmapElementTypes.Thread_2001 == type) {
if (Thread_subjectEditPart.VISUAL_ID == visualID) {
return getThreadThreadSubject_4002Parser();
}
}
if (MindmapElementTypes.ThreadItem_2002 == type) {
return getThreadItemThreadItemBody_4001Parser();
}
if (MindmapElementTypes.Topic_1001 == type) {
if (Topic_nameEditPart.VISUAL_ID == visualID) {
return getTopicTopicName_4003Parser();
}
}
if (MindmapElementTypes.Resource_1002 == type) {
if (Resource_name_emailEditPart.VISUAL_ID == visualID) {
return getResourceResourceNameEmail_4004Parser();
}
}
if (MindmapElementTypes.Relationship_3002 == type) {
if (Relationship_labelEditPart.VISUAL_ID == visualID) {
return getRelationshipRelationshipLabel_4005Parser();
}
}
if (MindmapElementTypes.Relationship_3003 == type) {
if (Relationship_label2EditPart.VISUAL_ID == visualID) {
return getRelationshipRelationshipLabel_4006Parser();
}
}
if (MindmapElementTypes.Relationship_3004 == type) {
if (Relationship_label3EditPart.VISUAL_ID == visualID) {
return getRelationshipRelationshipLabel_4007Parser();
}
}
return null;
}
/**
* @generated
*/
public IParser getParser(IAdaptable hint) {
int visualID = MindmapVisualIDRegistry.getVisualID((String) hint.getAdapter(String.class));
IElementType type = (IElementType) hint.getAdapter(IElementType.class);
if (type == null) {
EObject element = (EObject) hint.getAdapter(EObject.class);
type = ElementTypeRegistry.getInstance().getElementType(element);
}
return getParser(type, visualID);
}
/**
* @generated
*/
public boolean provides(IOperation operation) {
if (operation instanceof GetParserOperation) {
return getParser(((GetParserOperation) operation).getHint()) != null;
}
return false;
}
}