/***************************************************************************** * Copyright (c) 2010-2012 CEA LIST. * * * 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: * * David Servat * Ansgar Radermacher (bug 369305) * *****************************************************************************/ package org.eclipse.papyrus.uml.diagram.statemachine.custom.factory; import org.eclipse.gef.EditPart; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.papyrus.uml.diagram.statemachine.custom.edit.part.CustomConnectionPointReferenceNameEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.custom.edit.part.CustomFinalStateEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.custom.edit.part.CustomPackageEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.custom.edit.part.CustomRegionCompartmentEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.custom.edit.part.CustomRegionEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.custom.edit.part.CustomStateCompartmentEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.custom.edit.part.CustomStateEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.custom.edit.part.CustomStateMachineCompartmentEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.custom.edit.part.CustomStateMachineEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.custom.edit.part.CustomStateMachineNameEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.custom.edit.part.CustomStateNameEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.custom.edit.part.CustomTransitionGuardEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.ConnectionPointReferenceNameEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.FinalStateEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.PackageEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.RegionCompartmentEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.RegionEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.StateCompartmentEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.StateEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.StateMachineCompartmentEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.StateMachineEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.StateMachineNameEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.StateNameEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.TransitionGuardEditPart; import org.eclipse.papyrus.uml.diagram.statemachine.edit.parts.UMLEditPartFactory; import org.eclipse.papyrus.uml.diagram.statemachine.part.UMLVisualIDRegistry; public class CustomUMLEditPartFactory extends UMLEditPartFactory { public EditPart createEditPart(EditPart context, Object model) { if(model instanceof View) { View view = (View)model; switch(UMLVisualIDRegistry.getVisualID(view)) { // redefined classes to modify the method createNodePlate case PackageEditPart.VISUAL_ID: return new CustomPackageEditPart(view); case StateMachineEditPart.VISUAL_ID: return new CustomStateMachineEditPart(view); case StateMachineNameEditPart.VISUAL_ID: return new CustomStateMachineNameEditPart(view); case StateMachineCompartmentEditPart.VISUAL_ID: return new CustomStateMachineCompartmentEditPart(view); case RegionCompartmentEditPart.VISUAL_ID: return new CustomRegionCompartmentEditPart(view); case RegionEditPart.VISUAL_ID: return new CustomRegionEditPart(view); case FinalStateEditPart.VISUAL_ID: return new CustomFinalStateEditPart(view); case StateEditPart.VISUAL_ID: return new CustomStateEditPart(view); case StateNameEditPart.VISUAL_ID: return new CustomStateNameEditPart(view); case StateCompartmentEditPart.VISUAL_ID: return new CustomStateCompartmentEditPart(view); case TransitionGuardEditPart.VISUAL_ID: return new CustomTransitionGuardEditPart(view); case ConnectionPointReferenceNameEditPart.VISUAL_ID: return new CustomConnectionPointReferenceNameEditPart(view); } } return super.createEditPart(context, model); } }