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

	<extension point="org.eclipse.ui.views">
     	<category name="Mylyn Sandbox" id="org.eclipse.mylyn.sandbox"/>
    </extension>

    <extension point="org.eclipse.ui.preferencePages">
      <page 
         name="Sandbox"
         class="org.eclipse.mylyn.internal.sandbox.ui.SandboxUiPreferencePage"
         id="org.eclipse.mylyn.sandbox.ui.preferences"
         category="org.eclipse.mylyn.ui.preferences">
         <keywordReference id="org.eclipse.mylyn.java.keywords"/>
      </page> 
    </extension>

	<extension point="org.eclipse.mylyn.context.ui.bridges">
	    <labelProvider
	          class="org.eclipse.mylyn.internal.sandbox.ui.JavaContextLabelProvider"
	          contentType="java"/>
	</extension>

   <extension point="org.eclipse.mylyn.tasks.ui.presentations">
      <presentation 
            id="org.eclipse.mylyn.tasks.ui.groupByOwner"
            name="Grouped by Owner (Experimental)"
            icon="icons/etool16/presentation.gif"
            class="org.eclipse.mylyn.internal.sandbox.ui.GroupedPresentation:Owner"
            primary="false"/>
      <presentation 
            id="org.eclipse.mylyn.tasks.ui.groupByPriority"
            name="Grouped by Priority (Experimental)"
            icon="icons/etool16/presentation.gif"
            class="org.eclipse.mylyn.internal.sandbox.ui.GroupedPresentation:Priority"
            primary="false"/>
      <presentation 
            id="org.eclipse.mylyn.tasks.ui.groupByRepository"
            name="Grouped by Repository (Experimental)"
            icon="icons/etool16/presentation.gif"
            class="org.eclipse.mylyn.internal.sandbox.ui.GroupedPresentation:Repository"
            primary="false"/>
      <presentation
            class="org.eclipse.mylyn.internal.sandbox.ui.IncomingPresentation"
            icon="icons/etool16/presentation.gif"
            id="org.eclipse.mylyn.tasks.ui.incoming"
            name="Incoming (Experimental)"
            primary="false">
      </presentation>
      <presentation 
            id="org.eclipse.mylyn.tasks.ui.groupByDue"
            name="Grouped by Due (Experimental)"
            icon="icons/etool16/presentation.gif"
            class="org.eclipse.mylyn.internal.sandbox.ui.GroupedPresentation:Due"
            primary="false"/>
      <!--
      <presentation 
            id="org.eclipse.mylyn.tasks.ui.groupBySheduled"
            name="Grouped by Sheduled"
            icon="icons/etool16/presentation.gif"
            class="org.eclipse.mylyn.internal.sandbox.ui.GroupedPresentation:Sheduled"
            primary="false"/>
      -->
   </extension>

   <!--
   <extension point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester 
         id="org.eclipse.mylyn.tasks.ui.propertyTester"
         namespace="org.eclipse.mylyn.tasks.ui"
         properties="trimEnabled"
         type="java.lang.Object"
         class="org.eclipse.mylyn.internal.tasks.ui.TaskPropertyTester">
      </propertyTester>
   </extension>
   -->

   <!-- moved to the org.eclipse.mylyn.tasks.ui
   <extension point="org.eclipse.ui.commands">
      <command id="org.eclipse.mylyn.tasks.ui.command.previousTask"
               name="Task Trim Command"/>
      <command id="org.eclipse.mylyn.ui.context.capture.pause.command"
               name="Pause Capturing Context Command"/>
   </extension>

   <extension point="org.eclipse.ui.handlers">
      <handler commandId="org.eclipse.mylyn.tasks.ui.command.previousTask"
               class="org.eclipse.mylyn.internal.tasks.ui.TaskHistoryHandler"/>
      <handler commandId="org.eclipse.mylyn.ui.context.capture.pause.command"
               class="org.eclipse.mylyn.internal.tasks.ui.ContextCapturePauseHandler"/>
   </extension>
   -->

	<extension point="org.eclipse.ui.menus">
    <!-- menu for pulldown command -->
    <menuContribution locationURI="menu:org.eclipse.mylyn.tasks.ui.trim">
      <dynamic
         class="org.eclipse.mylyn.internal.tasks.ui.TaskHistoryDropDown"
         id="org.eclipse.mylyn.tasks.ui.trim.dropdown"/>
    </menuContribution>

    <menuContribution locationURI="toolbar:org.eclipse.ui.trim.command2?after">
      <toolbar id="org.eclipse.mylyn.tasks.ui.trim.container">
        <command
            id="org.eclipse.mylyn.tasks.ui.trim"
            commandId="org.eclipse.mylyn.tasks.ui.command.previousTask"
            label="Previous Task"
            icon="icons/etool16/navigate-previous.gif"
            style="pulldown">
        </command>

        <control
           class="org.eclipse.mylyn.internal.tasks.ui.TaskTrimWidget"
           id="org.eclipse.mylyn.tasks.ui.trim.control"/>
        <!-- for some reason this doesn't work
        <visibleWhen checkEnabled="false">
           <test forcePluginActivation="true"
                 property="org.eclipse.mylyn.tasks.ui.trimEnabled"/>
        </visibleWhen>
        <visibleWhen><not><systemTest property="os.name" value="Windows XP"/></not></visibleWhen>
        -->
      </toolbar>
    </menuContribution>
    
    <menuContribution locationURI="menu:org.eclipse.mylyn.tasks.ui.views.tasks?after=additions">
      <command 
         id="org.eclipse.mylyn.ui.context.capture.pause"
         commandId="org.eclipse.mylyn.ui.context.capture.pause.command"
         label="Pause Context (Sandbox)"
         tooltip="Pause Capturing Context"
         icon="icons/elcl16/capture-pause.gif"
         style="toggle"/>
    </menuContribution>
  </extension>

    <extension point="org.eclipse.ui.newWizards">
	  <wizard
            category="org.eclipse.mylyn.ui.wizards.new"
            class="org.eclipse.mylyn.internal.sandbox.ui.planner.TaskActivityWizard"
            icon="icons/eview16/task-list.gif" 
            id="org.eclipse.mylyn.tasks.ui.wizards.activity.report"
            name="Task Activity Report (Sandbox)">
      </wizard> 
	</extension>

  	<extension
        point="org.eclipse.ui.editors">
    	<editor
          class="org.eclipse.mylyn.internal.sandbox.ui.planner.TaskActivityEditorPart"
          contributorClass="org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorActionContributor"
          icon="icons/eview16/task-list.gif"
          id="org.eclipse.mylyn.tasks.ui.editors.planning"
          name="Task Planner"/>     
  	</extension>

