/*******************************************************************************
* Copyright (c) 2006-2012
* Software Technology Group, Dresden University of Technology
* DevBoost GmbH, Berlin, Amtsgericht Charlottenburg, HRB 140026
*
* 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:
* Software Technology Group - TU Dresden, Germany;
* DevBoost GmbH - Berlin, Germany
* - initial API and implementation
******************************************************************************/
/*
* Copyright (c) 2006, 2007 Borland Software Corporation
*
* 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:
* Dmitry Stadnik (Borland) - initial API and implementation
*/
package org.reuseware.application.taipan.gmf.editor.part;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.gef.Tool;
import org.eclipse.gef.palette.PaletteContainer;
import org.eclipse.gef.palette.PaletteGroup;
import org.eclipse.gef.palette.PaletteRoot;
import org.eclipse.gef.palette.ToolEntry;
import org.eclipse.gmf.runtime.diagram.ui.tools.UnspecifiedTypeConnectionTool;
import org.eclipse.gmf.runtime.diagram.ui.tools.UnspecifiedTypeCreationTool;
import org.reuseware.application.taipan.gmf.editor.providers.TaiPanElementTypes;
/**
* @generated
*/
public class TaiPanPaletteFactory {
/**
* @generated
*/
public void fillPalette(PaletteRoot paletteRoot) {
paletteRoot.add(createAquatoryGroup());
}
/**
* Creates "Aquatory" palette tool group
* @generated
*/
private PaletteContainer createAquatoryGroup() {
PaletteGroup paletteContainer = new PaletteGroup(
Messages.AquatoryGroup_title);
paletteContainer.add(createPortTool());
paletteContainer.add(createShipTool());
paletteContainer.add(createSmallItemsTool());
paletteContainer.add(createLargeItemTool());
paletteContainer.add(createEmptyBoxTool());
paletteContainer.add(createItemHook6CreationTool());
paletteContainer.add(createWarshipTool());
paletteContainer.add(createPortSlot8CreationTool());
paletteContainer.add(createRouteSlot9CreationTool());
paletteContainer.add(createShipDestinationTool());
paletteContainer.add(createReliableRouteTool());
paletteContainer.add(createUnreliableRouteTool());
paletteContainer.add(createShipRouteTool());
paletteContainer.add(createBesiegePortOrderTool());
paletteContainer.add(createEscortShipsOrderTool());
paletteContainer.add(createPortRegister16CreationTool());
return paletteContainer;
}
/**
* @generated
*/
private ToolEntry createPortTool() {
List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1);
types.add(TaiPanElementTypes.Port_2001);
NodeToolEntry entry = new NodeToolEntry(Messages.PortTool_title,
Messages.PortTool_desc, types);
entry.setSmallIcon(TaiPanElementTypes
.getImageDescriptor(TaiPanElementTypes.Port_2001));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createShipTool() {
List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1);
types.add(TaiPanElementTypes.Ship_2002);
NodeToolEntry entry = new NodeToolEntry(Messages.ShipTool_title,
Messages.ShipTool_desc, types);
entry.setSmallIcon(TaiPanElementTypes
.getImageDescriptor(TaiPanElementTypes.Ship_2002));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createSmallItemsTool() {
List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1);
types.add(TaiPanElementTypes.SmallItems_3001);
NodeToolEntry entry = new NodeToolEntry(Messages.SmallItemsTool_title,
Messages.SmallItemsTool_desc, types);
entry.setSmallIcon(TaiPanElementTypes
.getImageDescriptor(TaiPanElementTypes.SmallItems_3001));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createLargeItemTool() {
List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1);
types.add(TaiPanElementTypes.LargeItem_3002);
NodeToolEntry entry = new NodeToolEntry(Messages.LargeItemTool_title,
Messages.LargeItemTool_desc, types);
entry.setSmallIcon(TaiPanElementTypes
.getImageDescriptor(TaiPanElementTypes.LargeItem_3002));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createEmptyBoxTool() {
List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1);
types.add(TaiPanElementTypes.EmptyBox_3003);
NodeToolEntry entry = new NodeToolEntry(Messages.EmptyBoxTool_title,
Messages.EmptyBoxTool_desc, types);
entry.setSmallIcon(TaiPanElementTypes
.getImageDescriptor(TaiPanElementTypes.EmptyBox_3003));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createRouteSlot9CreationTool() {
List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1);
types.add(TaiPanElementTypes.RouteSlot_2005);
NodeToolEntry entry = new NodeToolEntry(
Messages.RouteSlot9CreationTool_title, null, types);
entry.setSmallIcon(TaiPanElementTypes
.getImageDescriptor(TaiPanElementTypes.RouteSlot_2005));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createShipDestinationTool() {
List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1);
types.add(TaiPanElementTypes.ShipDestination_4001);
LinkToolEntry entry = new LinkToolEntry(
Messages.ShipDestinationTool_title,
Messages.ShipDestinationTool_desc, types);
entry
.setSmallIcon(TaiPanDiagramEditorPlugin
.findImageDescriptor("/org.reuseware.application.taipan.edit/icons/full/obj16/ShipDestination.gif")); //$NON-NLS-1$
entry
.setLargeIcon(TaiPanDiagramEditorPlugin
.findImageDescriptor("/org.reuseware.application.taipan.edit/icons/full/obj16/ShipDestination.gif")); //$NON-NLS-1$
return entry;
}
/**
* @generated
*/
private ToolEntry createReliableRouteTool() {
List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1);
types.add(TaiPanElementTypes.Route_4002);
LinkToolEntry entry = new LinkToolEntry(
Messages.ReliableRouteTool_title,
Messages.ReliableRouteTool_desc, types);
entry
.setSmallIcon(TaiPanDiagramEditorPlugin
.findImageDescriptor("/org.reuseware.application.taipan.edit/icons/full/obj16/Route.gif")); //$NON-NLS-1$
entry
.setLargeIcon(TaiPanDiagramEditorPlugin
.findImageDescriptor("/org.reuseware.application.taipan.edit/icons/full/obj16/Route.gif")); //$NON-NLS-1$
return entry;
}
/**
* @generated
*/
private ToolEntry createUnreliableRouteTool() {
List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1);
types.add(TaiPanElementTypes.Route_4003);
LinkToolEntry entry = new LinkToolEntry(
Messages.UnreliableRouteTool_title,
Messages.UnreliableRouteTool_desc, types);
entry
.setSmallIcon(TaiPanDiagramEditorPlugin
.findImageDescriptor("/org.reuseware.application.taipan.edit/icons/full/obj16/UnreliableRoute.gif")); //$NON-NLS-1$
entry
.setLargeIcon(TaiPanDiagramEditorPlugin
.findImageDescriptor("/org.reuseware.application.taipan.edit/icons/full/obj16/UnreliableRoute.gif")); //$NON-NLS-1$
return entry;
}
/**
* @generated
*/
private ToolEntry createShipRouteTool() {
List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1);
types.add(TaiPanElementTypes.ShipRoute_4004);
LinkToolEntry entry = new LinkToolEntry(Messages.ShipRouteTool_title,
Messages.ShipRouteTool_desc, types);
entry
.setSmallIcon(TaiPanDiagramEditorPlugin
.findImageDescriptor("/org.reuseware.application.taipan.edit/icons/full/obj16/ShipRoute.gif")); //$NON-NLS-1$
entry
.setLargeIcon(TaiPanDiagramEditorPlugin
.findImageDescriptor("/org.reuseware.application.taipan.edit/icons/full/obj16/ShipRoute.gif")); //$NON-NLS-1$
return entry;
}
/**
* @generated
*/
private ToolEntry createBesiegePortOrderTool() {
List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1);
types.add(TaiPanElementTypes.BesiegePortOrder_4005);
LinkToolEntry entry = new LinkToolEntry(
Messages.BesiegePortOrderTool_title,
Messages.BesiegePortOrderTool_desc, types);
entry.setSmallIcon(TaiPanElementTypes
.getImageDescriptor(TaiPanElementTypes.BesiegePortOrder_4005));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createEscortShipsOrderTool() {
List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1);
types.add(TaiPanElementTypes.EscortShipsOrder_4006);
LinkToolEntry entry = new LinkToolEntry(
Messages.EscortShipsOrderTool_title,
Messages.EscortShipsOrderTool_desc, types);
entry.setSmallIcon(TaiPanElementTypes
.getImageDescriptor(TaiPanElementTypes.EscortShipsOrder_4006));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createItemHook6CreationTool() {
List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1);
types.add(TaiPanElementTypes.LargeItemHook_3004);
NodeToolEntry entry = new NodeToolEntry(
Messages.ItemHook6CreationTool_title, null, types);
entry.setSmallIcon(TaiPanElementTypes
.getImageDescriptor(TaiPanElementTypes.LargeItemHook_3004));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createWarshipTool() {
List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1);
types.add(TaiPanElementTypes.Warship_2003);
NodeToolEntry entry = new NodeToolEntry(Messages.WarshipTool_title,
Messages.WarshipTool_desc, types);
entry.setSmallIcon(TaiPanElementTypes
.getImageDescriptor(TaiPanElementTypes.Warship_2003));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createPortSlot8CreationTool() {
List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1);
types.add(TaiPanElementTypes.PortSlot_2004);
NodeToolEntry entry = new NodeToolEntry(
Messages.PortSlot8CreationTool_title, null, types);
entry.setSmallIcon(TaiPanElementTypes
.getImageDescriptor(TaiPanElementTypes.PortSlot_2004));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createPortRegister16CreationTool() {
List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1);
types.add(TaiPanElementTypes.PortRegister_4007);
LinkToolEntry entry = new LinkToolEntry(
Messages.PortRegister16CreationTool_title, null, types);
entry.setSmallIcon(TaiPanElementTypes
.getImageDescriptor(TaiPanElementTypes.PortRegister_4007));
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;
}
/**
* @generated
*/
public Tool createTool() {
Tool tool = new UnspecifiedTypeCreationTool(elementTypes);
tool.setProperties(getToolProperties());
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;
}
}
}