<?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.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.tasks.core.AbstractRepositoryQuery"
            class="org.eclipse.mylyn.internal.sandbox.dev.properties.MylynPropertiesSourceAdapterFactory">
         <adapter
               type="org.eclipse.ui.views.properties.IPropertySource">
         </adapter>
      </factory>
   
    <factory
            adaptableType="org.eclipse.mylyn.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>
