<?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="$nl$/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="$nl$/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="$nl$/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="$nl$/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="$nl$/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="$nl$/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
            name="%PropertiesPage.filePage"
            nameFilter="*.readme"
            class="org.eclipse.ui.examples.readmetool.ReadmeFilePropertyPage"
            id="org.eclipse.ui.examples.readmetool.FilePage">
         <enabledWhen>
            <instanceof
                  value="org.eclipse.core.resources.IFile">
            </instanceof>
         </enabledWhen>
      </page>
      <page
            name="%PropertiesPage.filePage2"
            nameFilter="*.readme"
            class="org.eclipse.ui.examples.readmetool.ReadmeFilePropertyPage2"
            id="org.eclipse.ui.examples.readmetool.FilePage2">
         <enabledWhen>
            <instanceof
                  value="org.eclipse.core.resources.IFile">
            </instanceof>
         </enabledWhen>
      </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="$nl$/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="$nl$/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="$nl$/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="$nl$/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">
      <menuContribution
            locationURI="toolbar:org.eclipse.ui.trim.status">
         <toolbar
               id="org.eclipse.ui.examples.readmetool.verticalTrim">
            <command
                  commandId="org.eclipse.ui.examples.readmetool.item2"
                  icon="icons/obj16/editor.gif"
                  id="readmeTool.trimItem"
                  label="%Trim.item"
                  style="push"
                  tooltip="%TrimItem.toolTip">
            </command>
            <control
                  class="org.eclipse.ui.examples.readmetool.ReadmeControlContribution"
                  id="readmeTool.controlContrib1">
            </control>
            <command
                  commandId="org.eclipse.ui.examples.readmetool.item2"
                  icon="icons/obj16/editor.gif"
                  id="readmeTool.trimItem2"
                  label="%Trim2.item"
                  style="push"
                  tooltip="%TrimItem2.toolTip">
            </command>
         </toolbar>
      </menuContribution>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            id="org.eclipse.ui.examples.readmetool.item2"
            name="%CmdLabel">
      </command>
   </extension>


</plugin>
