<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<!--
    Copyright (c) 2007, 2019 BMW Car IT, Technische Universitaet Muenchen, and others.
    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:
        BMW Car IT - Initial API and implementation
        Technische Universitaet Muenchen - Major refactoring and extension
        Christian W. Damus - bug 544155
 -->

<plugin>



  <extension point = "org.eclipse.ui.editors">
    <editor
        id = "org.eclipse.emf.edapt.history.presentation.HistoryEditorID"
        name = "%_UI_HistoryEditor_label"
        icon = "icons/full/obj16/HistoryModelFile.gif"
        extensions = "history"
        class = "org.eclipse.emf.edapt.history.presentation.HistoryEditor" 
        contributorClass="org.eclipse.emf.edapt.history.presentation.HistoryActionBarContributor" >
       <contentTypeBinding
             contentTypeId="org.eclipse.emf.edapt.history">
       </contentTypeBinding>
    </editor>
  </extension>
  <extension
        point="org.eclipse.ui.views">
     <category
           id="org.eclipse.emf.edapt.view.category"
           name="Edapt">
     </category>
     <view
           allowMultiple="false"
           category="org.eclipse.emf.edapt.view.category"
           class="org.eclipse.emf.edapt.history.presentation.ChangeDocumentationView"
           icon="platform:/plugin/org.eclipse.emf.edapt.history.edit/icons/full/obj16/TypeInstance.gif"
           id="org.eclipse.emf.edapt.history.presentation.ChangeDocumentationView"
           name="Change Documentation"
           restorable="true">
     </view>
     <view
           allowMultiple="false"
           category="org.eclipse.emf.edapt.view.category"
           class="org.eclipse.emf.edapt.history.presentation.ElementChangesView"
           icon="platform:/plugin/org.eclipse.emf.edapt.history.edit/icons/full/obj16/CompositeChange.gif"
           id="org.eclipse.emf.edapt.history.presentation.ElementChangesView"
           name="Element Changes"
           restorable="true">
     </view>
  </extension>
  <extension
        point="org.eclipse.ui.commands">
     <command
           categoryId="org.eclipse.emf.edapt"
           defaultHandler="org.eclipse.emf.edapt.history.presentation.action.AttachMigrationHandler"
           id="org.eclipse.emf.edapt.AttachMigration"
           name="Attach Custom Migration to Changes">
     </command>
     <command
           categoryId="org.eclipse.emf.edapt"
           defaultHandler="org.eclipse.emf.edapt.history.presentation.action.FlattenMigrationHandler"
           id="org.eclipse.emf.edapt.FlattenMigration"
           name="Flatten Custom Migration">
     </command>
     <command
           categoryId="org.eclipse.emf.edapt"
           defaultHandler="org.eclipse.emf.edapt.history.presentation.action.EditMigrationHandler"
           id="org.eclipse.emf.edapt.EditMigration"
           name="Edit Custom Migration">
     </command>
     <command
           categoryId="org.eclipse.emf.edapt"
           defaultHandler="org.eclipse.emf.edapt.history.presentation.action.FlattenCompositeHandler"
           id="org.eclipse.emf.edapt.FlattenComposite"
           name="Flatten Composite Change">
     </command>
     <command
           categoryId="org.eclipse.emf.edapt"
           defaultHandler="org.eclipse.emf.edapt.history.presentation.action.CombineChangesHandler"
           id="org.eclipse.emf.edapt.CombineChanges"
           name="Combine Changes to Composite Change">
     </command>
     <command
           categoryId="org.eclipse.emf.edapt"
           defaultHandler="org.eclipse.emf.edapt.history.presentation.action.CheckBreakingHandler"
           id="org.eclipse.emf.edapt.CheckBreaking"
           name="Check for Breaking Changes">
     </command>
     <command
           defaultHandler="org.eclipse.emf.edapt.history.presentation.action.CreateMigrationHandler"
           id="org.eclipse.emf.edapt.CreateMigration"
           name="Create Custom Migration">
     </command>
     <command
           defaultHandler="org.eclipse.emf.edapt.history.presentation.action.SetMigrationHandler"
           id="org.eclipse.emf.edapt.ChangeMigration"
           name="Change Custom Migration">
     </command>
     <category
           id="org.eclipse.emf.edapt"
           name="Edapt">
     </category>
  </extension>
  <extension
        point="org.eclipse.ui.menus">
     <menuContribution
           locationURI="popup:org.eclipse.ui.popup.any?after=additions">
        <menu
              id="org.eclipse.emf.edapt.menu"
              label="Edapt">
           <command
                 commandId="org.eclipse.emf.edapt.AttachMigration"
                 style="push">
              <visibleWhen
                    checkEnabled="false">
                 <with
                       variable="selection">
                    <count
                          value="+">
                    </count>
                    <iterate
                          ifEmpty="false">
                       <instanceof
                             value="org.eclipse.emf.edapt.spi.history.MigrateableChange">
                       </instanceof>
                    </iterate>
                    <test
                          forcePluginActivation="true"
                          property="org.eclipse.emf.edapt.history.editor.subsequentChanges">
                    </test>
                 </with>
              </visibleWhen>
           </command>
           <command
                 commandId="org.eclipse.emf.edapt.FlattenMigration"
                 style="push">
              <visibleWhen
                    checkEnabled="false">
                 <with
                       variable="selection">
                    <count
                          value="1">
                    </count>
                    <iterate>
                       <instanceof
                             value="org.eclipse.emf.edapt.spi.history.MigrationChange">
                       </instanceof>
                    </iterate>
                 </with>
              </visibleWhen>
           </command>
           <command
                 commandId="org.eclipse.emf.edapt.EditMigration"
                 style="push">
              <visibleWhen
                    checkEnabled="false">
                 <with
                       variable="selection">
                    <count
                          value="1">
                    </count>
                    <iterate>
                       <instanceof
                             value="org.eclipse.emf.edapt.spi.history.MigrationChange">
                       </instanceof>
                    </iterate>
                 </with>
              </visibleWhen>
           </command>
           <command
                 commandId="org.eclipse.emf.edapt.FlattenComposite"
                 style="push">
              <visibleWhen
                    checkEnabled="false">
                 <with
                       variable="selection">
                    <count
                          value="1">
                    </count>
                    <iterate
                          ifEmpty="false">
                       <instanceof
                             value="org.eclipse.emf.edapt.spi.history.CompositeChange">
                       </instanceof>
                       <test
                             forcePluginActivation="true"
                             property="org.eclipse.emf.edapt.history.editor.containerIsRelease">
                       </test>
                    </iterate>
                 </with>
              </visibleWhen>
           </command>
           <command
                 commandId="org.eclipse.emf.edapt.CombineChanges"
                 style="push">
              <visibleWhen
                    checkEnabled="false">
                 <with
                       variable="selection">
                    <count
                          value="+">
                    </count>
                    <iterate
                          ifEmpty="false">
                       <instanceof
                             value="org.eclipse.emf.edapt.spi.history.PrimitiveChange">
                       </instanceof>
                    </iterate>
                    <test
                          forcePluginActivation="true"
                          property="org.eclipse.emf.edapt.history.editor.subsequentChanges">
                    </test>
                 </with>
              </visibleWhen>
           </command>
           <command
                 commandId="org.eclipse.emf.edapt.CheckBreaking"
                 style="push">
              <visibleWhen
                    checkEnabled="false">
                 <with
                       variable="selection">
                    <count
                          value="1">
                    </count>
                    <iterate>
                       <instanceof
                             value="org.eclipse.emf.edapt.spi.history.History">
                       </instanceof>
                    </iterate>
                 </with>
              </visibleWhen>
           </command>
           <command
                 commandId="org.eclipse.emf.edapt.CreateMigration"
                 style="push">
              <visibleWhen
                    checkEnabled="false">
                 <with
                       variable="selection">
                    <count
                          value="1">
                    </count>
                    <iterate>
                       <or>
                          <instanceof
                                value="org.eclipse.emf.edapt.spi.history.Release">
                          </instanceof>
                          <test
                                forcePluginActivation="true"
                                property="org.eclipse.emf.edapt.history.editor.containerIsRelease">
                          </test>
                       </or>
                    </iterate>
                 </with>
              </visibleWhen>
           </command>
           <command
                 commandId="org.eclipse.emf.edapt.ChangeMigration"
                 style="push">
              <visibleWhen
                    checkEnabled="false">
                 <with
                       variable="selection">
                    <count
                          value="1">
                    </count>
                    <iterate>
                       <instanceof
                             value="org.eclipse.emf.edapt.spi.history.MigrationChange">
                       </instanceof>
                    </iterate>
                 </with>
              </visibleWhen>
           </command>
        </menu>
     </menuContribution>
  </extension>
  <extension
        point="org.eclipse.core.expressions.propertyTesters">
     <propertyTester
           class="org.eclipse.emf.edapt.history.presentation.action.SubsequentChangesPropertyTester"
           id="org.eclipse.emf.edapt.history.editor.subsequentChanges"
           namespace="org.eclipse.emf.edapt.history.editor"
           properties="subsequentChanges"
           type="org.eclipse.jface.viewers.ISelection">
     </propertyTester>
     <propertyTester
           class="org.eclipse.emf.edapt.history.presentation.action.ContainerIsReleasePropertyTester"
           id="org.eclipse.emf.edapt.history.editor.containerIsRelease"
           namespace="org.eclipse.emf.edapt.history.editor"
           properties="containerIsRelease"
           type="org.eclipse.emf.edapt.spi.history.Change">
     </propertyTester>
  </extension>
  <extension
        point="org.eclipse.ui.startup">
     <startup
           class="org.eclipse.emf.edapt.history.recorder.ui.RecorderStartup">
     </startup>
  </extension>
  <extension
        point="org.eclipse.ui.commands">
     <command
           categoryId="org.eclipse.emf.edapt"
           defaultHandler="org.eclipse.emf.edapt.history.recorder.ui.AddResourceHandler"
           id="org.eclipse.emf.edapt.AddResource"
           name="Add Metamodel to History">
     </command>
     <category
           id="org.eclipse.emf.edapt"
           name="Edapt">
     </category>
  </extension>
  <extension
        point="org.eclipse.ui.menus">
     <menuContribution
           locationURI="popup:org.eclipse.ui.popup.any?after=additions">
        <menu
              id="org.eclipse.emf.edapt.menu"
              label="Edapt">
           <command
                 commandId="org.eclipse.emf.edapt.AddResource"
                 style="push">
              <visibleWhen
                    checkEnabled="false">
                 <and>
                    <with
                          variable="selection">
                       <count
                             value="1">
                       </count>
                       <iterate
                             ifEmpty="false">
                          <instanceof
                                value="org.eclipse.emf.ecore.resource.Resource">
                          </instanceof>
                       </iterate>
                    </with>
                    <with
                          variable="activeEditor">
                       <instanceof
                             value="org.eclipse.emf.ecore.presentation.EcoreEditor">
                       </instanceof>
                    </with>
                 </and>
              </visibleWhen>
           </command>
        </menu>
     </menuContribution>
  </extension>
  <extension
        point="org.eclipse.ui.views">
     <view
           category="org.eclipse.emf.edapt.view.category"
           class="org.eclipse.emf.edapt.history.reconstruction.ui.ReconstructionView"
           icon="platform:/plugin/org.eclipse.emf.edapt.history.edit/icons/full/obj16/CompositeChange.gif"
           id="org.eclipse.emf.edapt.history.reconstruction.ui.ReconstructionView"
           name="Reconstruction View">
     </view>
  </extension>
  <extension
        point="org.eclipse.ui.commands">
     <command
           categoryId="org.eclipse.emf.edapt"
           defaultHandler="org.eclipse.emf.edapt.history.reconstruction.ui.CheckIntegrityHandler"
           id="org.eclipse.emf.edapt.CheckIntegrity"
           name="Check Integrity">
     </command>
     <command
           categoryId="org.eclipse.emf.edapt"
           defaultHandler="org.eclipse.emf.edapt.history.reconstruction.ui.ShowReconstructionHandler"
           id="org.eclipse.emf.edapt.ShowReconstruction"
           name="Show Reconstruction">
     </command>
     <command
           categoryId="org.eclipse.emf.edapt"
           defaultHandler="org.eclipse.emf.edapt.history.reconstruction.ui.ReconstructHandler"
           id="org.eclipse.emf.edapt.Reconstruct"
           name="Reconstruct">
     </command>
     <command
           categoryId="org.eclipse.emf.edapt"
           defaultHandler="org.eclipse.emf.edapt.history.reconstruction.ui.ReconstructWithHistoryHandler"
           id="org.eclipse.emf.edapt.ReconstructWithHistory"
           name="Reconstruct with History">
     </command>
     <category
           id="org.eclipse.emf.edapt"
           name="Edapt">
     </category>
  </extension>
  <extension
        point="org.eclipse.ui.menus">
     <menuContribution
           locationURI="popup:org.eclipse.ui.popup.any?after=additions">
        <menu
              id="org.eclipse.emf.edapt.menu"
              label="Edapt">
           <command
                 commandId="org.eclipse.emf.edapt.CheckIntegrity"
                 style="push">
              <visibleWhen
                    checkEnabled="false">
                 <reference
                       definitionId="org.eclipse.emf.edapt.history.reconstruction.oneHistory">
                 </reference>
              </visibleWhen>
           </command>
           <command
                 commandId="org.eclipse.emf.edapt.ShowReconstruction"
                 style="push">
              <visibleWhen
                    checkEnabled="false">
                 <reference
                       definitionId="org.eclipse.emf.edapt.history.reconstruction.changeOrRelease">
                 </reference>
              </visibleWhen>
           </command>
           <command
                 commandId="org.eclipse.emf.edapt.Reconstruct"
                 style="push">
              <visibleWhen
                    checkEnabled="false">
                 <reference
                       definitionId="org.eclipse.emf.edapt.history.reconstruction.changeOrRelease">
                 </reference>
              </visibleWhen>
           </command>
           <command
                 commandId="org.eclipse.emf.edapt.ReconstructWithHistory"
                 style="push">
              <visibleWhen
                    checkEnabled="false">
                 <reference
                       definitionId="org.eclipse.emf.edapt.history.reconstruction.changeOrRelease">
                 </reference>
              </visibleWhen>
           </command>
        </menu>
     </menuContribution>
  </extension>
  <extension
        point="org.eclipse.core.expressions.definitions">
     <definition
           id="org.eclipse.emf.edapt.history.reconstruction.oneHistory">
        <with
              variable="selection">
           <count
                 value="1">
           </count>
           <iterate
                 ifEmpty="false">
              <adapt
                    type="org.eclipse.emf.edapt.spi.history.History">
              </adapt>
           </iterate>
        </with>
     </definition>
     <definition
           id="org.eclipse.emf.edapt.history.reconstruction.changeOrRelease">
        <with
              variable="selection">
           <count
                 value="1">
           </count>
           <iterate>
              <or>
                 <instanceof
                       value="org.eclipse.emf.edapt.spi.history.Change">
                 </instanceof>
                 <instanceof
                       value="org.eclipse.emf.edapt.spi.history.Release">
                 </instanceof>
              </or>
           </iterate>
        </with>
     </definition>
  </extension>
  <extension
        point="org.eclipse.ui.bindings">
     <key
           commandId="org.eclipse.emf.edapt.CheckIntegrity"
           contextId="org.eclipse.ui.contexts.window"
           schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
           sequence="M1+M3+I">
     </key>
  </extension>
  <extension
        point="org.eclipse.ui.views">
     <view
           allowMultiple="false"
           category="org.eclipse.emf.edapt.view.category"
           class="org.eclipse.emf.edapt.history.instantiation.ui.OperationBrowser"
           icon="platform:/plugin/org.eclipse.emf.edapt.history.edit/icons/full/obj16/OperationInstance.gif"
           id="org.eclipse.emf.edapt.history.instantiation.view.operationsBrowser"
           name="Operation Browser">
     </view>
  </extension>
  <extension
        point="org.eclipse.ui.menus">
     <menuContribution
           locationURI="popup:org.eclipse.ui.popup.any?after=additions">
        <menu
              id="org.eclipse.emf.edapt.menu"
              label="Edapt">
           <command
                 commandId="org.eclipse.emf.edapt.Replace"
                 style="push">
              <visibleWhen
                    checkEnabled="false">
                 <with
                       variable="selection">
                    <count
                          value="+">
                    </count>
                    <iterate
                          ifEmpty="false">
                       <instanceof
                             value="org.eclipse.emf.edapt.spi.history.PrimitiveChange">
                       </instanceof>
                    </iterate>
                    <test
                          forcePluginActivation="true"
                          property="org.eclipse.emf.edapt.history.editor.subsequentChanges">
                    </test>
                 </with>
              </visibleWhen>
           </command>
           <command
                 commandId="org.eclipse.emf.edapt.UndoChanges"
                 style="push">
              <visibleWhen
                    checkEnabled="false">
                 <and>
                    <with
                          variable="selection">
                       <count
                             value="+">
                       </count>
                       <iterate
                             ifEmpty="false">
                          <instanceof
                                value="org.eclipse.emf.edapt.spi.history.Change">
                          </instanceof>
                       </iterate>
                       <test
                             forcePluginActivation="true"
                             property="org.eclipse.emf.edapt.history.editor.subsequentChanges">
                       </test>
                    </with>
                    <with
                          variable="activeEditor">
                       <instanceof
                             value="org.eclipse.emf.ecore.presentation.EcoreEditor">
                       </instanceof>
                    </with>
                 </and>
              </visibleWhen>
           </command>
        </menu>
     </menuContribution>
  </extension>
  <extension
        point="org.eclipse.ui.commands">
     <command
           categoryId="org.eclipse.emf.edapt"
           defaultHandler="org.eclipse.emf.edapt.history.instantiation.ui.ReplaceHandler"
           id="org.eclipse.emf.edapt.Replace"
           name="Replace Primitive Changes with Operation">
     </command>
     <command
           categoryId="org.eclipse.emf.edapt"
           defaultHandler="org.eclipse.emf.edapt.history.instantiation.ui.UndoChangesHandler"
           id="org.eclipse.emf.edapt.UndoChanges"
           name="Undo Changes">
     </command>
     <category
           id="org.eclipse.emf.edapt"
           name="Edapt">
     </category>
  </extension>
  <extension
        point="org.eclipse.ui.menus">
     <menuContribution
           locationURI="toolbar:org.eclipse.emf.edapt.history.instantiation.view.operationsBrowser?after=additions">
        <command
              commandId="org.eclipse.emf.edapt.CreateHistory"
              label="Create History"
              style="push">
        </command>
        <command
              commandId="org.eclipse.emf.edapt.Release"
              label="Release"
              style="push">
        </command>
     </menuContribution>
  </extension>
  <extension
        point="org.eclipse.ui.commands">
     <command
           categoryId="org.eclipse.emf.edapt"
           defaultHandler="org.eclipse.emf.edapt.history.instantiation.ui.CreateHistoryHandler"
           id="org.eclipse.emf.edapt.CreateHistory"
           name="Create History">
     </command>
     <command
           categoryId="org.eclipse.emf.edapt"
           defaultHandler="org.eclipse.emf.edapt.history.instantiation.ui.ReleaseHandler"
           id="org.eclipse.emf.edapt.Release"
           name="Release">
     </command>
     <category
           id="org.eclipse.emf.edapt"
           name="Edapt">
     </category>
  </extension>
  <extension
        point="org.eclipse.ui.keywords">
     <keyword
            label="edapt history migration"
            id="org.eclipse.emf.edapt.history"/>
  </extension>
  <extension
        point="org.eclipse.ui.preferencePages">
     <page
           class="org.eclipse.emf.edapt.history.preferences.ui.HistoryPreferencePage"
           id="org.eclipse.emf.edapt.preferences.history"
           name="Edapt">
        <keywordReference
              id="org.eclipse.emf.edapt.history"/>
     </page>
  </extension>
</plugin>