<!--
 	<extension point="org.eclipse.ui.viewActions"> 
 		<viewContribution 
			id="org.eclipse.mylyn.context.ui.taskList.contribution" 
   			targetID="org.eclipse.mylyn.tasks.ui.views.tasks">
  		<action
            class="org.eclipse.mylyn.internal.sandbox.ui.actions.ContextCapturePauseAction"
            icon="icons/elcl16/capture-pause.gif"
            id="org.eclipse.mylyn.ui.context.capture.pause"
            label="Pause Context (Sandbox)"
            menubarPath="additions"
            style="toggle"
            tooltip="Pause Capturing Context"/>
  		</viewContribution>
	</extension>
-->

   <extension point="org.eclipse.mylyn.tasks.ui.actions"> 
      <dynamicPopupMenu
            class="org.eclipse.mylyn.internal.sandbox.ui.highlighter.TaskHighlighterMenuContributor"
            menuPath="context"/>
   </extension>
   
   <extension
   		point="org.eclipse.ui.keywords">
      <keyword
            label="mylyn java"
            id="org.eclipse.mylyn.java.keywords"/>
   </extension>

   <extension point="org.eclipse.ui.views"> 
   	  <view
          allowMultiple="false"
          category="org.eclipse.mylyn.sandbox"
          class="org.eclipse.mylyn.internal.sandbox.ui.views.ActiveSearchView"
          icon="icons/eview16/active-search.gif"
          id="org.eclipse.mylyn.ui.views.active.search"
          name="Context Search"/>
          
	  <view
            allowMultiple="false"
            category="org.eclipse.mylyn.sandbox"
            class="org.eclipse.mylyn.internal.sandbox.ui.views.ContextHierarchyView"
            icon="icons/eview16/active-hierarchy.gif"
            id="org.eclipse.mylyn.ui.views.active.hierarchy"
            name="Context Hierarchy"/>
            
            <view
            allowMultiple="false"
            category="org.eclipse.mylyn.sandbox"
            class="org.eclipse.mylyn.internal.sandbox.ui.views.TaskActivityView"
            icon="icons/eview16/task-activity.gif"
            id="org.eclipse.mylyn.tasklist.activity"
            name="Task Activity"/>
   </extension>
   
    <extension point="org.eclipse.ui.actionSets">
      <actionSet
        label="Mylyn Task Context"
        description="Mylyn Focus"
        visible="true"
        id="org.eclipse.mylyn.sandbox.ui.actionSet">
        
        <action
          definitionId="org.eclipse.mylyn.sandbox.ui.commands.open.related.dialog"
          label="Open Mylyn Related Elements"
          class="org.eclipse.mylyn.internal.sandbox.ui.actions.OpenRelatedElementsPopupDialogAction"
          menubarPath="navigate/open.ext2"
          id="org.eclipse.mylyn.sandbox.ui.actions.open.related.dialog"
          icon="icons/eview16/active-search.gif">
        </action>
      </actionSet>
    </extension>

	<extension point="org.eclipse.ui.commands">
		<category
			name="Mylyn UI"
			description="Mylyn UI Commands"
			id="org.eclipse.mylyn.context.ui.commands">
		</category>
		
		<command
			name="Show Context Search Elements"
			description="Show Context Search Elements"
			id="org.eclipse.mylyn.sandbox.ui.commands.open.related.dialog"
			categoryId="org.eclipse.mylyn.context.ui.commands">
		</command>
	</extension>
	
    <extension point="org.eclipse.ui.bindings">
      <key
        sequence="M1+M2+M3+ARROW_LEFT"
        contextId="org.eclipse.ui.globalScope"
        commandId="org.eclipse.mylyn.sandbox.ui.commands.open.related.dialog"
        schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
      </key>
    </extension>
    <extension
          point="org.eclipse.ui.decorators">
       <decorator
             class="org.eclipse.mylyn.internal.sandbox.ui.highlighter.TaskHighlighter"
             icon="icons/etool16/presentation.gif"
             id="org.eclipse.mylyn.sandbox.ui.decorator.tasks"
             label="Task Highlighter"
             lightweight="true"
             objectClass="org.eclipse.mylyn.tasks.core.AbstractTask"
             state="true">
       </decorator>
    </extension>
   
   
   
   <!--
   <extension point="org.eclipse.mylyn.tasks.ui.presentations">
      <presentation 
            id="org.eclipse.mylyn.tasks.ui.groupByOwner"
            name="Grouped by Owner"
            icon="icons/etool16/category.gif"
            contentProvider="org.eclipse.mylyn.internal.sandbox.ui.GroupedTaskListContentProvider:Owner"/>
      <presentation 
            id="org.eclipse.mylyn.tasks.ui.groupByPriority"
            name="Grouped by Priority"
            icon="icons/etool16/category.gif"
            contentProvider="org.eclipse.mylyn.internal.sandbox.ui.GroupedTaskListContentProvider:Priority"/>
      <presentation 
            id="org.eclipse.mylyn.tasks.ui.groupByRepository"
            name="Grouped by Repository"
            icon="icons/etool16/category.gif"
            contentProvider="org.eclipse.mylyn.internal.sandbox.ui.GroupedTaskListContentProvider:Repository"/>
      <presentation 
            id="org.eclipse.mylyn.tasks.ui.groupByDue"
            name="Grouped by Due"
            icon="icons/etool16/category.gif"
            contentProvider="org.eclipse.mylyn.internal.sandbox.ui.GroupedTaskListContentProvider:Due"/>
      <presentation 
            id="org.eclipse.mylyn.tasks.ui.groupBySheduled"
            name="Grouped by Sheduled"
            icon="icons/etool16/category.gif"
            contentProvider="org.eclipse.mylyn.internal.sandbox.ui.GroupedTaskListContentProvider:Sheduled"/>
   </extension>
   -->
   
