package org.eclipse.gmf.examples.mindmap.diagram.providers;
import org.eclipse.gef.EditPart;
import org.eclipse.gmf.examples.mindmap.diagram.edit.parts.TopicEditPart;
import org.eclipse.gmf.examples.mindmap.diagram.edit.policies.TopicSemanticEditPolicy;
import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
import org.eclipse.gmf.runtime.common.core.service.IOperation;
import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
import org.eclipse.gmf.runtime.diagram.ui.services.editpolicy.CreateEditPoliciesOperation;
import org.eclipse.gmf.runtime.diagram.ui.services.editpolicy.IEditPolicyProvider;
public class MindmapEditPolicyProvider extends AbstractProvider implements IEditPolicyProvider {
public void createEditPolicies(EditPart editPart) {
if (editPart instanceof TopicEditPart) {
editPart.installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new TopicSemanticEditPolicy());
}
}
public boolean provides(IOperation operation) {
if (operation instanceof CreateEditPoliciesOperation) {
CreateEditPoliciesOperation op = (CreateEditPoliciesOperation) operation;
if (op.getEditPart() instanceof TopicEditPart) {
return true;
}
}
return false;
}
}