<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
    Copyright (c) 2009 Tasktop Technologies 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:
         Tasktop Technologies - initial API and implementation
 -->
<plugin>

   <!--
   <extension point = "org.eclipse.ui.popupMenus">
     <objectContribution
        id="org.eclipse.mylyn.ui.instrospection"
        objectClass="java.lang.Object">
	    <action
  		  	label="Sandbox: Introspect Object"
	  		menubarPath="additions"
	  		id="org.eclipse.mylyn.sandbox.actions.introspect"
	  		class="org.eclipse.mylyn.internal.sandbox.dev.IntrospectObjectAction"
	  		enablesFor="1"/>
	 </objectContribution>
	</extension>
	-->
	<extension point="org.eclipse.ui.commands">
      <category
            name="Sandbox"
            description="Mylyn Sandbox Commands"
            id="org.eclipse.mylyn.sandbox.dev.commands.category">
      </category>
      <command
            name="Sandbox: Introspect Object"
            id="org.eclipse.mylyn.sandbox.dev.commands.Introspect"
            categoryId="org.eclipse.mylyn.sandbox.dev.commands.category"
            defaultHandler="org.eclipse.mylyn.internal.sandbox.dev.IntrospectObjectHandler">
      </command>
	</extension>
	<extension
       point="org.eclipse.ui.menus">
	    <menuContribution
	          locationURI="popup:org.eclipse.ui.popup.any">
	          <command
                 commandId="org.eclipse.mylyn.sandbox.dev.commands.Introspect"
                 style="push">
	          </command>
	    </menuContribution>
	</extension>	

   <extension point="org.eclipse.ui.decorators">
      <decorator
            lightweight="true"
            label="Experimental: Interest Debugging Decorator"
            class="org.eclipse.mylyn.internal.sandbox.dev.InterestDebuggingDecorator"
            state="false"
            id="org.eclipse.mylyn.sandbox.ui.decorator.interest">
         <description>
			Appends interest level to nodes
		 </description>
         <enablement>
            <objectClass name="java.lang.Object"/>
         </enablement>
      </decorator>
   </extension>

  <extension
         point="org.eclipse.ui.views">
      <view
            name="Repository Spy (Experimental)"
            icon="icons/repositories.gif"
            category="org.eclipse.mylyn.ui"
            class="org.eclipse.mylyn.internal.sandbox.dev.views.RepositorySpyView"
            id="org.eclipse.mylyn.tasks.spy.views.RepositorySpyView">
      </view>
      <!--
      <category
            id="org.eclipse.mylyn.sandbox"
            name="Experimental">
      </category>
      -->
   </extension>
   <extension
         point="org.eclipse.core.runtime.adapters">
      <factory
            adaptableType="org.eclipse.mylyn.tasks.core.TaskRepository"
            class="org.eclipse.mylyn.internal.sandbox.dev.properties.MylynPropertiesSourceAdapterFactory">
         <adapter
               type="org.eclipse.ui.views.properties.IPropertySource">
         </adapter>
      </factory>
      <factory
            adaptableType="org.eclipse.mylyn.internal.tasks.core.AbstractTask"
            class="org.eclipse.mylyn.internal.sandbox.dev.properties.MylynPropertiesSourceAdapterFactory">
         <adapter
               type="org.eclipse.ui.views.properties.IPropertySource">
         </adapter>
      </factory>
    <factory
            adaptableType="org.eclipse.mylyn.internal.tasks.core.RepositoryQuery"
            class="org.eclipse.mylyn.internal.sandbox.dev.properties.MylynPropertiesSourceAdapterFactory">
         <adapter
               type="org.eclipse.ui.views.properties.IPropertySource">
         </adapter>
      </factory>
   
    <factory
            adaptableType="org.eclipse.mylyn.internal.tasks.core.AbstractTaskCategory"
            class="org.eclipse.mylyn.internal.sandbox.dev.properties.MylynPropertiesSourceAdapterFactory">
         <adapter
               type="org.eclipse.ui.views.properties.IPropertySource">
         </adapter>
      </factory>
   </extension>

  <extension point="org.eclipse.ui.popupMenus"> 
     <objectContribution
     	   adaptable="false"
           id="org.eclipse.mylyn.java.ui.interest.decrease.contribution"
           objectClass="org.eclipse.jdt.core.IJavaElement">
	    <action
           class="org.eclipse.mylyn.internal.sandbox.dev.InterestDecrementAction"
           enablesFor="*"
           id="org.eclipse.mylyn.java.ui.interest.increase.element"
           label="Make Less Interesting (Experimental)"
           menubarPath="group.reorganize">
     </action>
     <visibility>
     	<and>
	     	<systemProperty
	               name="org.eclipse.mylyn.context.core.context.active"
    	           value="true">
    	    </systemProperty>
           <objectClass
                 name="org.eclipse.jdt.core.IMember">
           </objectClass>
        </and>
     </visibility>
	 </objectContribution>
	</extension>
  <extension
        point="org.eclipse.ui.actionSets">
     <actionSet
           id="org.eclipse.mylyn.sandbox.dev.actions"
           label="Mylyn Development"
           visible="false">
        <action
              class="org.eclipse.mylyn.internal.sandbox.dev.actions.TestTaskListNotificationAction"
              icon="icons/test.png"
              id="org.eclipse.mylyn.sandbox.dev.action1"
              label="Test Notifications"
              style="push"
              toolbarPath="mylyn">
        </action>
     </actionSet>
  </extension>
  <extension
        point="org.eclipse.ui.popupMenus">
     <viewerContribution
           id="org.eclipse.mylyn.sandbox.dev.TasksPropertiesContribution"
           targetID="org.eclipse.mylyn.tasks.ui.views.tasks">
        <action
              class="org.eclipse.mylyn.internal.sandbox.dev.actions.ShowPropertiesAction"
              enablesFor="1"
              icon="icons/debug.gif"
              id="org.eclipse.mylyn.sandbox.dev.ShowPropertiesAction"
              label="Show in Properties View"
              menubarPath="additions"
              tooltip="Show properties in Properties View">
        </action>
     </viewerContribution>
     <viewerContribution
           id="org.eclipse.mylyn.sandbox.dev.RepositoriesPropertiesContribution"
           targetID="org.eclipse.mylyn.tasks.ui.views.repositories">
        <action
              class="org.eclipse.mylyn.internal.sandbox.dev.actions.ShowPropertiesAction"
              enablesFor="1"
              icon="icons/debug.gif"
              id="org.eclipse.mylyn.sandbox.dev.ShowPropertiesAction"
              label="Show in Properties View"
              menubarPath="additions"
              tooltip="Show properties for this Repository in Properties View">
        </action>
     </viewerContribution>
  </extension>
  
</plugin>
