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

<!--
    Copyright (c) 2007, 2010 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
 -->

<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>
</plugin>
