<?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.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>
