package org.eclipse.gmf.examples.eclipsecon.diagram.edit.parts; import org.eclipse.gef.EditPart; import org.eclipse.gef.EditPartFactory; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.emf.ecore.EAnnotation; import org.eclipse.gmf.examples.eclipsecon.diagram.part.EclipseconDiagramEditorPlugin; /** * @generated */ public class EclipseconEditPartFactory implements EditPartFactory { /** * @generated */ public static final String EXTERNAL_NODE_LABELS_LAYER = "External Node Labels"; /** * @generated */ private String getModelID(View containerView) { EAnnotation annotation = containerView.getEAnnotation("ViewIdentifier"); //$NON-NLS-1$ if (annotation == null) { return null; } return (String) annotation.getDetails().get("modelID"); //$NON-NLS-1$ } /** * @generated */ private static int getVisualID(View containerView) { EAnnotation annotation = containerView.getEAnnotation("ViewIdentifier"); //$NON-NLS-1$ if (annotation == null) { return -1; } String visualID = (String) annotation.getDetails().get("visualID"); //$NON-NLS-1$ if (visualID == null) { return -1; } try { return Integer.parseInt(visualID); } catch (NumberFormatException e) { EclipseconDiagramEditorPlugin.getInstance().logError( "Unable to parse \"visualID\" annotation: " + visualID, e); } return -1; } /** * @generated */ public EditPart createEditPart(EditPart context, Object model) { if (model instanceof View) { View view = (View) model; if (!"Eclipsecon".equals(getModelID(view))) { return null; } int viewVisualID = getVisualID(view); switch (viewVisualID) { case 1001: return new PresenterEditPart(view); case 4001: return new Presenter_nameEditPart(view); case 1002: return new TutorialEditPart(view); case 4002: return new Tutorial_titleEditPart(view); case 1003: return new ScheduleEditPart(view); case 4005: return new Schedule_dayNoEditPart(view); case 1004: return new ResourceEditPart(view); case 4006: return new Resource_UnknownEditPart(view); case 4007: return new Resource_nameEditPart(view); case 4008: return new Resource_locationEditPart(view); case 2001: return new TimeSlotEditPart(view); case 4003: return new TimeSlot_startEditPart(view); case 4004: return new TimeSlot_endEditPart(view); case 79: return new ConferenceEditPart(view); case 3001: return new HandoutEditPart(view); case 3002: return new AssignedEditPart(view); case 3003: return new PresentersEditPart(view); } } return createUnrecognizedEditPart(context, model); } /** * @generated */ private EditPart createUnrecognizedEditPart(EditPart context, Object model) { // Handle creation of unrecognized child node EditParts here return null; } }