/* * Copyright (c) 2005, 2007 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.diagram.ad.part; import java.util.ArrayList; import java.util.List; import org.eclipse.epf.diagram.ad.providers.UMLElementTypes; import org.eclipse.epf.diagram.core.DiagramCoreResources; import org.eclipse.epf.diagram.core.bridge.BridgeHelper; import org.eclipse.gef.Tool; import org.eclipse.gef.palette.PaletteContainer; import org.eclipse.gef.palette.PaletteDrawer; import org.eclipse.gef.palette.PaletteRoot; import org.eclipse.gef.palette.PaletteSeparator; import org.eclipse.gef.palette.ToolEntry; import org.eclipse.gef.requests.CreateRequest; import org.eclipse.gmf.runtime.diagram.ui.tools.UnspecifiedTypeConnectionTool; import org.eclipse.gmf.runtime.diagram.ui.tools.UnspecifiedTypeCreationTool; import org.eclipse.gmf.runtime.emf.type.core.IElementType; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.uml2.uml.UMLPackage; /** * @generated */ public class UMLPaletteFactory { /** * @generated */ public void fillPalette(PaletteRoot paletteRoot) { paletteRoot.add(createFlows1Group()); paletteRoot.add(createNodes2Group()); } /** * @modified */ private PaletteContainer createFlows1Group() { PaletteContainer paletteContainer = new PaletteDrawer( DiagramCoreResources.ActivityDiagram_Palette_flows_title); paletteContainer .setDescription(DiagramCoreResources.ActivityDiagram_Palette_flows_create_text); paletteContainer.add(createControlFlow1CreationTool()); return paletteContainer; } /** * @modified */ private PaletteContainer createNodes2Group() { PaletteContainer paletteContainer = new PaletteDrawer( DiagramCoreResources.ActivityDiagram_Palette_nodes_titles); paletteContainer .setDescription(DiagramCoreResources.ActivityDiagram_Palette_nodes_group_text); paletteContainer.add(createActivityPartition1CreationTool()); paletteContainer.add(createStartNode2CreationTool()); paletteContainer.add(createEndNode6CreationTool()); paletteContainer.add(createForkNode3CreationTool()); paletteContainer.add(createJoinNode7CreationTool()); paletteContainer.add(createDecisionNode5CreationTool()); paletteContainer.add(createMergeNode4CreationTool()); paletteContainer.add(new PaletteSeparator()); paletteContainer.add(createActivity9CreationTool()); paletteContainer.add(createIteration11CreationTool()); paletteContainer.add(createPhase10CreationTool()); paletteContainer.add(createMilestone13CreationTool()); paletteContainer.add(createTaskDescriptor12CreationTool()); return paletteContainer; } /** * @modified */ private ToolEntry createControlFlow1CreationTool() { List/* <IElementType> */types = new ArrayList/* <IElementType> */(1); types.add(UMLElementTypes.ControlFlow_3001); LinkToolEntry entry = new LinkToolEntry( DiagramCoreResources.ActivityDiagram_Palette_control_flow_text, DiagramCoreResources.ActivityDiagram_Palette_control_flow_create_text, types); entry.setSmallIcon(UMLElementTypes.getImageDescriptor( UMLPackage.eINSTANCE.getControlFlow(), UMLElementTypes.ControlFlow_3001)); //$NON-NLS-1$ entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @modified */ private ToolEntry createActivityPartition1CreationTool() { List/* <IElementType> */types = new ArrayList/* <IElementType> */(2); types.add(UMLElementTypes.ActivityPartition_1008); types.add(UMLElementTypes.ActivityPartition_2001); NodeToolEntry entry = new NodeToolEntry( DiagramCoreResources.ActivityDiagram_Partition_Node_text, DiagramCoreResources.ActivityDiagram_Partition_Node_tooltip, types); entry.setSmallIcon(UMLElementTypes.getImageDescriptor( UMLPackage.eINSTANCE.getActivityPartition(), UMLElementTypes.ActivityPartition_1008)); //$NON-NLS-1$ entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @modified */ private ToolEntry createStartNode2CreationTool() { List/* <IElementType> */types = new ArrayList/* <IElementType> */(1); types.add(UMLElementTypes.InitialNode_1004); NodeToolEntry entry = new NodeToolEntry( DiagramCoreResources.ActivityDiagram_StartNode_text, DiagramCoreResources.ActivityDiagram_StartNode_tooltip, types); entry.setSmallIcon(UMLElementTypes.getImageDescriptor( UMLPackage.eINSTANCE.getInitialNode(), UMLElementTypes.InitialNode_1004)); //$NON-NLS-1$ entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @modified */ private ToolEntry createForkNode3CreationTool() { List/* <IElementType> */types = new ArrayList/* <IElementType> */(1); types.add(UMLElementTypes.ForkNode_1003); NodeToolEntry entry = new NodeToolEntry( DiagramCoreResources.ActivityDiagram_Fork_Node_text, DiagramCoreResources.ActivityDiagram_Fork_Node_tooltip, types); entry.setSmallIcon(UMLElementTypes.getImageDescriptor( UMLPackage.eINSTANCE.getForkNode(), UMLElementTypes.ForkNode_1003)); //$NON-NLS-1$ entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @modified */ private ToolEntry createMergeNode4CreationTool() { List/* <IElementType> */types = new ArrayList/* <IElementType> */(1); types.add(UMLElementTypes.MergeNode_1002); NodeToolEntry entry = new NodeToolEntry( DiagramCoreResources.ActivityDiagram_Merge_Node_text, DiagramCoreResources.ActivityDiagram_Merge_Node_tooltip, types); entry.setSmallIcon(UMLElementTypes.getImageDescriptor( UMLPackage.eINSTANCE.getMergeNode(), UMLElementTypes.MergeNode_1002)); //$NON-NLS-1$ entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @modified */ private ToolEntry createDecisionNode5CreationTool() { List/* <IElementType> */types = new ArrayList/* <IElementType> */(1); types.add(UMLElementTypes.DecisionNode_1005); NodeToolEntry entry = new NodeToolEntry( DiagramCoreResources.ActivityDiagram_DecisionNode_text, DiagramCoreResources.ActivityDiagram_DecisionNode_tooltip, types); entry.setSmallIcon(UMLElementTypes.getImageDescriptor( UMLPackage.eINSTANCE.getDecisionNode(), UMLElementTypes.DecisionNode_1005)); //$NON-NLS-1$ entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @modified */ private ToolEntry createEndNode6CreationTool() { List/* <IElementType> */types = new ArrayList/* <IElementType> */(1); types.add(UMLElementTypes.ActivityFinalNode_1001); NodeToolEntry entry = new NodeToolEntry( DiagramCoreResources.ActivityDiagram_EndNode_text, DiagramCoreResources.ActivityDiagram_EndNode_tooltip, types); entry.setSmallIcon(UMLElementTypes.getImageDescriptor( UMLPackage.eINSTANCE.getActivityFinalNode(), UMLElementTypes.ActivityFinalNode_1001)); //$NON-NLS-1$ entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @modified */ private ToolEntry createJoinNode7CreationTool() { List/* <IElementType> */types = new ArrayList/* <IElementType> */(1); types.add(UMLElementTypes.JoinNode_1006); NodeToolEntry entry = new NodeToolEntry( DiagramCoreResources.ActivityDiagram_Join_Node_text, DiagramCoreResources.ActivityDiagram_Join_Node_tooltip, types); entry.setSmallIcon(UMLElementTypes.getImageDescriptor( UMLPackage.eINSTANCE.getJoinNode(), UMLElementTypes.JoinNode_1006)); //$NON-NLS-1$ entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @modified */ private ToolEntry createActivity9CreationTool() { List/* <IElementType> */types = new ArrayList/* <IElementType> */(1); types.add(UMLElementTypes.StructuredActivityNode_1007); NodeToolEntry entry = new NodeToolEntry( DiagramCoreResources.ActivityDiagram_Activity_text, DiagramCoreResources.ActivityDiagram_Activity_tooltip, types); entry.setSmallIcon(UMLElementTypes.getImageDescriptor(null, UMLElementTypes.StructuredActivityNode_1007)); //$NON-NLS-1$ entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @modified */ private ToolEntry createPhase10CreationTool() { List/* <IElementType> */types = new ArrayList/* <IElementType> */(1); types.add(UMLElementTypes.StructuredActivityNode_1010); NodeToolEntry entry = new NodeToolEntry( DiagramCoreResources.ActivityDiagram_Phase_text, DiagramCoreResources.ActivityDiagram_Phase_tooltip, types); entry.setSmallIcon(UMLElementTypes.getImageDescriptor(null, UMLElementTypes.StructuredActivityNode_1010)); //$NON-NLS-1$ entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @modified */ private ToolEntry createIteration11CreationTool() { List/* <IElementType> */types = new ArrayList/* <IElementType> */(1); types.add(UMLElementTypes.StructuredActivityNode_1011); NodeToolEntry entry = new NodeToolEntry( DiagramCoreResources.ActivityDiagram_Iteration_text, DiagramCoreResources.ActivityDiagram_Iteration_tooltip, types); entry.setSmallIcon(UMLElementTypes.getImageDescriptor(null, UMLElementTypes.StructuredActivityNode_1011)); //$NON-NLS-1$ entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @modified */ private ToolEntry createTaskDescriptor12CreationTool() { List/* <IElementType> */types = new ArrayList/* <IElementType> */(1); types.add(UMLElementTypes.ActivityParameterNode_1009); NodeToolEntry entry = new NodeToolEntry( DiagramCoreResources.AbstractDiagram_TaskDescriptor_text, DiagramCoreResources.AbstractDiagram_TaskDescriptor_tooltip, types); entry.setSmallIcon(UMLElementTypes.getImageDescriptor(null, UMLElementTypes.ActivityParameterNode_1009)); //$NON-NLS-1$ entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @modified */ private ToolEntry createMilestone13CreationTool() { List/* <IElementType> */types = new ArrayList/* <IElementType> */(1); types.add(UMLElementTypes.ActivityParameterNode_1012); NodeToolEntry entry = new NodeToolEntry( DiagramCoreResources.ActivityDiagram_Milestone_text, DiagramCoreResources.ActivityDiagram_Milestone_tooltip, types); entry.setSmallIcon(UMLElementTypes.getImageDescriptor(null, UMLElementTypes.ActivityParameterNode_1012)); //$NON-NLS-1$ entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private static class NodeToolEntry extends ToolEntry { /** * @generated */ private final List elementTypes; /** * @generated */ private NodeToolEntry(String title, String description, List elementTypes) { super(title, description, null, null); this.elementTypes = elementTypes; } /** * @modified */ public Tool createTool() { Tool tool = new UnspecifiedTypeCreationTool(elementTypes) { @Override protected void updateTargetRequest() { CreateRequest req = getCreateRequest(); if (isInState(STATE_DRAG_IN_PROGRESS)) { req.setSize(null); req.setLocation(getLocation()); } else { req.setSize(null); req.setLocation(getLocation()); } } }; tool.setProperties(getToolProperties()); BridgeHelper.elementTypes.add((IElementType) elementTypes .get(elementTypes.size() - 1)); return tool; } } /** * @generated */ private static class LinkToolEntry extends ToolEntry { /** * @generated */ private final List relationshipTypes; /** * @generated */ private LinkToolEntry(String title, String description, List relationshipTypes) { super(title, description, null, null); this.relationshipTypes = relationshipTypes; } /** * @generated */ public Tool createTool() { Tool tool = new UnspecifiedTypeConnectionTool(relationshipTypes); tool.setProperties(getToolProperties()); return tool; } } }