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

    
<!-- ================================================================== -->
<!--         org.eclipse.ui.examples.readmetool.IReadmeFileParser       -->
<!-- Extension Implementation: must implement                           -->
<!--          the file's section and subsection structure               -->
<!-- Purpose: Provide a custom parser for Readme files which determines -->
<!-- Extension point: org.eclipse.ui.examples.readmetool.sectionParser  -->
<!-- ================================================================== -->
   <extension-point id="sectionParser" name="%ExtPoint.sectionParser"/>

   <extension
         point="org.eclipse.ui.examples.readmetool.sectionParser">
      <parser
            name="%SectionParser.name"
            class="org.eclipse.ui.examples.readmetool.DefaultSectionsParser"
            id="org.eclipse.ui.examples.readmetool.DefaultSectionsParser">
      </parser>
   </extension>
   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            label="%ActionSet.name"
            visible="false"
            id="org_eclipse_ui_examples_readmetool_actionSet">
         <menu
               label="%ActionSet.menu"
               path="window/additions"
               id="org_eclipse_ui_examples_readmetool">
            <separator
                  name="slot1">
            </separator>
            <separator
                  name="slot2">
            </separator>
            <separator
                  name="slot3">
            </separator>
         </menu>
         <action
               id="org_eclipse_ui_examples_readmetool_readmeAction"
               toolbarPath="readme"
               class="org.eclipse.ui.examples.readmetool.WindowActionDelegate"
               enablesFor="1"
               icon="icons/ctool16/openbrwsr.gif"
               helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
               label="%ReadmeAction.label"
               menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"
               tooltip="%ReadmeAction.tooltip">
            <selection
                  name="*.readme"
                  class="org.eclipse.core.resources.IFile">
            </selection>
         </action>
         <action
               label="%ReadmeRetargetAction.label"
               icon="icons/ctool16/openbrwsr.gif"
               helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
               tooltip="%ReadmeRetargetAction.tooltip"
               retarget="true"
               menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"
               toolbarPath="readme"
               id="org_eclipse_ui_examples_readmetool_readmeRetargetAction">
         </action>
         <action
               allowLabelUpdate="true"
               id="org_eclipse_ui_examples_readmetool_readmeRelabelRetargetAction"
               toolbarPath="readme"
               icon="icons/ctool16/openbrwsr.gif"
               helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
               label="%ReadmeRelabelRetargetAction.label"
               menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"
               retarget="true"
               tooltip="%ReadmeRelabelRetargetAction.tooltip">
         </action>
      </actionSet>
   </extension>
   <extension
         point="org.eclipse.ui.newWizards">
      <category
            name="%NewWizard.category"
            parentCategory="org.eclipse.ui.Examples"
            id="org.eclipse.ui.examples.readmetool.new">
      </category>
      <wizard
            name="%NewWizard.name"
            icon="icons/obj16/newreadme_wiz.gif"
            category="org.eclipse.ui.Examples/org.eclipse.ui.examples.readmetool.new"
            class="org.eclipse.ui.examples.readmetool.ReadmeCreationWizard"
            id="org.eclipse.ui.examples.readmetool.wizards.new.file">
         <description>
            %NewWizard.desc
         </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard>
   </extension>
   <extension
         point="org.eclipse.ui.editors">
      <editor
            name="%Editors.ReadmeEditor"
            icon="icons/obj16/editor.gif"
            extensions="readme"
            contributorClass="org.eclipse.ui.examples.readmetool.ReadmeEditorActionBarContributor"
            class="org.eclipse.ui.examples.readmetool.ReadmeEditor"
            id="org.eclipse.ui.examples.readmetool.ReadmeEditor">
      </editor>
   </extension>
   <extension
         point="org.eclipse.ui.views">
      <category
            name="%Views.category"
            id="org.eclipse.ui.examples.readmetool">
      </category>
      <view
            name="%Views.ReadmeSections"
            icon="icons/view16/sections.gif"
            category="org.eclipse.ui.examples.readmetool"
            class="org.eclipse.ui.examples.readmetool.ReadmeSectionsView"
            id="org.eclipse.ui.examples.readmetool.views.SectionsView">
      </view>
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            name="%PreferencePage.name"
            class="org.eclipse.ui.examples.readmetool.ReadmePreferencePage"
            id="org.eclipse.ui.examples.readmetool.Page1">
      </page>
   </extension>
   <extension
         point="org.eclipse.ui.propertyPages">
      <page
            objectClass="org.eclipse.core.resources.IFile"
            name="%PropertiesPage.filePage"
            nameFilter="*.readme"
            class="org.eclipse.ui.examples.readmetool.ReadmeFilePropertyPage"
            id="org.eclipse.ui.examples.readmetool.FilePage">
      </page>
      <page
            objectClass="org.eclipse.core.resources.IFile"
            name="%PropertiesPage.filePage2"
            nameFilter="*.readme"
            class="org.eclipse.ui.examples.readmetool.ReadmeFilePropertyPage2"
            id="org.eclipse.ui.examples.readmetool.FilePage2">
      </page>
   </extension>
   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.core.resources.IFile"
            nameFilter="*.readme"
            id="org.eclipse.ui.examples.readmetool">
         <action
               label="%PopupMenus.action"
               icon="icons/ctool16/openbrwsr.gif"
               helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
               class="org.eclipse.ui.examples.readmetool.PopupMenuActionDelegate"
               menubarPath="additions"
               enablesFor="1"
               id="org.eclipse.ui.examples.readmetool.action1">
         </action>
      </objectContribution>
      <viewerContribution
            targetID="org.eclipse.ui.examples.readmetool.outline"
            id="org.eclipse.ui.examples.readmetool2">
         <action
               label="%PopupMenus.action"
               icon="icons/ctool16/openbrwsr.gif"
               helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
               class="org.eclipse.ui.examples.readmetool.ViewActionDelegate"
               menubarPath="additions"
               id="org.eclipse.ui.examples.readmetool.action1">
         </action>
      </viewerContribution>
   </extension>
   <extension
         point="org.eclipse.ui.viewActions">
      <viewContribution
            targetID="org.eclipse.ui.views.ResourceNavigator"
            id="org.eclipse.ui.examples.readmetool.vc1">
         <action
               id="org.eclipse.ui.examples.readmetool.va1"
               toolbarPath="additions"
               class="org.eclipse.ui.examples.readmetool.ViewActionDelegate"
               enablesFor="1"
               icon="icons/obj16/editor.gif"
               helpContextId="org.eclipse.ui.examples.readmetool.view_action_context"
               label="%PopupMenu.ResourceNav.label"
               menubarPath="additions"
               tooltip="%PopupMenu.ResourceNav.tooltip">
            <selection
                  name="*.readme"
                  class="org.eclipse.core.resources.IFile">
            </selection>
         </action>
      </viewContribution>
   </extension>
   <extension
         point="org.eclipse.ui.editorActions">
      <editorContribution
            targetID="org.eclipse.ui.examples.readmetool.ReadmeEditor"
            id="org.eclipse.ui.examples.readmetool.ec1">
         <action
               label="%Editors.Action.label"
               icon="icons/obj16/editor.gif"
               tooltip="%Editors.Action.tooltip"
               class="org.eclipse.ui.examples.readmetool.EditorActionDelegate"
               toolbarPath="ReadmeEditor"
               id="org.eclipse.ui.examples.readmetool.ea1">
         </action>
      </editorContribution>
   </extension>
   <extension
         point="org.eclipse.help.contexts">
      <contexts
            file="HelpContexts.xml">
      </contexts>
   </extension>
   <extension
         point="org.eclipse.ui.dropActions">
      <action
            class="org.eclipse.ui.examples.readmetool.ReadmeDropActionDelegate"
            id="org_eclipse_ui_examples_readmetool_drop_actions">
      </action>
   </extension>
   <extension
         id="readmemarker"
         name="%ReadmeMarker.name"
         point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.core.resources.taskmarker">
      </super>
      <super
            type="org.eclipse.core.resources.textmarker">
      </super>
      <persistent
            value="true">
      </persistent>
      <attribute
            name="org.eclipse.ui.examples.readmetool.id">
      </attribute>
      <attribute
            name="org.eclipse.ui.examples.readmetool.level">
      </attribute>
      <attribute
            name="org.eclipse.ui.examples.readmetool.department">
      </attribute>
      <attribute
            name="org.eclipse.ui.examples.readmetool.code">
      </attribute>
      <attribute
            name="org.eclipse.ui.examples.readmetool.language">
      </attribute>
   </extension>
   <extension
         point="org.eclipse.ui.ide.markerHelp">
      <markerHelp
            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
            helpContextId="org.eclipse.ui.examples.readmetool.marker_example1_context">
         <attribute
               name="org.eclipse.ui.examples.readmetool.id"
               value="1234">
         </attribute>
      </markerHelp>
      <markerHelp
            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
            helpContextId="org.eclipse.ui.examples.readmetool.marker_example2_context">
         <attribute
               name="org.eclipse.ui.examples.readmetool.level"
               value="7">
         </attribute>
      </markerHelp>
      <markerHelp
            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
            helpContextId="org.eclipse.ui.examples.readmetool.marker_example3_context">
         <attribute
               name="org.eclipse.ui.examples.readmetool.level"
               value="7">
         </attribute>
         <attribute
               name="org.eclipse.ui.examples.readmetool.department"
               value="infra">
         </attribute>
      </markerHelp>
      <markerHelp
            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
            helpContextId="org.eclipse.ui.examples.readmetool.marker_example4_context">
         <attribute
               name="org.eclipse.ui.examples.readmetool.code"
               value="red">
         </attribute>
      </markerHelp>
      <markerHelp
            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
            helpContextId="org.eclipse.ui.examples.readmetool.marker_example5_context">
         <attribute
               name="org.eclipse.ui.examples.readmetool.language"
               value="english">
         </attribute>
      </markerHelp>
      <markerHelp
            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
            helpContextId="org.eclipse.ui.examples.readmetool.marker_example6_context">
         <attribute
               name="org.eclipse.ui.examples.readmetool.id"
               value="1234">
         </attribute>
         <attribute
               name="org.eclipse.ui.examples.readmetool.level"
               value="7">
         </attribute>
         <attribute
               name="org.eclipse.ui.examples.readmetool.department"
               value="infra">
         </attribute>
         <attribute
               name="org.eclipse.ui.examples.readmetool.code"
               value="red">
         </attribute>
         <attribute
               name="org.eclipse.ui.examples.readmetool.language"
               value="english">
         </attribute>
      </markerHelp>
      <markerHelp
            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
            helpContextId="org.eclipse.ui.examples.readmetool.marker_example7_context">
      </markerHelp>
   </extension>
   <extension
         point="org.eclipse.ui.ide.markerResolution">
      <markerResolutionGenerator
            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
            class="org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator">
         <attribute
               name="org.eclipse.ui.examples.readmetool.id"
               value="1234">
         </attribute>
      </markerResolutionGenerator>
      <markerResolutionGenerator
            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
            class="org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator">
         <attribute
               name="org.eclipse.ui.examples.readmetool.level"
               value="7">
         </attribute>
      </markerResolutionGenerator>
      <markerResolutionGenerator
            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
            class="org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator">
         <attribute
               name="org.eclipse.ui.examples.readmetool.code"
               value="red">
         </attribute>
         <attribute
               name="org.eclipse.ui.examples.readmetool.language"
               value="english">
         </attribute>
      </markerResolutionGenerator>
   </extension>
   <extension
         point="org.eclipse.core.runtime.preferences">
      <initializer class="org.eclipse.ui.examples.readmetool.ReadmePreferenceInitializer"/>
   </extension>
   <extension
         point="org.eclipse.ui.actionSetPartAssociations">
      <actionSetPartAssociation targetID="org_eclipse_ui_examples_readmetool_actionSet">
         <part id="org.eclipse.ui.examples.readmetool.ReadmeEditor"/>
      </actionSetPartAssociation>
   </extension>
   
   <extension
         point="org.eclipse.ui.menus">
      <group
            id="org.eclipse.ui.examples.readmetool.readmeTrimGroup">
         <location>
            <bar type="trim"/>
            <order position="before" relativeTo="status"/>
         </location>
      </group>
      <widget class="org.eclipse.ui.examples.readmetool.ReadmeTrimWidget" 
      		  id="org.eclipse.ui.examples.readmetool.readmeTrimWidget">
         <location>
            <bar path="org.eclipse.ui.examples.readmetool.readmeTrimGroup" type="trim"/>
         </location>
      </widget>
   </extension>


</plugin>
