<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
  Copyright (c) 2014, 2016 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="org.eclipse.ui.preferencePages">
      <page
            class="org.eclipse.oomph.internal.ui.OomphPreferencePage"
            id="org.eclipse.oomph.ui.preferences.OomphPreferencePage"
            name="Oomph">
      </page>
      <page
            category="org.eclipse.oomph.ui.preferences.OomphPreferencePage"
            class="org.eclipse.oomph.internal.ui.RemoteResourcesPreferencePage"
            id="org.eclipse.oomph.ui.preferences.RemoteResourcesPreferencePage"
            name="Remote Resources">
      </page>
   </extension>

   <extension
         point="org.eclipse.ui.importWizards">
      <category
            id="org.eclipse.oomph.importWizards"
            name="Oomph">
      </category>
   </extension>

   <extension
         point="org.eclipse.ui.exportWizards">
      <category
            id="org.eclipse.oomph.exportWizards"
            name="Oomph">
      </category>
   </extension>

   <extension
         point="org.eclipse.ui.views">
      <category
            id="org.eclipse.oomph.views"
            name="Oomph">
      </category>
   </extension>

   <extension
         point="org.eclipse.ui.commands">
      <category
            id="org.eclipse.oomph.commands"
            name="Oomph">
      </category>
      <command
            categoryId="org.eclipse.oomph.commands"
            id="org.eclipse.oomph.ui.ToggleOfflineMode"
            name="Toggle Offline Mode">
         <state
               class="org.eclipse.ui.handlers.RegistryToggleState:false"
               id="org.eclipse.ui.commands.toggleState">
         </state>
      </command>
   </extension>

   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.oomph.ui.ToggleCommandHandler"
            commandId="org.eclipse.oomph.ui.ToggleOfflineMode">
      </handler>
   </extension>

   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
         <toolbar
               id="org.eclipse.oomph.ui.toolbars.offline"
               label="Offline Control">
            <command
                  commandId="org.eclipse.oomph.ui.ToggleOfflineMode"
                  icon="icons/offline.gif"
                  id="org.eclipse.oomph.ui.toolbars.offline.toggle"
                  style="toggle"
                  tooltip="Offline">
               <visibleWhen>
                  <test
                        forcePluginActivation="true"
                        property="org.eclipse.oomph.ui.showOffline"
                        value="true">
                  </test>
               </visibleWhen>
            </command>
         </toolbar>
      </menuContribution>
   </extension>

   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="org.eclipse.oomph.internal.ui.UIPropertyTester"
            id="org.eclipse.oomph.ui.offline.propertyTester"
            namespace="org.eclipse.oomph.ui"
            properties="showOffline"
            type="java.lang.Object">
      </propertyTester>
   </extension>

</plugin>
