<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
  Copyright (c) 2014, 2015, 2018 Eike Stepper (Loehne, Germany) and others.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Public License v2.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/legal/epl-v20.html

  Contributors:
    Eike Stepper - initial API and implementation
-->

<plugin>
   <extension-point id="profileTypes" name="%extPoint.profileTypes" schema="schema/profileTypes.exsd"/>

   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            category="org.eclipse.oomph.ui.preferences.OomphPreferencePage"
            id="org.eclipse.oomph.p2.ui.AgentManagerPreferencePage"
            class="org.eclipse.oomph.p2.internal.ui.AgentManagerPreferencePage"
            name="%preferencePage.bundlePools.name">
      </page>
   </extension>

   <extension
         point="org.eclipse.oomph.p2.ui.profileTypes">
      <profileType
            icon="icons/obj16/profileEclipse.gif"
            label="Installation Profile"
            name="Installation"/>
      <profileType
            icon="icons/obj16/profileTarglet.gif"
            label="Targlet Profile"
            name="Targlet"/>
   </extension>

   <extension
         point="org.eclipse.ui.views">
      <view
            category="org.eclipse.oomph.views"
            class="org.eclipse.oomph.p2.internal.ui.RepositoryExplorer"
            icon="icons/obj16/repository.gif"
            id="org.eclipse.oomph.p2.ui.RepositoryExplorer"
            name="%view.repositoryExplorer.name">
      </view>
   </extension>

   <extension
         point="org.eclipse.ui.commands">
      <category
            name="%oomph"
            id="org.eclipse.oomph">
      </category>
      <command
            categoryId="org.eclipse.oomph"
            id="org.eclipse.oomph.p2.ui.ExploreRepository"
            name="%command.exploreRepository.name">
      </command>
      <command
            categoryId="org.eclipse.oomph"
            id="org.eclipse.oomph.p2.ui.SearchRequirements"
            name="%command.searchRequirements.name">
      </command>
      <command
            categoryId="org.eclipse.oomph"
            id="org.eclipse.oomph.p2.ui.SearchRepositories"
            name="%command.searchRepositories.name">
      </command>
   </extension>

   <extension
         point="org.eclipse.ui.handlers">
      <handler
            commandId="org.eclipse.oomph.p2.ui.ExploreRepository">
         <class
               class="org.eclipse.oomph.p2.internal.ui.ExploreRepositoryHandler">
         </class>
         <activeWhen>
             <iterate
                   ifEmpty="false">
                <adapt
                      type="org.eclipse.oomph.p2.Repository">
                </adapt>
             </iterate>
         </activeWhen>
      </handler>
      <handler
            commandId="org.eclipse.oomph.p2.ui.SearchRequirements">
         <class
               class="org.eclipse.oomph.p2.internal.ui.SearchRequirementsHandler">
         </class>
         <activeWhen>
             <iterate
                   ifEmpty="false">
                <adapt
                      type="org.eclipse.oomph.p2.Requirement">
                </adapt>
             </iterate>
         </activeWhen>
      </handler>
      <handler
            commandId="org.eclipse.oomph.p2.ui.SearchRepositories">
         <class
               class="org.eclipse.oomph.p2.internal.ui.SearchRepositoriesHandler">
         </class>
         <activeWhen>
             <iterate
                   ifEmpty="false">
                <or>
                   <adapt
                         type="org.eclipse.oomph.p2.Repository">
                   </adapt>
                   <adapt
                         type="org.eclipse.oomph.p2.RepositoryList">
                   </adapt>
                </or>
             </iterate>
         </activeWhen>
      </handler>
   </extension>

   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            allPopups="false"
            locationURI="popup:org.eclipse.ui.popup.any">
         <command
               commandId="org.eclipse.oomph.p2.ui.ExploreRepository"
               icon="icons/obj16/repository.gif"
               label="%menu.exploreRepository.label"
               style="push">
            <visibleWhen
                  checkEnabled="true">
            </visibleWhen>
         </command>
      </menuContribution>
      <menuContribution
            allPopups="false"
            locationURI="popup:org.eclipse.ui.popup.any">
         <command
               commandId="org.eclipse.oomph.p2.ui.SearchRequirements"
               icon="icons/tool16/search_requirement.png"
               label="%menu.searchRequirements.label"
               style="push">
            <visibleWhen
                  checkEnabled="true">
            </visibleWhen>
         </command>
      </menuContribution>
      <menuContribution
            allPopups="false"
            locationURI="popup:org.eclipse.ui.popup.any">
         <command
               commandId="org.eclipse.oomph.p2.ui.SearchRepositories"
               icon="icons/tool16/search_repository.png"
               label="%menu.searchRepositories.label"
               style="push">
            <visibleWhen
                  checkEnabled="true">
            </visibleWhen>
         </command>
      </menuContribution>
      <menuContribution
            locationURI="toolbar:org.eclipse.oomph.p2.ui.RepositoryExplorer?after=modes">
          <command
                commandId="org.eclipse.oomph.ui.ToggleOfflineMode"
                icon="icons/offline.gif"
                id="org.eclipse.oomph.p2.ui.RepositoryExplorer.offline"
                style="toggle"
                tooltip="%menu.offlineMode.label">
          </command>
      </menuContribution>
   </extension>

</plugin>
