<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
    <copyright>
   
    Copyright (c) 2005, 2011 SAP AG.
    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:
       SAP AG - initial API, implementation and documentation
       mwenz - Bug 341224: Allow to hide the selection and marquee tools in the palette
   
    </copyright>
   
 -->

<plugin>

   <extension
         point="org.eclipse.ui.perspectives">
   </extension>
   <extension
         point="org.eclipse.graphiti.ui.diagramTypes">
      <diagramType
            id="org.eclipse.graphiti.bot.tests.dtWithAutoUpdateAtStartup"
            name="Diagram Type with auto update at startup enabled"
            type="dtWithAutoUpdateAtStartup">
      </diagramType>
      <diagramType
            id="org.eclipse.graphiti.bot.tests.dtWithHiddenSelectionAndMarqueeTool"
            name="Diagram Type for hiding the selection and marquee tool"
            type="dtWithHiddenSelectionAndMarqueeTool">
      </diagramType>
   </extension>
   <extension
         point="org.eclipse.graphiti.ui.diagramTypeProviders">
      <diagramTypeProvider
            class="org.eclipse.graphiti.bot.tests.DTPwithAutoUpdateAtStartup"
            description="Test for an auto update at startup"
            id="org.eclipse.graphiti.bot.tests.dtpWithAutoUpdateAtStartup"
            name="Diagram Type Provider with auto update at startup">
         <diagramType
               id="org.eclipse.graphiti.bot.tests.dtWithAutoUpdateAtStartup">
         </diagramType>
      </diagramTypeProvider>
      <diagramTypeProvider
            class="org.eclipse.graphiti.bot.tests.DTPwithHiddenSelectionAndMarqueeTool"
            description="Test for hiding the selection and marquee tool"
            id="org.eclipse.graphiti.bot.tests.dtpWithHiddenSelectionAndMarqueeTool"
            name="Diagram Type Provider for hiding the selection and marquee tool">
         <diagramType
               id="org.eclipse.graphiti.bot.tests.dtWithHiddenSelectionAndMarqueeTool">
         </diagramType>
      </diagramTypeProvider>
   </extension>

</plugin>
