<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
    Copyright (c) 2009, 2016 Xored Software Inc 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:
    	Xored Software Inc - initial API and implementation and/or initial documentation
 -->

<plugin>
   <extension
         point="org.eclipse.rcptt.ui.viewers">
      <viewer
            class="org.eclipse.rcptt.ctx.capability.ui.views.CapabilityContextViewer"
            icon="/icons/context.gif"
            type="org.eclipse.rcptt.ctx.capability">
      </viewer>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            id="org.eclipse.rcptt.ui.command.context.convert"
            name="Convert to Capability Context">
      </command>
   </extension>
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="popup:org.eclipse.ui.popup.any?after=additions">
         <command
               commandId="org.eclipse.rcptt.ui.command.context.convert"
               label="Convert to Capability context"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <and>
                  <count
                        value="1">
                  </count>
                  <iterate
                        ifEmpty="false"
                        operator="and">
                     <test
                           property="org.eclipse.rcptt.ctx.convert.isConverted"
                           value="true">
                     </test>
                  </iterate>
               </and>
            </visibleWhen>
         </command>
      </menuContribution>
   </extension>
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.rcptt.ctx.capability.ui.handlers.ContextConvertHandler"
            commandId="org.eclipse.rcptt.ui.command.context.convert">
      </handler>
   </extension>
   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="org.eclipse.rcptt.ctx.capability.ui.handlers.ConvertContextTester"
            id="org.eclipse.rcptt.ctx.convert.tester"
            namespace="org.eclipse.rcptt.ctx.convert"
            properties="isConverted"
            type="org.eclipse.core.resources.IResource">
      </propertyTester>
   </extension>
  <!-- <extension
         point="org.eclipse.ui.newWizards">
      <wizard
            canFinishEarly="false"
            category="org.eclipse.rcptt.ui.views"
            class="org.eclipse.rcptt.ctx.capability.ui.wizard.NewCapabilityContextWizard"
            finalPerspective="org.eclipse.rcptt.ui.perspective"
            icon="icons/context.gif"
            id="org.eclipse.rcptt.ui.wizards.newCapabiltiyContext"
            name="Capability Context"
            preferredPerspectives="org.eclipse.rcptt.ui.perspective"
            project="false">
      </wizard>
   </extension>
 -->
</plugin>
