| /* |
| * Copyright (c) 2005, 2006 IBM Corporation and others. |
| * 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: |
| * IBM Corporation - initial implementation |
| * |
| */ |
| package org.eclipse.epf.diagramming.view.factories; |
| |
| import java.util.ArrayList; |
| import java.util.List; |
| |
| import org.eclipse.core.runtime.IAdaptable; |
| import org.eclipse.emf.ecore.EObject; |
| import org.eclipse.epf.diagramming.base.view.DiagramImpl; |
| import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint; |
| import org.eclipse.gmf.runtime.diagram.ui.view.factories.DiagramViewFactory; |
| import org.eclipse.gmf.runtime.notation.Diagram; |
| import org.eclipse.gmf.runtime.notation.MeasurementUnit; |
| import org.eclipse.gmf.runtime.notation.NotationFactory; |
| import org.eclipse.gmf.runtime.notation.View; |
| |
| /** |
| * @generated |
| */ |
| public class ActivityViewFactory extends DiagramViewFactory { |
| |
| /** |
| * @generated |
| */ |
| protected List createStyles(View view) { |
| List styles = new ArrayList(); |
| styles.add(NotationFactory.eINSTANCE.createPageStyle()); |
| styles.add(NotationFactory.eINSTANCE.createGuideStyle()); |
| styles.add(NotationFactory.eINSTANCE.createDescriptionStyle()); |
| return styles; |
| } |
| |
| /** |
| * @generated |
| */ |
| protected void decorateView(View view, IAdaptable semanticAdapter, |
| String diagramKind) { |
| super.decorateView(view, semanticAdapter, diagramKind); |
| } |
| |
| /** |
| * |
| * @see org.eclipse.gmf.runtime.diagram.ui.view.factories.DiagramViewFactory#createDiagram(org.eclipse.core.runtime.IAdaptable, java.lang.String, org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint) |
| * @modified |
| */ |
| public Diagram createDiagram(IAdaptable semanticAdapter, |
| String diagramKind, PreferencesHint thePreferencesHint) { |
| setPreferencesHint(thePreferencesHint); |
| Diagram diagram = new DiagramImpl(); |
| List styles = createStyles(diagram); |
| if (styles.size() > 0) { |
| diagram.getStyles().addAll(styles); |
| } |
| |
| if (diagramKind != null) |
| diagram.setType(diagramKind); |
| if (semanticAdapter != null) |
| diagram.setElement((EObject) semanticAdapter |
| .getAdapter(EObject.class)); |
| else |
| // enforce a set to NULL |
| diagram.setElement(null); |
| |
| initializeMeasurementUnit(diagram); |
| |
| // do the necessary initializations (creating children, setting properties...etc) |
| decorateView(diagram, semanticAdapter, diagramKind); |
| |
| return diagram; |
| } |
| |
| /** |
| * |
| * @param diagram |
| * @custom |
| */ |
| private void initializeMeasurementUnit(Diagram diagram) { |
| if (!diagram.isSetMeasurementUnit()) { |
| diagram.setMeasurementUnit(getMeasurementUnit()); |
| } |
| } |
| |
| /** |
| * @generated |
| */ |
| protected MeasurementUnit getMeasurementUnit() { |
| return MeasurementUnit.PIXEL_LITERAL; |
| } |
| |
| } |