| /* |
| * Copyright (c) 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.eclipse.gmf.examples.taipan.port.diagram.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.examples.taipan.port.diagram.providers.TaiPanElementTypes; |
| import org.eclipse.gmf.runtime.diagram.ui.tools.UnspecifiedTypeCreationTool; |
| |
| /** |
| * @generated |
| */ |
| public class TaiPanPaletteFactory { |
| |
| /** |
| * @generated |
| */ |
| public void fillPalette(PaletteRoot paletteRoot) { |
| paletteRoot.add(createPort1Group()); |
| } |
| |
| /** |
| * Creates "Port" palette tool group |
| * @generated |
| */ |
| private PaletteContainer createPort1Group() { |
| PaletteGroup paletteContainer = new PaletteGroup(Messages.Port1Group_title); |
| paletteContainer.add(createBuilding1CreationTool()); |
| return paletteContainer; |
| } |
| |
| /** |
| * @generated |
| */ |
| private ToolEntry createBuilding1CreationTool() { |
| List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); |
| types.add(TaiPanElementTypes.Building_2001); |
| NodeToolEntry entry = new NodeToolEntry(Messages.Building1CreationTool_title, Messages.Building1CreationTool_desc, types); |
| entry.setSmallIcon(TaiPanElementTypes.getImageDescriptor(TaiPanElementTypes.Building_2001)); |
| 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; |
| } |
| } |
| } |