<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<!-- ==============-->
<!-- Error Parsers -->
<!-- ==============-->
<!-- Error parser IDs are qualified with org.eclipse.photran.core for backward
     compatibility.  In previous versions of Photran, they were located in the
     photran.core plug-in, so users' projects have their error parser settings
     stored with that qualifier.  They were moved into photran.cdtinterface in
     order to remove photran.core's dependency on CDT; now, all CDT-dependent
     functionality is located in photran.cdtinterface. -->
   <extension
         id="org.eclipse.photran.core.AbsoftErrorParser"
         name="Photran Error Parser for Absoft Fortran"
         point="org.eclipse.cdt.core.ErrorParser">
      <errorparser
            class="org.eclipse.photran.internal.cdtinterface.errorparsers.AbsoftErrorParser">
      </errorparser>
   </extension>
   <extension
         id="org.eclipse.photran.core.CrayErrorParser"
         name="Photran Error Parser for Cray Fortran"
         point="org.eclipse.cdt.core.ErrorParser">
      <errorparser
            class="org.eclipse.photran.internal.cdtinterface.errorparsers.CrayErrorParser">
      </errorparser>
   </extension>
   <extension
         id="org.eclipse.photran.core.GFortranErrorParser"
         name="%FDTGFortranErrorParser.name"
         point="org.eclipse.cdt.core.ErrorParser">
      <errorparser
            class="org.eclipse.photran.internal.cdtinterface.errorparsers.GFortranErrorParser">
      </errorparser>
   </extension>
   <extension
         id="org.eclipse.photran.core.IntelFortranErrorParser"
         name="Photran Error Parser for Intel Fortran 8.1"
         point="org.eclipse.cdt.core.ErrorParser">
      <errorparser
            class="org.eclipse.photran.internal.cdtinterface.errorparsers.IntelFortranErrorParser">
      </errorparser>
   </extension>
   <extension
         id="org.eclipse.photran.core.LaheyFortranErrorParser"
         name="Photran Error Parser for Lahey/Fujitsu Fortran 7.1"
         point="org.eclipse.cdt.core.ErrorParser">
      <errorparser
            class="org.eclipse.photran.internal.cdtinterface.errorparsers.LaheyFortranErrorParser">
      </errorparser>
   </extension>
   <extension
         id="org.eclipse.photran.core.G95FortranErrorParser"
         name="Photran Error Parser for G95 Fortran"
         point="org.eclipse.cdt.core.ErrorParser">
      <errorparser
            class="org.eclipse.photran.internal.cdtinterface.errorparsers.G95FortranErrorParser">
      </errorparser>
   </extension>
   <extension
         id="org.eclipse.photran.core.NAGErrorParser"
         name="Photran Error Parser for NAG Fortran"
         point="org.eclipse.cdt.core.ErrorParser">
      <errorparser
            class="org.eclipse.photran.internal.cdtinterface.errorparsers.NAGErrorParser">
      </errorparser>
   </extension>
   <extension
         id="org.eclipse.photran.core.Open64ErrorParser"
         name="Photran Error Parser for Open64 Fortran"
         point="org.eclipse.cdt.core.ErrorParser">
      <errorparser
            class="org.eclipse.photran.internal.cdtinterface.errorparsers.Open64ErrorParser">
      </errorparser>
   </extension>
   <extension
         id="org.eclipse.photran.core.PGIErrorParser"
         name="Photran Error Parser for PGI Fortran"
         point="org.eclipse.cdt.core.ErrorParser">
      <errorparser
            class="org.eclipse.photran.internal.cdtinterface.errorparsers.PGIErrorParser">
      </errorparser>
   </extension>

   <!--======================-->
   <!-- CDT Core Integration -->
   <!--======================-->
   <extension
         point="org.eclipse.cdt.core.language">
      <language
            class="org.eclipse.photran.internal.cdtinterface.core.FortranLanguage"
            id="org.eclipse.photran.cdtinterface.fortran"
            name="%language.name">
         <contentType id="org.eclipse.photran.core.fortranSource"/>
      </language>
   </extension>

   <!--==================-->
   <!-- CDT Launch Clone -->
   <!--==================-->

   <!-- Fortran Launch Configuration (visible in "Run..." dialog)-->
   <extension
         point="org.eclipse.debug.core.launchConfigurationTypes">
      <launchConfigurationType
            sourceLocatorId="org.eclipse.cdt.debug.core.sourceLocator"
            delegate="org.eclipse.photran.internal.cdtinterface.launch.FortranCDILaunchDelegate"
            public="true"
            sourcePathComputerId="org.eclipse.cdt.debug.core.sourcePathComputer"
            name="%launchConfigurationType.name"
            id="org.eclipse.photran.launch.localCLaunch"
            modes="run,debug">
      </launchConfigurationType>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
      <launchConfigurationTypeImage
            icon="icons/obj16/f_app.gif"
            configTypeID="org.eclipse.photran.launch.localCLaunch"
            id="org.eclipse.photran.launch.localRunLaunchImage">
      </launchConfigurationTypeImage>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            type="org.eclipse.photran.launch.localCLaunch"
            class="org.eclipse.photran.internal.cdtinterface.launch.FortranLocalRunLaunchConfigurationTabGroup"
            id="org.eclipse.photran.launch.localRunLaunchTabGroup">
      </launchConfigurationTabGroup>
   </extension>
   <!-- Fortran Application Launch Shortcut (Run As > Local Fortran Application) -->
   <extension
         point="org.eclipse.debug.ui.launchShortcuts">
      <shortcut
            label="%shortcut.label"
            icon="icons/obj16/f_app.gif"
            modes="run, debug"
            class="org.eclipse.photran.internal.cdtinterface.launch.CApplicationLaunchShortcut"
            id="org.eclipse.photran.debug.ui.localCShortcut">
         <contextualLaunch>
           <enablement>
             <with variable="selection">
               <count value="1"/>
               <iterate>
                   <or>
                     <instanceof value="org.eclipse.cdt.core.model.IBinary"/>
                     <instanceof value="org.eclipse.cdt.core.model.ICProject"/>
                     <test
                           forcePluginActivation="true"
                           property="org.eclipse.cdt.launch.isExecutable"/>
                     <test
                           forcePluginActivation="true"
                           property="org.eclipse.cdt.launch.isCProject"/>
                     <and>
                       <instanceof value="org.eclipse.ui.IFileEditorInput"/>
                       <adapt type="org.eclipse.core.resources.IResource">
                         <adapt type="org.eclipse.cdt.core.model.ICElement"/>
                       </adapt>
                     </and>
                   </or>
               </iterate>
             </with>
           </enablement>
         </contextualLaunch>
         <description
             mode="run"
             description="%description.description"/>
          <description
             mode="debug"
             description="%description.description.0"/>
         <configurationType
               id="org.eclipse.photran.launch.localCLaunch">
         </configurationType>
       </shortcut>
   </extension>

   <!--==============-->
   <!-- CDT UI Clone -->
   <!--==============-->

   <!-- Fortran Perspective -->
   <extension
         point="org.eclipse.ui.perspectives">
      <perspective
            name="%perspective.name"
            icon="icons/etool16/f_pers.gif"
            class="org.eclipse.photran.internal.cdtinterface.ui.FortranPerspectiveFactory"
            id="org.eclipse.photran.ui.FortranPerspective">
      </perspective>
   </extension>
   <extension
         point="org.eclipse.ui.perspectiveExtensions">
      <perspectiveExtension targetID="org.eclipse.photran.ui.FortranPerspective">
         <perspectiveShortcut id="org.eclipse.debug.ui.DebugPerspective"/>
         <perspectiveShortcut id="org.eclipse.team.ui.TeamSynchronizingPerspective"/>
         <view
               id="org.eclipse.cdt.make.ui.views.MakeView"
               relationship="stack"
               relative="org.eclipse.ui.views.ContentOutline"
               visible="true"/>
         <viewShortcut id="org.eclipse.cdt.make.ui.views.MakeView"/>
         <actionSet id="org.eclipse.cdt.make.ui.makeTargetActionSet"/>

	 <!-- Copied from CDT UI for CDT 4.0 -->
         <actionSet id="org.eclipse.debug.ui.launchActionSet"/>
         <actionSet id="org.eclipse.cdt.ui.buildConfigActionSet"/>
         <actionSet id="org.eclipse.cdt.ui.NavigationActionSet"/>
         <actionSet id="org.eclipse.cdt.ui.OpenActionSet"/>
         <actionSet id="org.eclipse.ui.edit.text.actionSet.presentation"/>
         <!--showInPart id="org.eclipse.cdt.ui.includeBrowser"/-->
         <!--showInPart id="org.eclipse.cdt.ui.CView"/-->
         <!--showInPart id="org.eclipse.ui.navigator.ProjectExplorer"/-->
         <viewShortcut id="org.eclipse.ui.navigator.ProjectExplorer"/>
         <viewShortcut id="org.eclipse.cdt.ui.includeBrowser"/>
      </perspectiveExtension>
   </extension>

   <!-- Fortran Projects View -->
   <extension
         point="org.eclipse.ui.views">
      <category
            name="%category.name"
            id="org.eclipse.photran.ui.views">
      </category>
      <view
            name="%view.name"
            icon="icons/etool16/fview.gif"
            category="org.eclipse.photran.ui.views"
            class="org.eclipse.photran.internal.cdtinterface.ui.FortranView"
            id="org.eclipse.photran.ui.FortranView">
      </view>
   </extension>

   <!-- Fortran Wizards -->
   <extension
         point="org.eclipse.ui.newWizards">
      <category
            name="%category.name.0"
            id="org.eclipse.photran.ui.newFortranWizards" />

      <!-- New Fortran Project Wizards -->

      <!-- CDT 4.0 and later -->
       <wizard
             canFinishEarly="false"
             category="org.eclipse.photran.ui.newFortranWizards"
             class="org.eclipse.photran.internal.cdtinterface.ui.FortranProjectWizard"
             finalPerspective="org.eclipse.photran.ui.FortranPerspective"
             hasPages="true"
             icon="icons/etool16/newfortran_app.gif"
             id="org.eclipse.photran.ui.wizards.CDT4FortranProjectWizard"
             name="%wizard.name"
             project="true">
         <description>
             %wizard.description
         </description>
      </wizard>

      <!-- New File Wizards -->
      <wizard
            name="%wizard.name.0"
            icon="icons/etool16/newfortranfile_wiz.gif"
            category="org.eclipse.photran.ui.newFortranWizards"
            finalPerspective="org.eclipse.photran.ui.FortranPerspective"
            id="org.eclipse.photran.ui.wizards.NewSourceFileCreationWizard">
         <class class="org.eclipse.photran.internal.cdtinterface.ui.NewSourceFileCreationWizard">
            <parameter name="cfile" value="true"/>
         </class>
         <description>
            %wizard.description.0
         </description>
      </wizard>
      <wizard
            name="%wizard.name.1"
            icon="icons/etool16/newfile_wiz.gif"
            category="org.eclipse.photran.ui.newFortranWizards"
            finalPerspective="org.eclipse.photran.ui.FortranPerspective"
            id="org.eclipse.photran.ui.wizards.NewFileCreationWizard">
         <class class="org.eclipse.cdt.ui.wizards.NewFileCreationWizard">
            <parameter name="cfile" value="true"/>
         </class>
         <description>
            %wizard.description.1
         </description>
      </wizard>
      <wizard
            name="%wizard.name.2"
            icon="icons/etool16/newsrcfldr_wiz.gif"
            category="org.eclipse.photran.ui.newFortranWizards"
            finalPerspective="org.eclipse.photran.ui.FortranPerspective"
            id="org.eclipse.photran.ui.wizards.NewSourceFolderCreationWizard">
         <class class="org.eclipse.photran.internal.cdtinterface.ui.NewSourceFolderCreationWizard">
            <parameter name="cfolder" value="true"/>
         </class>
         <description>
            %wizard.description.2
         </description>
      </wizard>
      <wizard
            name="%wizard.name.3"
            icon="icons/etool16/newfolder_wiz.gif"
            category="org.eclipse.photran.ui.newFortranWizards"
            finalPerspective="org.eclipse.photran.ui.FortranPerspective"
            id="org.eclipse.photran.ui.wizards.NewFolderCreationWizard">
         <class class="org.eclipse.cdt.ui.wizards.NewFolderCreationWizard">
            <parameter name="cfolder" value="true"/>
         </class>
         <description>
            %wizard.description.3
         </description>
      </wizard>
   </extension>
   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            description="%actionSet.description"
            id="org.eclipse.photran.cdtinterface.FortranElementCreationActionSet"
            label="%actionSet.label"
            visible="false">
         <action
               class="org.eclipse.photran.internal.cdtinterface.ui.NewFileDropDownAction"
               icon="icons/etool16/newfortranfile_wiz.gif"
               id="org.eclipse.photran.cdtinterface.actions.NewFileDropDown"
               label="%action.label"
               style="pulldown"
               toolbarPath="Normal/FortranWizards"
               tooltip="%action.tooltip"/>
         <action
               class="org.eclipse.photran.internal.cdtinterface.ui.NewFolderDropDownAction"
               icon="icons/etool16/newsrcfldr_wiz.gif"
               id="org.eclipse.photran.cdtinterface.actions.NewFolderDropDown"
               label="%action.label.0"
               style="pulldown"
               toolbarPath="Normal/FortranWizards"
               tooltip="%action.tooltip.0"/>
         <action
               class="org.eclipse.photran.internal.cdtinterface.ui.NewProjectDropDownAction"
               icon="icons/etool16/newfortran_app.gif"
               id="org.eclipse.photran.cdtinterface.actions.NewProjectDropDown"
               label="%action.label.1"
               style="pulldown"
               toolbarPath="Normal/FortranWizards"
               tooltip="%action.tooltip.1"/>
      </actionSet>
   </extension>

   <!--====================-->
   <!-- New File Templates -->
   <!--====================-->

   <extension
         point="org.eclipse.ui.editors.templates">
      <!--contextType
            name="%c.contextType.name"
            class="org.eclipse.cdt.internal.corext.template.c.CContextType"
            id="org.eclipse.cdt.ui.text.templates.c">
      </contextType-->
      <include file="templates/fortran-codetemplates.xml" />
   </extension>

   <!--=======================-->
   <!-- New Project Templates -->
   <!--=======================-->

   <extension point="org.eclipse.cdt.core.templates">
      <!-- Templates -->
      <template
            filterPattern=".*"
            id="org.eclipse.photran.projects.EmptyFortranProject"
            location="templates/EmptyFortranProject/template.xml"
            projectType="org.eclipse.cdt.build.makefile.projectType">
      </template>
      <template
            filterPattern=".*"
            id="org.eclipse.photran.projects.HelloWorldFortranProject"
            location="templates/HelloWorldFortranProject/template.xml"
            projectType="org.eclipse.cdt.build.makefile.projectType">
      </template>
      <template
            filterPattern=".*"
            id="org.eclipse.photran.projects.MPIHelloWorldFortranProject"
            location="templates/MPIHelloWorldFortranProject/template.xml"
            projectType="org.eclipse.cdt.build.makefile.projectType">
      </template>
      <template
            filterPattern=".*"
            id="org.eclipse.photran.projects.MPIPiFortranProject"
            location="templates/MPIPiFortranProject/template.xml"
            projectType="org.eclipse.cdt.build.makefile.projectType">
      </template>
   </extension>
   <!-- Custom Process Runners (referenced in template.xml files) -->
   <extension point="org.eclipse.cdt.core.templateProcessTypes">
      <processType
            name="addFortranErrorParsers"
            processRunner="org.eclipse.photran.internal.cdtinterface.templates.AddFortranErrorParsersProcessRunner">
      </processType>
      <processType
            name="addAllBinaryParsers"
            processRunner="org.eclipse.photran.internal.cdtinterface.templates.AddAllBinaryParsersProcessRunner">
      </processType>
   </extension>


   <!--=============================-->
   <!-- ActionSet-part associations -->
   <!--=============================-->
   <extension
         point="org.eclipse.ui.actionSetPartAssociations">
      <actionSetPartAssociation
            targetID="org.eclipse.cdt.ui.SearchActionSet">
         <part id="org.eclipse.photran.ui.FortranView"/>
         <part id="org.eclipse.search.SearchResultView"/>
      </actionSetPartAssociation>
   </extension>

   <!--===============================-->
   <!-- Model Builder Extension Point -->
   <!--===============================-->

   <extension-point id="modelbuilder" name="%extension-point.name" schema="schema/modelbuilder.exsd"/>

   <!--============================-->
   <!-- DOM Parser Extension Point -->
   <!--============================-->

   <extension-point id="domparser" name="%extension-point.name.0" schema="schema/domparser.exsd"/>

   <!--============================================-->
   <!-- Convert C/C++ Projects to Photran Projects -->
   <!--============================================-->
    <extension point="org.eclipse.ui.popupMenus">
      <viewerContribution
         id="org.eclipse.photran.ui.ViewActions"
        targetID="org.eclipse.photran.ui.FortranView">
         <visibility>
            <objectState name="nature" value="org.eclipse.cdt.core.cnature" />
         </visibility>
         <action
            id="org.eclipse.photran.cdtinterface.ui.ProjectConversionAction"
            label="%action.label.2"
            menubarPath="additions"
            icon="icons/obj16/f_file_obj.gif"
            class="org.eclipse.photran.internal.cdtinterface.ui.ProjectConversionAction" />
      </viewerContribution>
      <objectContribution
         id="org.eclipse.photran.ui.ViewActions"
        objectClass="org.eclipse.core.resources.IProject">
        <visibility>
           <and>
               <objectState name="nature" value="org.eclipse.cdt.core.cnature" />
               <not>
                   <objectState name="nature" value="org.eclipse.photran.core.fnature" />
               </not>
           </and>
        </visibility>
        <action
            id="org.eclipse.photran.cdtinterface.ui.ProjectConversionAction"
            label="%action.label.2"
            menubarPath="additions"
            icon="icons/obj16/f_file_obj.gif"
            class="org.eclipse.photran.internal.cdtinterface.ui.ProjectConversionAction" />
      </objectContribution>
   </extension>

  <extension
       point="org.eclipse.ui.navigator.viewer">
    <viewerContentBinding viewerId="org.eclipse.ui.navigator.ProjectExplorer">
       <includes>
          <contentExtension pattern="org.eclipse.photran.ui.navigator.content"/>
       </includes>
    </viewerContentBinding>
  </extension>
  
  <extension
       point="org.eclipse.ui.navigator.navigatorContent">
    <navigatorContent
          activeByDefault="true"
          id="org.eclipse.photran.ui.navigator.content"
          contentProvider="org.eclipse.cdt.internal.ui.navigator.CNavigatorContentProvider"
          labelProvider="org.eclipse.cdt.internal.ui.navigator.CNavigatorLabelProvider"
          name="Fortran Elements"
          priority="high">
         <triggerPoints>
            <or>
               <adapt
                     type="org.eclipse.core.resources.IProject">
                  <test
                        property="org.eclipse.core.resources.projectNature"
                        value="org.eclipse.cdt.core.cnature">
                  </test>
               </adapt>
               <instanceof
                     value="org.eclipse.cdt.ui.CElementGrouping">
               </instanceof>
               <instanceof
                     value="org.eclipse.cdt.core.model.ICElement">
               </instanceof>
               <instanceof
                     value="org.eclipse.core.resources.IResource">
               </instanceof>
            </or>
         </triggerPoints>
         <possibleChildren>
            <or>
               <instanceof
                     value="org.eclipse.core.resources.IResource">
               </instanceof>
               <instanceof
                     value="org.eclipse.cdt.core.model.ICElement">
               </instanceof>
               <instanceof
                     value="org.eclipse.cdt.ui.CElementGrouping">
               </instanceof>
            </or>
         </possibleChildren>
       <override
             policy="InvokeAlwaysRegardlessOfSuppressedExt"
             suppressedExtensionId="org.eclipse.cdt.ui.navigator.content"/>
	   <commonWizard
	         associatedExtensionId="org.eclipse.photran.ui.navigator.content"
	         menuGroupId="org.eclipse.cdt.ui.newProject"
	         type="new"
	         wizardId="org.eclipse.photran.ui.wizards.CDT4FortranProjectWizard">
		 <enablement/>
	   </commonWizard>
	   <commonWizard
	         associatedExtensionId="org.eclipse.photran.ui.navigator.content"
	         menuGroupId="org.eclipse.cdt.ui"
	         type="new"
	         wizardId="org.eclipse.photran.ui.wizards.NewSourceFileCreationWizard">
		 <enablement>
			<or>
				<instanceof value="org.eclipse.cdt.core.model.ICElement" />	
		        <and>
		            <instanceof value="org.eclipse.core.resources.IContainer"/>
		            <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.photran.core.fnature"/>
		        </and>
			</or>
         </enablement>
	   </commonWizard>    
	   <commonWizard
	         associatedExtensionId="org.eclipse.photran.ui.navigator.content"
	         menuGroupId="org.eclipse.cdt.ui"
	         type="new"
	         wizardId="org.eclipse.photran.ui.wizards.NewSourceFolderCreationWizard">
		 <enablement>
			<or>
				<instanceof value="org.eclipse.cdt.core.model.ICElement" />	
		        <and>
		            <instanceof value="org.eclipse.core.resources.IContainer"/>
		            <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.photran.core.fnature"/>
		        </and>
			</or>
         </enablement>
	   </commonWizard>    
	 </navigatorContent>
   </extension>

</plugin>
