<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension
         point="org.eclipse.rephraserengine.ui.refactoring.refactorings">

      <!-- Define a ResourceFilter, which tells what types of projects and files we can refactor -->
      <resourceFilter class="org.eclipse.rephraserengine.internal.examples.text.TextFileResourceFilter" />

      <!-- Add a new group to the Refactor menu... -->
      <group>
         <!-- ...and put our refactoring in that group -->
         <resourceRefactoring
            class="org.eclipse.rephraserengine.internal.examples.text.ConvertTabsToSpacesRefactoring" />
      </group>
   </extension>

   <!-- Associate the "(Debugging)" action set with the workbench text editor -->
   <extension
         point="org.eclipse.ui.actionSetPartAssociations">
      <actionSetPartAssociation targetID="org.eclipse.rephraserengine.ui.DebugActionSet">
         <part id="org.eclipse.ui.DefaultTextEditor"/>
      </actionSetPartAssociation>
   </extension>

   <!-- Add a Text page to the Search dialog -->
   <extension point="org.eclipse.search.searchPages">
     <page
        canSearchEnclosingProjects="true"
        class="org.eclipse.rephraserengine.internal.examples.text.TextSearchPage"
        id="org.eclipse.rephraserengine.examples.text.searchPage"
        label="Text Search"
        icon="icons/search_obj.gif"
        showScopeSection="true"
        sizeHint="460, 160"/>
   </extension>
   
   <!-- Add a Search > Text menu item -->
   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            description="Text Search"
            id="org.eclipse.rephraserengine.examples.text.searchActionSet"
            label="Text Search"
            visible="true">
         <action
               class="org.eclipse.rephraserengine.internal.examples.text.TextSearchPage$OpenTextSearchPageAction"
               id="org.eclipse.rephraserengine.examples.text.openTextSearchPage"
               label="Te&amp;xt..."
               icon="icons/search_obj.gif"
               menubarPath="org.eclipse.search.menu/dialogGroup" />
      </actionSet>
   </extension>
</plugin>
