| /***************************************************************************** |
| * Copyright (c) 2015 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: |
| * Juan Cadavid (CEA LIST) juan.cadavid@cea.fr - Initial API and implementation |
| *****************************************************************************/ |
| package org.eclipse.papyrus.bpmn.diagram.collaboration; |
| |
| import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil; |
| import org.eclipse.gmf.runtime.diagram.ui.view.factories.AbstractShapeViewFactory; |
| import org.eclipse.gmf.runtime.notation.DecorationNode; |
| import org.eclipse.gmf.runtime.notation.Node; |
| import org.eclipse.gmf.runtime.notation.NotationFactory; |
| import org.eclipse.gmf.runtime.notation.Shape; |
| import org.eclipse.gmf.runtime.notation.TitleStyle; |
| import org.eclipse.gmf.runtime.notation.View; |
| import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityActivityContentCompartmentEditPart; |
| import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityActivityParametersCompartmentEditPart; |
| import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityActivityPostConditionsCompartmentEditPart; |
| import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityActivityPreConditionsCompartmentEditPart; |
| import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityIsSingleExecutionEditPart; |
| import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityNameEditPart; |
| import org.eclipse.papyrus.uml.diagram.activity.part.UMLVisualIDRegistry; |
| |
| public class ActivityViewFactory extends AbstractShapeViewFactory{ |
| protected Node createNode() { |
| Shape node = NotationFactory.eINSTANCE.createShape(); |
| node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds()); |
| node.setType("2001"); |
| // initializeFromPreferences |
| Node label5001 = createLabel(node, UMLVisualIDRegistry.getType(ActivityNameEditPart.VISUAL_ID)); |
| Node label5002 = createLabel(node, UMLVisualIDRegistry.getType(ActivityIsSingleExecutionEditPart.VISUAL_ID)); |
| createCompartment(node, UMLVisualIDRegistry.getType(ActivityActivityParametersCompartmentEditPart.VISUAL_ID), false, false, true, true); |
| createCompartment(node, UMLVisualIDRegistry.getType(ActivityActivityPreConditionsCompartmentEditPart.VISUAL_ID), false, false, true, true); |
| createCompartment(node, UMLVisualIDRegistry.getType(ActivityActivityPostConditionsCompartmentEditPart.VISUAL_ID), false, false, true, true); |
| createCompartment(node, UMLVisualIDRegistry.getType(ActivityActivityContentCompartmentEditPart.VISUAL_ID), false, false, false, false); |
| return node; |
| } |
| /** |
| * @generated |
| */ |
| protected Node createCompartment(View owner, String hint, boolean canCollapse, boolean hasTitle, boolean canSort, boolean canFilter) { |
| // SemanticListCompartment rv = NotationFactory.eINSTANCE.createSemanticListCompartment(); |
| // rv.setShowTitle(showTitle); |
| // rv.setCollapsed(isCollapsed); |
| Node rv; |
| if (canCollapse) { |
| rv = NotationFactory.eINSTANCE.createBasicCompartment(); |
| } else { |
| rv = NotationFactory.eINSTANCE.createDecorationNode(); |
| } |
| rv.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds()); |
| if (hasTitle) { |
| TitleStyle ts = NotationFactory.eINSTANCE.createTitleStyle(); |
| rv.getStyles().add(ts); |
| } |
| if (canSort) { |
| rv.getStyles().add(NotationFactory.eINSTANCE.createSortingStyle()); |
| } |
| if (canFilter) { |
| rv.getStyles().add(NotationFactory.eINSTANCE.createFilteringStyle()); |
| } |
| rv.setType(hint); |
| ViewUtil.insertChildView(owner, rv, ViewUtil.APPEND, true); |
| return rv; |
| } |
| /** |
| * @generated |
| */ |
| protected Node createLabel(View owner, String hint) { |
| DecorationNode rv = NotationFactory.eINSTANCE.createDecorationNode(); |
| rv.setType(hint); |
| ViewUtil.insertChildView(owner, rv, ViewUtil.APPEND, true); |
| return rv; |
| } |
| } |