</plugin>


   <!--
   <extension point="org.eclipse.ui.viewActions"> 
   <viewContribution
         id="org.eclipse.mylyn.monitor.ui.reports.ui.switchTaskFolder"
         targetID="org.eclipse.mylyn.tasks.ui.views.TaskListView">
      <action
            class="org.eclipse.mylyn.internal.sandbox.ui.actions.SwitchTaskDataFolderAction"
            icon="icons/eview16/folder.gif"
            id="org.eclipse.mylyn.monitor.ui.reports.ui.actions.switchTask"
            label="Sandbox: Switch Task Data Folder..."
            menubarPath="context"
            style="push">
      </action>
   </viewContribution>
   </extension>
   -->
   

      <!--
        <provider 
         	markupProviderClass="org.eclipse.mylyn.sandbox.viz.MylynJavaMarkupProvider" 
         	name="Mylyn Provider" 
         	priority="9" 
         	description="Provider that shows java declarations that are part of a Mylyn context for a task." 
         	emptyMessage="No active Mylyn context to display" 
         	contentProviderClass="org.eclipse.mylyn.sandbox.viz.MylynJavaContentProvider" 
         	id="mylynprovider" />
        -->
        
      
		<!-- This schema works for the older (1.1?) CVS version of the Visualiser from AJDT  
		<provider
		    class="org.eclipse.mylyn.sandbox.viz.MylynJavaContentProvider"
		    markupclass="org.eclipse.mylyn.sandbox.viz.MylynJavaMarkupProvider"
		    name="Mylyn Java Provider"
		    title="Mylyn Java Task Context"
		    priority="8"
		    description="Provider that shows java declarations that are part of a Mylyn context for a task."
		    emptyMessage="No active Mylyn context to display"
		    id="mylynprovider">
		</provider>
		 --> 
  
  <!--
   <extension point = "org.eclipse.ui.popupMenus">
     <objectContribution
        id="org.eclipse.mylyn.interest"
        objectClass="org.eclipse.jdt.core.IJavaElement">
        <action id="org.eclipse.mylyn.ui.actions.OpenRelatedElementsQuickView" 
              label="Related elements" 
	      	  menubarPath="mylyn" 
              icon="icons/eview16/active-search.gif" 
              tooltip="Active Search quick view" 
              class="org.eclipse.mylyn.ui.actions.OpenRelatedElementsQuickView" 
              enablesFor="1"/> 
	 </objectContribution>
  </extension>
  -->
