package net.cis.common.model.diagram.shipdevice.part;
import java.util.Collections;
import java.util.List;
import net.cis.common.model.diagram.shipdevice.providers.CismodelElementTypes;
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.ToolEntry;
import org.eclipse.gmf.runtime.diagram.ui.tools.UnspecifiedTypeCreationTool;
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
/**
* @generated
*/
public class CismodelPaletteFactory {
/**
* @generated
*/
public void fillPalette(PaletteRoot paletteRoot) {
paletteRoot.add(createEngines1Group());
paletteRoot.add(createShields2Group());
paletteRoot.add(createEnergyWeapons3Group());
paletteRoot.add(createProjectileWeapons4Group());
paletteRoot.add(createMissileWeapons5Group());
}
/**
* Creates "Engines" palette tool group
* @generated
*/
private PaletteContainer createEngines1Group() {
PaletteDrawer paletteContainer = new PaletteDrawer(
Messages.Engines1Group_title);
paletteContainer.setId("createEngines1Group"); //$NON-NLS-1$
paletteContainer.setDescription(Messages.Engines1Group_desc);
paletteContainer.add(createEngineDevice1CreationTool());
return paletteContainer;
}
/**
* Creates "Shields" palette tool group
* @generated
*/
private PaletteContainer createShields2Group() {
PaletteDrawer paletteContainer = new PaletteDrawer(
Messages.Shields2Group_title);
paletteContainer.setId("createShields2Group"); //$NON-NLS-1$
paletteContainer.setDescription(Messages.Shields2Group_desc);
paletteContainer.add(createShieldDevice1CreationTool());
return paletteContainer;
}
/**
* Creates "Energy Weapons" palette tool group
* @generated
*/
private PaletteContainer createEnergyWeapons3Group() {
PaletteDrawer paletteContainer = new PaletteDrawer(
Messages.EnergyWeapons3Group_title);
paletteContainer.setId("createEnergyWeapons3Group"); //$NON-NLS-1$
paletteContainer.setDescription(Messages.EnergyWeapons3Group_desc);
paletteContainer.add(createBeam1CreationTool());
paletteContainer.add(createEnergyTorpedo2CreationTool());
paletteContainer.add(createPulse3CreationTool());
return paletteContainer;
}
/**
* Creates "Projectile Weapons" palette tool group
* @generated
*/
private PaletteContainer createProjectileWeapons4Group() {
PaletteDrawer paletteContainer = new PaletteDrawer(
Messages.ProjectileWeapons4Group_title);
paletteContainer.setId("createProjectileWeapons4Group"); //$NON-NLS-1$
paletteContainer.setDescription(Messages.ProjectileWeapons4Group_desc);
paletteContainer.add(createMassDriver1CreationTool());
return paletteContainer;
}
/**
* Creates "Missile Weapons" palette tool group
* @generated
*/
private PaletteContainer createMissileWeapons5Group() {
PaletteDrawer paletteContainer = new PaletteDrawer(
Messages.MissileWeapons5Group_title);
paletteContainer.setId("createMissileWeapons5Group"); //$NON-NLS-1$
paletteContainer.setDescription(Messages.MissileWeapons5Group_desc);
paletteContainer.add(createMissile1CreationTool());
return paletteContainer;
}
/**
* @generated
*/
private ToolEntry createEngineDevice1CreationTool() {
NodeToolEntry entry = new NodeToolEntry(
Messages.EngineDevice1CreationTool_title,
Messages.EngineDevice1CreationTool_desc,
Collections
.singletonList(CismodelElementTypes.EngineDevice_2001));
entry.setId("createEngineDevice1CreationTool"); //$NON-NLS-1$
entry.setSmallIcon(CismodelElementTypes
.getImageDescriptor(CismodelElementTypes.EngineDevice_2001));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createShieldDevice1CreationTool() {
NodeToolEntry entry = new NodeToolEntry(
Messages.ShieldDevice1CreationTool_title,
Messages.ShieldDevice1CreationTool_desc,
Collections
.singletonList(CismodelElementTypes.ShieldDevice_2002));
entry.setId("createShieldDevice1CreationTool"); //$NON-NLS-1$
entry.setSmallIcon(CismodelElementTypes
.getImageDescriptor(CismodelElementTypes.ShieldDevice_2002));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createBeam1CreationTool() {
NodeToolEntry entry = new NodeToolEntry(
Messages.Beam1CreationTool_title,
Messages.Beam1CreationTool_desc,
Collections.singletonList(CismodelElementTypes.Beam_2004));
entry.setId("createBeam1CreationTool"); //$NON-NLS-1$
entry.setSmallIcon(CismodelElementTypes
.getImageDescriptor(CismodelElementTypes.Beam_2004));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createEnergyTorpedo2CreationTool() {
NodeToolEntry entry = new NodeToolEntry(
Messages.EnergyTorpedo2CreationTool_title,
Messages.EnergyTorpedo2CreationTool_desc,
Collections
.singletonList(CismodelElementTypes.EnergyTorpedo_2005));
entry.setId("createEnergyTorpedo2CreationTool"); //$NON-NLS-1$
entry.setSmallIcon(CismodelElementTypes
.getImageDescriptor(CismodelElementTypes.EnergyTorpedo_2005));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createPulse3CreationTool() {
NodeToolEntry entry = new NodeToolEntry(
Messages.Pulse3CreationTool_title,
Messages.Pulse3CreationTool_desc,
Collections.singletonList(CismodelElementTypes.Pulse_2009));
entry.setId("createPulse3CreationTool"); //$NON-NLS-1$
entry.setSmallIcon(CismodelElementTypes
.getImageDescriptor(CismodelElementTypes.Pulse_2009));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createMissile1CreationTool() {
NodeToolEntry entry = new NodeToolEntry(
Messages.Missile1CreationTool_title,
Messages.Missile1CreationTool_desc,
Collections.singletonList(CismodelElementTypes.Missile_2008));
entry.setId("createMissile1CreationTool"); //$NON-NLS-1$
entry.setSmallIcon(CismodelElementTypes
.getImageDescriptor(CismodelElementTypes.Missile_2008));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private ToolEntry createMassDriver1CreationTool() {
NodeToolEntry entry = new NodeToolEntry(
Messages.MassDriver1CreationTool_title,
Messages.MassDriver1CreationTool_desc,
Collections.singletonList(CismodelElementTypes.MassDriver_2006));
entry.setId("createMassDriver1CreationTool"); //$NON-NLS-1$
entry.setSmallIcon(CismodelElementTypes
.getImageDescriptor(CismodelElementTypes.MassDriver_2006));
entry.setLargeIcon(entry.getSmallIcon());
return entry;
}
/**
* @generated
*/
private static class NodeToolEntry extends ToolEntry {
/**
* @generated
*/
private final List<IElementType> elementTypes;
/**
* @generated
*/
private NodeToolEntry(String title, String description,
List<IElementType> elementTypes) {
super(title, description, null, null);
this.elementTypes = elementTypes;
}
/**
* @generated
*/
public Tool createTool() {
Tool tool = new UnspecifiedTypeCreationTool(elementTypes);
tool.setProperties(getToolProperties());
return tool;
}
}
}