package org.eclipse.gmf.examples.mindmap.diagram.providers;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.gmf.examples.mindmap.diagram.edit.parts.SubtopicEditPart;
import org.eclipse.gmf.examples.mindmap.diagram.edit.parts.TopicEditPart;
import org.eclipse.gmf.examples.mindmap.diagram.editor.MindmapDiagramEditor;
import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
import org.eclipse.gmf.runtime.diagram.ui.services.editpart.AbstractEditPartProvider;
import org.eclipse.gmf.runtime.notation.View;
public class MindmapEditPartProvider extends AbstractEditPartProvider {
private final Map<String, Class<?>> diagramMap = new HashMap<String, Class<?>>();
{
diagramMap.put(MindmapDiagramEditor.ID, DiagramEditPart.class);
}
private final Map<String, Class<?>> shapeMap = new HashMap<String, Class<?>>();
{
shapeMap.put("Topic", TopicEditPart.class);
}
private final Map<String, Class<?>> edgeMap = new HashMap<String, Class<?>>();
{
edgeMap.put("Subtopic", SubtopicEditPart.class);
}
@Override
protected Class getDiagramEditPartClass(View view) {
return diagramMap.get(view.getType());
}
@Override
protected Class getNodeEditPartClass(View view) {
return shapeMap.get(view.getType());
}
@Override
protected Class getEdgeEditPartClass(View view) {
return edgeMap.get(view.getType());
}
}