<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
    Copyright (c) 2013 Red Hat, Inc. and others.
    All rights reserved. This program andthe 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:
        Neil Guzman - initial API and implementation
-->
<plugin>
   <extension
         point="org.eclipse.ui.newWizards">
      <wizard
            category="org.eclipse.linuxtools.rpm.ui.editor"
            class="org.eclipse.linuxtools.internal.rpm.createrepo.wizard.CreaterepoWizard"
            icon="icons/newgroup_wiz.gif"
            id="org.eclipse.linuxtools.internal.rpm.createrepo.wizard.CreaterepoWizard"
            name="%wizard.name"
            project="true">
      </wizard>
   </extension>
   <extension
         point="org.eclipse.ui.editors">
      <editor
            class="org.eclipse.linuxtools.internal.rpm.createrepo.form.RepoFormEditor"
            default="true"
            icon="icons/repository_rep.gif"
            id="org.eclipse.linuxtools.rpm.createrepo.repoEditor"
            name="%editor.name">
         <contentTypeBinding
               contentTypeId="org.eclipse.linuxtools.rpm.createrepo.repoContent">
         </contentTypeBinding>
      </editor>
   </extension>
   <extension
         point="org.eclipse.core.contenttype.contentTypes">
      <content-type
            base-type="org.eclipse.core.runtime.text"
            file-extensions="repo"
            id="org.eclipse.linuxtools.rpm.createrepo.repoContent"
            name="%contentType.name"
            priority="high">
      </content-type>
   </extension>
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            allPopups="false"
            locationURI="toolbar:formsToolbar">
         <command
               commandId="org.eclipse.linuxtools.rpm.createrepo.executeCommand"
               icon="icons/refresh.gif"
               style="push"
               tooltip="%update.command">
            <parameter
                  name="executionType"
                  value="refresh">
            </parameter>
         </command>
         <command
               commandId="org.eclipse.linuxtools.rpm.createrepo.executeCommand"
               icon="icons/run_exc.gif"
               style="push"
               tooltip="%main.name">
            <parameter
                  name="executionType"
                  value="createrepo">
            </parameter>
         </command>
      </menuContribution>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            id="org.eclipse.linuxtools.rpm.createrepo.executeCommand"
            name="%execute.command">
         <commandParameter
               id="executionType"
               name="executionType"
               optional="false">
         </commandParameter>
      </command>
   </extension>
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.linuxtools.internal.rpm.createrepo.handler.CreaterepoCommandHandler"
            commandId="org.eclipse.linuxtools.rpm.createrepo.executeCommand">
      </handler>
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            category="org.eclipse.linuxtools.rpm.ui.mainpage"
            class="org.eclipse.linuxtools.internal.rpm.createrepo.preference.CreaterepoPreferencePage"
            id="org.eclipse.linuxtools.rpm.createrepo.preferences"
            name="%main.name">
      </page>
   </extension>
   <extension
         point="org.eclipse.equinox.preferences.preferences">
      <initializer
            class="org.eclipse.linuxtools.internal.rpm.createrepo.preference.CreaterepoPreferenceInitializer">
      </initializer>
   </extension>
   <extension
         id="createreponature"
         name="%nature.name"
         point="org.eclipse.core.resources.natures">
      <runtime>
         <run
               class="org.eclipse.linuxtools.internal.rpm.createrepo.CreaterepoProjectNature">
         </run>
      </runtime>
   </extension>
   <extension
         point="org.eclipse.ui.propertyPages">
      <page
            class="org.eclipse.linuxtools.internal.rpm.createrepo.preference.CreaterepoGeneralPropertyPage"
            id="org.eclipse.linuxtools.rpm.createrepo.CreaterepoGeneralPropertyPage"
            name="%main.name">
         <enabledWhen>
            <or>
               <adapt
                     type="org.eclipse.core.resources.IProject">
                  <test
                        property="org.eclipse.core.resources.projectNature"
                        value="org.eclipse.linuxtools.rpm.createrepo.createreponature">
                  </test>
               </adapt>
               <adapt
                     type="org.eclipse.core.resources.IResource">
                  <test
                        property="org.eclipse.core.resources.name"
                        value="*.repo">
                  </test>
               </adapt>
            </or>
         </enabledWhen>
      </page>
      <page
            category="org.eclipse.linuxtools.rpm.createrepo.CreaterepoGeneralPropertyPage"
            class="org.eclipse.linuxtools.internal.rpm.createrepo.preference.CreaterepoDeltaPropertyPage"
            id="org.eclipse.linuxtools.rpm.createrepo.CreaterepoDeltaPropertyPage"
            name="%delta.preference.name">
         <enabledWhen>
            <or>
               <adapt
                     type="org.eclipse.core.resources.IProject">
                  <test
                        property="org.eclipse.core.resources.projectNature"
                        value="org.eclipse.linuxtools.rpm.createrepo.createreponature">
                  </test>
               </adapt>
               <adapt
                     type="org.eclipse.core.resources.IResource">
                  <test
                        property="org.eclipse.core.resources.name"
                        value="*.repo">
                  </test>
               </adapt>
            </or>
         </enabledWhen>
      </page>
   </extension>
</plugin>
