<?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 id="questionnaire" name="Questionnaire" schema="schema/questionnaire.exsd"/>
   <extension-point id="preferencePolicies" name="Preference Policies" schema="schema/preferencePolicies.exsd"/>

   <extension
         point="org.eclipse.ui.startup">
      <startup
            class="org.eclipse.oomph.setup.ui.EarlyStartup">
      </startup>
   </extension>

   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            category="org.eclipse.oomph.ui.preferences.OomphPreferencePage"
            id="org.eclipse.oomph.setup.SetupPreferencePage"
            class="org.eclipse.oomph.setup.ui.SetupPreferencePage"
            name="Setup Tasks">
      </page>
      <page
            category="org.eclipse.oomph.setup.SetupPreferencePage"
            id="org.eclipse.oomph.setup.RecorderPreferencePage"
            class="org.eclipse.oomph.setup.ui.recorder.RecorderPreferencePage"
            name="Preference Recorder">
      </page>
      <page
            category="org.eclipse.oomph.setup.SetupPreferencePage"
            id="org.eclipse.oomph.setup.SynchronizerPreferencePage"
            class="org.eclipse.oomph.setup.ui.synchronizer.SynchronizerPreferencePage"
            name="Preference Synchronizer">
      </page>
   </extension>

   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            id="org.eclipse.oomph.setup.contribution1"
            objectClass="org.eclipse.oomph.setup.SetupTask">
         <action
               class="org.eclipse.oomph.setup.ui.actions.ToggleDisabledAction"
               enablesFor="multiple"
               id="org.eclipse.oomph.setup.ToggleDisabledAction"
               label="Disabled"
               state="false"
               style="toggle"
               tooltip="Changes the enablement of the task">
         </action>
      </objectContribution>
   </extension>

   <extension
         point="org.eclipse.ui.importWizards">
      <wizard
            category="org.eclipse.oomph.importWizards"
            class="org.eclipse.oomph.setup.ui.wizards.SetupWizard$Importer"
            icon="icons/oomph16.png"
            id="org.eclipse.oomph.setup.ui.ImportWizard"
            name="Projects into Workspace">
         <description>
            Import projects from the Oomph catalogs into the workspace.
         </description>
      </wizard>
   </extension>

   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="org.eclipse.oomph.setup.ui.SetupPropertyTester"
            id="org.eclipse.oomph.setup.ui.propertyTester"
            namespace="org.eclipse.oomph.setup.ui"
            properties="starting,performing,handling,showToolBarContributions"
            type="java.lang.Object">
      </propertyTester>
   </extension>
   
   <!--
   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            id="org.eclipse.oomph.setup.ui.actionSet1"
            label="Synchronizer"
            visible="true">
         <action
               class="org.eclipse.oomph.setup.ui.synchronizer.SynchronizerAction"
               icon="icons/sync/Remote.gif"
               id="org.eclipse.oomph.setup.ui.action1"
               label="Synchronize"
               style="push"
               toolbarPath="oomphSynchronizer">
         </action>
      </actionSet>
   </extension>
   -->

</plugin>
