<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
    <copyright>
   
    Copyright (c) 2005, 2012 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 342869 - Image doesn't scale the contained SWT Image on resize
   
    </copyright>
   
 -->
<plugin>

   <extension
         point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
      <propertyContributor
            typeMapper="org.eclipse.graphiti.examples.common.property.TypeMapper"
            contributorId="testtool.sketch.PropertyContributor"
            labelProvider="org.eclipse.graphiti.examples.common.property.PropertiesLabelProvider">
        <propertyCategory category="graphiti-legacy" />
      </propertyContributor>
   </extension>
   <extension
         point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
      <propertyTabs
            contributorId="testtool.sketch.PropertyContributor">
          <propertyTab
               label="Advanced" category="graphiti-legacy"
               id="org.eclipse.graphiti.properties.legacytab">
         </propertyTab>
      </propertyTabs>
   </extension>

   <extension
         point="org.eclipse.graphiti.ui.diagramTypes">
      <diagramType
            description="diagram type for sketch samples"
            id="org.eclipse.graphiti.testtool.sketch.SketchDiagramType"
            name="Sample Sketch DT"
            type="testtool.sketch">
      </diagramType>
   </extension>
   
   
   <extension
         point="org.eclipse.graphiti.ui.diagramTypeProviders">
      <diagramTypeProvider
            class="org.eclipse.graphiti.testtool.sketch.SketchDiagramTypeProvider"
            description="A sample sketch editor"
            id="org.eclipse.graphiti.testtool.sketch.SketchDiagramTypeProvider"
            context="org.eclipse.graphiti.testtool.sketch.context"
            name="Sketch">
         <diagramType
               id="org.eclipse.graphiti.testtool.sketch.SketchDiagramType">
         </diagramType>
          <imageProvider
               id="org.eclipse.graphiti.examples.common.ExampleImageProvider">
         </imageProvider>
          <imageProvider
                id="org.eclipse.graphiti.testtool.sketch.SketchImageProvider">
          </imageProvider>
      </diagramTypeProvider>
   </extension>
   <extension
         point="org.eclipse.ui.editors">
      <editor
            class="org.eclipse.graphiti.testtool.sketch.editors.MultiPageEditor"
            contributorClass="org.eclipse.graphiti.testtool.sketch.editors.MultiPageEditorContributor"
            extensions="diagram"
            icon="icons/sample.gif"
            id="org.eclipse.graphiti.testtool.sketch.editors.MultiPageEditor"
            name="Sample Multi-page Editor">
      </editor>
   </extension>
   <extension
         point="org.eclipse.graphiti.ui.imageProviders">
      <imageProvider
            class="org.eclipse.graphiti.testtool.sketch.SketchImageProvider"
            id="org.eclipse.graphiti.testtool.sketch.SketchImageProvider">
      </imageProvider>
   </extension>
   <extension
         point="org.eclipse.ui.bindings">
           <key
        commandId="org.eclipse.graphiti.ui.featureExecutionCommand"
        contextId="org.eclipse.graphiti.testtool.sketch.context"
        schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
        sequence="M1+J">
     <parameter
           id="org.eclipse.graphiti.ui.featureHint"
           value="shrink">
     </parameter>
  </key>
          <key
        commandId="org.eclipse.graphiti.ui.featureExecutionCommand"
        contextId="org.eclipse.graphiti.testtool.sketch.context"
        schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
        sequence="M1+L">
     <parameter
           id="org.eclipse.graphiti.ui.featureHint"
           value="expand">
     </parameter>
  </key>
          <key
        commandId="org.eclipse.graphiti.ui.featureExecutionCommand"
        contextId="org.eclipse.graphiti.testtool.sketch.context"
        schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
        sequence="M1+F2">
     <parameter
           id="org.eclipse.graphiti.ui.featureHint"
           value="toggleColor">
     </parameter>
  </key>
   </extension>
   
   <extension
         point="org.eclipse.ui.menus">
         <menuContribution
            locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
         <toolbar
               label="Graphiti Sketch toolbar"
               id="graphitiSketchToolbar">
         </toolbar>
      </menuContribution>
      <menuContribution
            allPopups="false"
            locationURI="toolbar:graphitiSketchToolbar">
         <command
               commandId="org.eclipse.graphiti.ui.featureExecutionCommand"
               icon="icons/shrink.png"
               label="Shrink"
               style="push"
               tooltip="Shrink element">
            <parameter
                  name="org.eclipse.graphiti.ui.featureHint"
                  value="shrink">
            </parameter>
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeContexts">
                  <iterate
                        ifEmpty="false"
                        operator="or">
                     <equals
                           value="org.eclipse.graphiti.testtool.sketch.context">
                     </equals>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.graphiti.ui.featureExecutionCommand"
               icon="icons/expand.png"
               label="Expand"
               style="push"
               tooltip="Expand element">
            <parameter
                  name="org.eclipse.graphiti.ui.featureHint"
                  value="expand">
            </parameter>
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeContexts">
                  <iterate
                        ifEmpty="false"
                        operator="or">
                     <equals
                           value="org.eclipse.graphiti.testtool.sketch.context">
                     </equals>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
      </menuContribution>
   </extension>
   <extension
         point="org.eclipse.ui.contexts">
      <context
            id="org.eclipse.graphiti.testtool.sketch.context"
            name="Sketch context"
            parentId="org.eclipse.graphiti.ui.diagramEditor">
      </context>
   </extension>
</plugin>
