<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
  Copyright (c) 2010, 2014 THALES GLOBAL SERVICES
  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:
       Obeo - Initial API and implementation
-->
<plugin>

 <extension
          point="org.eclipse.sirius.externalJavaAction">
       <javaActions
             actionClass="org.eclipse.sirius.tests.swtbot.services.ExternalJavaActionForDDiagramElementCreation"
             id="org.eclipse.sirius.tests.swtbot.services.ExternalJavaActionForDDiagramElementCreationID">
       </javaActions>
 </extension>
 <extension
          point="org.eclipse.sirius.externalJavaAction">
       <javaActions
             actionClass="org.eclipse.sirius.tests.swtbot.services.ExternalJavaActionSpecificLayout"
             id="org.eclipse.sirius.tests.swtbot.services.ExternalJavaActionSpecificLayoutID">
       </javaActions>
 </extension>
 <extension
          point="org.eclipse.sirius.externalJavaAction">
       <javaActions
             actionClass="org.eclipse.sirius.tests.swtbot.services.ExternalJavaActionSpecificVerticalLayout"
             id="org.eclipse.sirius.tests.swtbot.services.ExternalJavaActionSpecificVerticalLayoutID">
       </javaActions>
 </extension>
 <extension
       point="org.eclipse.ui.menus">
    <menuContribution
          allPopups="false"
          locationURI="toolbar:org.eclipse.sirius.diagram.ui.tabbar?after=additions">
        <command
              commandId="org.eclipse.sirius.diagram.ui.command.refreshElement"
              icon="images/refresh.gif"
              id="org.eclipse.sirius.diagram.ui.tabbar.test.action.on.diagram"
              label="Action on DDiagram"
              tooltip="Action on DDiagram">
           <visibleWhen
                 checkEnabled="false">
              <and>
                 <with
                       variable="activeEditorId">
                    <equals
                          value="org.eclipse.sirius.diagram.ui.part.SiriusDiagramEditorID">
                    </equals>
                 </with>
                 <with
                       variable="selection">
                    <iterate
                          ifEmpty="false"
                          operator="or">
                       <and>
                          <instanceof
                                value="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart">
                          </instanceof>
                          <test
                                property="org.eclipse.sirius.tests.swtbot.tabbar.shouldActivateTestTabbarExtension">
                          </test>
                          <test
                                property="org.eclipse.sirius.diagram.ui.isDDiagram"
                                value="true">
                          </test>
                       </and>
                    </iterate>
                 </with>
              </and>
           </visibleWhen>
       </command>
        <command
              commandId="org.eclipse.sirius.diagram.ui.command.refreshElement"
              icon="images/refresh.gif"
              id="org.eclipse.sirius.diagram.ui.tabbar.test.action.on.diagramelement"
              label="Action on DDiagramElement"
              tooltip="Action on DDiagramElement">
           <visibleWhen
                 checkEnabled="false">
              <and>
                 <with
                       variable="activeEditorId">
                    <equals
                          value="org.eclipse.sirius.diagram.ui.part.SiriusDiagramEditorID">
                    </equals>
                 </with>
                 <with
                       variable="selection">
                    <iterate
                          ifEmpty="false"
                          operator="or">
                       <and>
                          <instanceof
                                value="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart">
                          </instanceof>
                          <test
                                property="org.eclipse.sirius.tests.swtbot.tabbar.shouldActivateTestTabbarExtension">
                          </test>
                          <test
                                property="org.eclipse.sirius.diagram.ui.isDDiagramElement"
                                value="true">
                          </test>
                       </and>
                    </iterate>
                 </with>
              </and>
           </visibleWhen>
        </command>
    </menuContribution>
 </extension>
 <extension
       point="org.eclipse.core.expressions.propertyTesters">
    <propertyTester
          class="org.eclipse.sirius.tests.swtbot.tabbar.ActivateTestTabbarExtensionPropertyTester"
          id="org.eclipse.sirius.tests.swtbot.tabbar.ActiveExtensionID"
          namespace="org.eclipse.sirius.tests.swtbot.tabbar"
          properties="shouldActivateTestTabbarExtension"
          type="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart">
    </propertyTester>
 </extension>
</plugin>
