blob: 0fcefd31ac012c2771579694c8ad337456fbedbe [file] [log] [blame]
/*
* 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;
}
}
}