<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>

   <extension point = "org.eclipse.ui.popupMenus">
     <objectContribution
        id="org.eclipse.mylyn.ui.instrospection"
        objectClass="java.lang.Object">
	    <action
  		  	label="Sanbox: 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.decorators">
      <decorator
            lightweight="true"
            label="Mylyn: 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"
            icon="icons/repositories.gif"
            category="org.eclipse.mylyn.sandbox"
            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="Mylyn Sandbox">
      </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 Sandbox Dev Actions"
           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>
  
</plugin>
