<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
  Copyright (c) 2014, 2015 Eike Stepper (Berlin, Germany) 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:
    Eike Stepper - initial API and implementation
-->

<plugin>

   <extension point="org.eclipse.ui.newWizards">
      <!-- @generated setup not -->
      <category
            id="org.eclipse.emf.ecore.Wizard.category.ID"
            name="%_UI_Wizard_category"/>
      <category
            id="org.eclipse.oomph"
            name="%_UI_OomphWizard_category"/>
      <wizard
            id="org.eclipse.oomph.setup.presentation.SetupModelWizardID"
            name="%_UI_SetupModelWizard_label"
            class="org.eclipse.oomph.setup.presentation.SetupModelWizard$NewProjectWizard"
            category="org.eclipse.oomph"
            icon="icons/full/obj16/SetupModelFile.gif">
         <description>%_UI_SetupModelWizard_description</description>
         <selection class="org.eclipse.core.resources.IResource"/>
      </wizard>
      <wizard
            id="org.eclipse.oomph.setup.presentation.SetupModelWizardID"
            name="%_UI_SetupModelWizard_label2"
            class="org.eclipse.oomph.setup.presentation.SetupModelWizard$NewProductWizard"
            category="org.eclipse.oomph"
            icon="icons/full/obj16/SetupModelFile.gif">
         <description>%_UI_SetupModelWizard_description2</description>
         <selection class="org.eclipse.core.resources.IResource"/>
      </wizard>
   </extension>


   <extension point="org.eclipse.ui.editors">
      <!-- @generated setup not -->
      <editor
            id="org.eclipse.oomph.setup.presentation.SetupEditorID"
            name="%_UI_SetupEditor_label"
            icon="icons/full/obj16/SetupModelFile.gif"
            extensions="setup"
            class="org.eclipse.oomph.setup.presentation.SetupEditor"
            contributorClass="org.eclipse.oomph.setup.presentation.SetupActionBarContributor">
         <contentTypeBinding
               contentTypeId="org.eclipse.oomph.setup">
         </contentTypeBinding>
      </editor>
   </extension>

   <extension
         point="org.eclipse.ui.commands">
      <category
            id="org.eclipse.oomph.setup.category"
            name="Oomph Setup">
      </category>
      <command
            categoryId="org.eclipse.oomph.setup.category"
            defaultHandler="org.eclipse.oomph.setup.presentation.handlers.OpenEditorDropdownHandler"
            id="org.eclipse.oomph.setup.editor.openEditorDropdown"
            name="Open Setup Editor">
      </command>
      <command
            categoryId="org.eclipse.oomph.setup.category"
            id="org.eclipse.oomph.setup.editor.performDropdown"
            name="Perform Dropdown">
      </command>
      <command
            categoryId="org.eclipse.oomph.setup.category"
            id="org.eclipse.oomph.setup.editor.perform"
            name="Perform Setup Tasks">
      </command>
      <command
            categoryId="org.eclipse.oomph.setup.category"
            id="org.eclipse.oomph.setup.editor.perform.startup"
            name="Perform Setup Tasks (Startup)">
      </command>
      <command
            categoryId="org.eclipse.oomph.setup.category"
            id="org.eclipse.oomph.setup.editor.importProjects"
            name="Import Projects">
      </command>
      <command
            categoryId="org.eclipse.oomph.setup.category"
            defaultHandler="org.eclipse.oomph.setup.presentation.handlers.OpenLogHandler"
            id="org.eclipse.oomph.setup.editor.openLog"
            name="Open Setup Log">
      </command>
      <command
            categoryId="org.eclipse.oomph.setup.category"
            defaultHandler="org.eclipse.oomph.setup.presentation.handlers.RefreshCacheHandler"
            id="org.eclipse.oomph.setup.editor.refreshCache"
            name="Referehs Remote Cache">
      </command>
      <!--
      <command
            categoryId="org.eclipse.oomph.setup.category"
            defaultHandler="org.eclipse.oomph.setup.presentation.handlers.ChangeProductHandler"
            id="org.eclipse.oomph.setup.editor.changeProduct"
            name="Change Product">
      </command>
      -->
   </extension>

   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.oomph.setup.presentation.handlers.PerformDropdownHandler"
            commandId="org.eclipse.oomph.setup.editor.performDropdown">
         <enabledWhen>
            <and>
               <test
                     forcePluginActivation="true"
                     property="org.eclipse.oomph.setup.ui.starting"
                     value="false">
               </test>
               <test
                     forcePluginActivation="true"
                     property="org.eclipse.oomph.setup.ui.handling"
                     value="false">
               </test>
            </and>
         </enabledWhen>
      </handler>
      <handler
            class="org.eclipse.oomph.setup.presentation.handlers.PerformHandler"
            commandId="org.eclipse.oomph.setup.editor.perform">
         <enabledWhen>
            <and>
               <test
                     forcePluginActivation="true"
                     property="org.eclipse.oomph.setup.ui.starting"
                     value="false">
               </test>
               <test
                     forcePluginActivation="true"
                     property="org.eclipse.oomph.setup.ui.handling"
                     value="false">
               </test>
            </and>
         </enabledWhen>
      </handler>
      <handler
            class="org.eclipse.oomph.setup.presentation.handlers.PerformHandler$StartupPerformHandler"
            commandId="org.eclipse.oomph.setup.editor.perform.startup">
         <enabledWhen>
            <and>
               <test
                     forcePluginActivation="true"
                     property="org.eclipse.oomph.setup.ui.starting"
                     value="false">
               </test>
               <test
                     forcePluginActivation="true"
                     property="org.eclipse.oomph.setup.ui.handling"
                     value="false">
               </test>
            </and>
         </enabledWhen>
      </handler>
      <handler
            class="org.eclipse.oomph.setup.presentation.handlers.ImportProjectsHandler"
            commandId="org.eclipse.oomph.setup.editor.importProjects">
         <enabledWhen>
            <and>
               <test
                     forcePluginActivation="true"
                     property="org.eclipse.oomph.setup.ui.starting"
                     value="false">
               </test>
               <test
                     forcePluginActivation="true"
                     property="org.eclipse.oomph.setup.ui.handling"
                     value="false">
               </test>
            </and>
         </enabledWhen>
      </handler>
   </extension>

   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
         <toolbar
               id="org.eclipse.oomph.setup.toolbar"
               label="Setup">
            <command
                  commandId="org.eclipse.oomph.setup.editor.performDropdown"
                  icon="icons/update.gif"
                  id="org.eclipse.oomph.setup.perform.menu"
                  style="pulldown"
                  tooltip="Perform Setup Tasks...">
               <visibleWhen>
                  <test
                        forcePluginActivation="true"
                        property="org.eclipse.oomph.setup.ui.showToolBarContributions"
                        value="true">
                  </test>
               </visibleWhen>
            </command>
            <command
                  commandId="org.eclipse.oomph.setup.editor.openEditorDropdown"
                  icon="icons/prefs.gif"
                  id="org.eclipse.oomph.setup.editor.menu"
                  style="pulldown"
                  tooltip="Open User">
               <visibleWhen>
                  <test
                        forcePluginActivation="true"
                        property="org.eclipse.oomph.setup.ui.showToolBarContributions"
                        value="true">
                  </test>
               </visibleWhen>
            </command>
         </toolbar>
      </menuContribution>
      <menuContribution
            locationURI="toolbar:org.eclipse.ui.trim.status">
         <toolbar
               id="org.eclipse.oomph.setup.status"
               label="Status">
            <command
                  commandId="org.eclipse.oomph.setup.editor.performDropdown"
                  icon="icons/spacer.gif"
                  id="org.eclipse.oomph.setup.perform.menu"
                  style="push">
               <visibleWhen>
                  <test
                        forcePluginActivation="true"
                        property="org.eclipse.oomph.setup.ui.performing"
                        value="true">
                  </test>
               </visibleWhen>
            </command>
            <control
                  class="org.eclipse.oomph.setup.presentation.handlers.PerformStatusControl"
                  id="org.eclipse.oomph.setup.status.control">
               <visibleWhen>
                  <test
                        forcePluginActivation="true"
                        property="org.eclipse.oomph.setup.ui.performing"
                        value="true">
                  </test>
               </visibleWhen>
            </control>
            <command
                  commandId="org.eclipse.oomph.setup.editor.performDropdown"
                  icon="icons/spacer.gif"
                  id="org.eclipse.oomph.setup.perform.menu"
                  style="push">
               <visibleWhen>
                  <test
                        forcePluginActivation="true"
                        property="org.eclipse.oomph.setup.ui.performing"
                        value="true">
                  </test>
               </visibleWhen>
            </command>
         </toolbar>
      </menuContribution>
      <menuContribution
            locationURI="menu:org.eclipse.oomph.setup.editor.menu">
         <dynamic
               class="org.eclipse.oomph.setup.presentation.handlers.OpenEditorDropdownFactory"
               id="org.eclipse.oomph.setup.editor.menu.dynamic">
         </dynamic>
      </menuContribution>
      <menuContribution
            locationURI="menu:org.eclipse.oomph.setup.perform.menu">
         <command
               commandId="org.eclipse.oomph.setup.editor.perform"
               icon="icons/update.gif"
               label="Perform Setup Tasks..."
               style="push">
         </command>
         <command
               commandId="org.eclipse.oomph.setup.editor.perform.startup"
               icon="icons/update.gif"
               label="Perform Setup Tasks (Startup)..."
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <systemTest
                     property="oomph.setup.show.perform.startup"
                     value="true">
               </systemTest>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.oomph.setup.editor.importProjects"
               icon="icons/Project.gif"
               label="Import Projects..."
               style="push">
         </command>
         <separator
               name="org.eclipse.oomph.setup.perform.menu.separator1"
               visible="true">
         </separator>
         <command
               commandId="org.eclipse.oomph.setup.editor.openLog"
               icon="icons/Log.gif"
               label="Open Setup Log"
               style="push">
         </command>
         <command
               commandId="org.eclipse.oomph.setup.editor.refreshCache"
               icon="icons/RefreshCache.gif"
               label="Refresh Remote Cache"
               style="push">
         </command>
         <!--
         <command
               commandId="org.eclipse.oomph.setup.editor.changeProduct"
               icon="icons/Product.gif"
               label="Change Product..."
               style="push">
         </command>
         -->
      </menuContribution>

      <menuContribution
            locationURI="menu:help?before=org.eclipse.equinox.p2.ui.sdk.update">
         <command
               commandId="org.eclipse.oomph.setup.editor.perform"
               icon="icons/update.gif"
               label="Perform Setup Tasks..."
               style="push">
         </command>
         <separator
               name="org.eclipse.oomph.setup.editor.perform.separator"
               visible="true">
         </separator>
      </menuContribution>
      <menuContribution
            locationURI="menu:navigate?after=open.ext3">
         <separator
               name="org.eclipse.oomph.setup.editor.open.separator"
               visible="true">
         </separator>
         <menu
               icon="icons/full/obj16/SetupModelFile.gif"
               label="Open Setup">
            <dynamic
                  class="org.eclipse.oomph.setup.presentation.handlers.OpenEditorDropdownFactory"
                  id="org.eclipse.oomph.setup.editor.open.menu.dynamic">
            </dynamic>
         </menu>
         <command
               commandId="org.eclipse.oomph.setup.editor.openLog"
               icon="icons/Log.gif"
               label="Open Setup Log"
               style="push">
         </command>
      </menuContribution>
   </extension>

</plugin>
