<?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="icons/logo16x16.gif"
            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="icons/logo16x16.gif"
            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="icons/logo16x16.gif">
      </image>
      <image
            commandId="org.apache.felix.sigil.ui.refreshclasspath"
            icon="icons/repository.gif">
      </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>
