<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at
  
    http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
-->
<?eclipse version="3.2"?>
<plugin>
   <extension-point id="org.apache.felix.sigil.ui.repositorywizard" name="Repository Wizard" schema="schema/org.apache.felix.sigil.ui.repositorywizard.exsd"/>
      <extension
         point="org.eclipse.ui.startup">
      <startup class="org.apache.felix.sigil.ui.eclipse.startup.SigilStartup"/>
   </extension>
   <extension
         point="org.eclipse.ui.newWizards">
      <category
            id="org.apache.felix.sigil.newWizardCategory"
            name="Sigil"/>
      <wizard
            category="org.apache.felix.sigil.newWizardCategory"
            class="org.apache.felix.sigil.ui.eclipse.ui.wizard.project.SigilProjectWizard"
            finalPerspective="org.apache.felix.sigil.ui.perspective"
            icon="etc/images/newton.png"
            id="org.apache.felix.sigil.editors.newProjectWizard"
            name="Sigil Project"
            project="true"/>
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            class="org.apache.felix.sigil.ui.eclipse.ui.preferences.SigilPreferencePage"
            id="org.apache.felix.sigil.ui.preferences.SigilPreferencePage"
            name="Sigil"/>
      <!--page
            category="org.apache.felix.sigil.ui.preferences.SigilPreferencePage"
            class="org.apache.felix.sigil.ui.preferences.LibraryPreferencePage"
            id="org.apache.felix.sigil.ui.libraryPreferences"
            name="%librariesPrefsPage" >
      </page-->
      <page
            category="org.apache.felix.sigil.ui.preferences.SigilPreferencePage"
            class="org.apache.felix.sigil.ui.eclipse.ui.preferences.repository.RepositoriesPreferencePage"
            id="org.apache.felix.sigil.ui.preferences.repositoriesPreferencePage"
            name="%repositoriesPrefPage">
      </page>
      <page
            category="org.apache.felix.sigil.ui.preferences.SigilPreferencePage"
            class="org.apache.felix.sigil.ui.eclipse.ui.preferences.ExcludedResourcesPrefsPage"
            id="org.apache.felix.sigil.ui.preferences.excludedResources"
            name="Excluded Resources">
      </page>
      <page
            category="org.apache.felix.sigil.ui.preferences.SigilPreferencePage"
            class="org.apache.felix.sigil.ui.eclipse.ui.preferences.VersionsPreferencePage"
            id="org.apache.felix.sigil.ui.preferences.VersionsPreferencePage"
            name="Version Handling">
      </page>
      <page
            category="org.apache.felix.sigil.ui.preferences.SigilPreferencePage"
            class="org.apache.felix.sigil.ui.eclipse.ui.preferences.installs.OSGiInstallsPreferencePage"
            id="org.apache.felix.sigil.ui.preferences.osgiInstalls"
            name="OSGi Installs">
      </page>
   </extension>
   <extension
         point="org.eclipse.ui.editors">
      <editor
            class="org.apache.felix.sigil.ui.eclipse.ui.editors.project.SigilProjectEditorPart"
            default="true"
            filenames="sigil.properties"
            icon="etc/images/newton.png"
            id="org.apache.felix.sigil.editors.SigilProjectEditor"
            name="Sigil Project Editor"/>
   </extension>
   <extension
         point="org.eclipse.jdt.core.classpathContainerInitializer">
      <classpathContainerInitializer
            class="org.apache.felix.sigil.ui.eclipse.classpath.SigilClasspathContainerInitializer"
            id="org.apache.felix.sigil.classpathContainer"/>
   </extension>
   <extension
         point="org.eclipse.jdt.ui.classpathContainerPage">
      <classpathContainerPage
            class="org.apache.felix.sigil.ui.eclipse.classpath.SigilLibraryPage"        id="org.apache.felix.sigil.classpathContainer"
            name="Sigil Library"/>
   </extension>
   <extension
         point="org.eclipse.ui.perspectives">
      <perspective
            class="org.apache.felix.sigil.ui.eclipse.ui.perspective.SigilPerspectiveFactory"
            icon="etc/images/newton.png"
            id="org.apache.felix.sigil.ui.perspective"
            name="Sigil">
      </perspective>
   </extension>
   <extension
         point="org.eclipse.jdt.ui.quickFixProcessors">
      <quickFixProcessor
            class="org.apache.felix.sigil.ui.eclipse.ui.quickfix.ImportQuickFixProcessor"
            id="org.apache.felix.sigil.ui.importQuickFixProcessor">
      </quickFixProcessor>
   </extension>
   <extension
         point="org.eclipse.ui.views">
      <view
            allowMultiple="false"
            category="org.apache.felix.sigil.ui.views"
            class="org.apache.felix.sigil.ui.eclipse.ui.views.resolution.BundleResolverView"
            icon="icons/bundle-graph.gif"
            id="org.apache.felix.sigil.ui.bundleDependencyView"
            name="Bundle Dependency View"
            restorable="true">
      </view>
      <view
            allowMultiple="false"
            category="org.apache.felix.sigil.ui.views"
            class="org.apache.felix.sigil.ui.eclipse.ui.views.RepositoryViewPart"
            icon="icons/repository.gif"
            id="org.apache.felix.sigil.ui.repositoryBrowser"
            name="Repository Browser"
            restorable="true">
      </view>
      <category
            id="org.apache.felix.sigil.ui.views"
            name="Sigil">
      </category>
   </extension>
   <extension
         point="org.apache.felix.sigil.ui.repositorywizard">
      <wizard
            class="org.apache.felix.sigil.ui.eclipse.ui.internal.repository.FileSystemRepositoryWizard"
            repository="org.apache.felix.sigil.core.file">
      </wizard>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            id="org.apache.felix.sigil.ui.commands.renameComposite"
            name="Rename Composite">
      </command>
   </extension>
   <extension
         point="org.eclipse.ltk.core.refactoring.refactoringContributions">
      <contribution
            class="org.apache.felix.sigil.ui.eclipse.ui.refactor.RenameCompositeRefactoring"
            id="org.apache.felix.sigil.ui.rename.composite">
      </contribution>
   </extension>
   <extension
         point="org.eclipse.ui.propertyPages">
      <page
            class="org.apache.felix.sigil.ui.eclipse.ui.preferences.project.ProjectPropertyPage"
            id="org.apache.felix.sigil.ui.projectpage"
            name="Repositories">
         <filter
               name="projectNature"
               value="org.apache.felix.sigil.sigilnature"/>
         <enabledWhen>
            <adapt
                  type="org.eclipse.core.resources.IProject">
            </adapt>
         </enabledWhen>
      </page>
   </extension>
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="popup:org.eclipse.ui.popup.any">
         <menu
               icon="etc/images/newton.png"
               label="Sigil">
            <command
                  commandId="org.apache.felix.sigil.ui.convertproject"
                  label="Convert Project"
                  style="push">
               <visibleWhen
                     checkEnabled="true">
               </visibleWhen>
            </command>
         </menu>
         <separator
               name="org.apache.felix.sigil.ui.separator"
               visible="true">
         </separator>
         <command
               commandId="org.apache.felix.sigil.ui.refreshclasspath"
               icon="icons/refreshBundle.png"
               label="Refresh bundle classpath"
               style="push">
               <visibleWhen
                     checkEnabled="true">
               </visibleWhen>
            </command>
      </menuContribution>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            id="org.apache.felix.sigil.ui.convertproject"
            name="%commandConvertProject">
      </command>
      <command
            id="org.apache.felix.sigil.ui.refreshclasspath"
            name="%commandRefreshClasspath">
      </command>
   </extension>
   <extension
         point="org.eclipse.ui.commandImages">
      <image
            commandId="org.apache.felix.sigil.ui.convertproject"
            icon="etc/images/newton.png">
      </image>
      <image
            commandId="org.apache.felix.sigil.ui.refreshclasspath"
            icon="etc/images/newton.png">
      </image>
   </extension>
   
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="org.apache.felix.sigil.ui.eclipse.handlers.project.ConvertProjectHandler"
            commandId="org.apache.felix.sigil.ui.convertproject">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     ifEmpty="false"
                     operator="and">
					<instanceof
	                           value="org.eclipse.core.resources.IProject">
	                </instanceof>
		            <test
						property="org.apache.felix.sigil.isSigilProject"
						value="false">
					</test>
               </iterate>
            </with>
         </activeWhen>
      </handler>      
      <handler
            class="org.apache.felix.sigil.ui.eclipse.handlers.project.RefreshSigilClasspathHandler"
            commandId="org.apache.felix.sigil.ui.refreshclasspath">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     ifEmpty="false"
                     operator="and">
					<instanceof
	                           value="org.eclipse.core.resources.IProject">
	                </instanceof>
		            <test
						property="org.apache.felix.sigil.isSigilProject"
						value="true">
					</test>
               </iterate>
            </with>
         </activeWhen>
      </handler>      
   </extension>   
</plugin>
