<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
   <!--==========================================-->
   <!-- Free Form and Fixed Form Fortran Editors -->   
   <!--==========================================-->
   <extension
         point="org.eclipse.ui.editors"
         id="org.eclipse.photran.ui.FortranEditor">
         
      <editor
            default="true"
            name="%editor.name"
            icon="icons/full/obj16/f_file_obj.gif"
            class="org.eclipse.photran.internal.ui.editor.FortranEditor"
            contributorClass="org.eclipse.ui.texteditor.BasicTextEditorActionContributor"
            id="org.eclipse.photran.ui.FortranEditor">
         <contentTypeBinding
              contentTypeId="org.eclipse.photran.core.fortranSource" />
      </editor>
   </extension>
   
   <!-- Define a Fortran Editor context -->   
   <extension
            point="org.eclipse.ui.contexts">
          <context
            name="%context.name"
            parentId="org.eclipse.ui.textEditorScope"
            id="org.eclipse.photran.ui.FortranEditorContext">
       </context>
   </extension>

   <!-- Commands, key bindings, and popup menu entries
   
        - Build Project (Ctrl+Shift+B)
        - Comment/Uncomment (Ctrl+/)
        
        Each command should have its ID declared as a constant in AbstractFortranEditor, and
        it must be set up in AbstractFortranEditor#createActions().
        
        For menubarPath, see class ITextEditorActionConstants -->

   <!-- Provide a key binding for the "Build Project" command in the Fortran editor
        (command ID from org.eclipse.ui.IWorkbenchCommandConstants) -->
   <extension
         point="org.eclipse.ui.bindings">
     <key
            sequence="M1+M2+B"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            contextId="org.eclipse.photran.ui.FortranEditorContext"
            commandId="org.eclipse.ui.project.buildProject"
     />
   </extension>

   <extension point="org.eclipse.ui.popupMenus">
	  <viewerContribution 
	        targetID="#FortranEditorContextMenu" 
	        id="org.eclipse.photran.ui.FixedBlockCommentEditorContribution">
	     <action 
	           label="%action.label" 
               definitionId="org.eclipse.photran.ui.CommentCommand"
	           class="org.eclipse.photran.internal.ui.actions.FortranBlockCommentActionDelegate" 
	           menubarPath="group.edit" 
	           id="org.eclipse.photran.ui.BlockCommentMenuAction"/>
	  </viewerContribution>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <category
            name="%category.name"
            description="%category.description"
            id="org.eclipse.photran.ui.SourceEditingCategory">
      </category>
      <command
            categoryId="org.eclipse.photran.ui.SourceEditingCategory"
            description="%command.description"
            id="org.eclipse.photran.ui.CommentCommand"
            name="%command.name">
      </command>
   </extension>
   <extension point="org.eclipse.ui.actionSets">
      <actionSet
            label="%actionSet.label"
            description="%actionSet.description"
            visible="false"
            id="org.eclipse.photran.ui.CommentUncomment">
	     <action 
	           label="%action.label.0" 
               menubarPath="org.eclipse.jdt.ui.source.menu/commentGroup"
               definitionId="org.eclipse.photran.ui.CommentCommand"
	           class="org.eclipse.photran.internal.ui.actions.FortranBlockCommentActionDelegate" 
	           id="org.eclipse.photran.ui.BlockCommentAction">
	     </action>
      </actionSet>
   </extension>
   <extension
         point="org.eclipse.ui.actionSetPartAssociations">
      <actionSetPartAssociation targetID="org.eclipse.photran.ui.CommentUncomment">
         <part id="org.eclipse.photran.ui.FortranEditor"/>
      </actionSetPartAssociation>
   </extension>
   <extension
            point="org.eclipse.ui.bindings">
      <!--  win32:  M1=CTRL,    M2=SHIFT, M3=ALT, M4=-
            carbon: M1=COMMAND, M2=SHIFT, M3=ALT, M4=CTRL -->
        <key
            sequence="M1+/"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            contextId="org.eclipse.photran.ui.FortranEditorContext"
            commandId="org.eclipse.photran.ui.CommentCommand"/>
        <key
            sequence="M1+M2+/"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            contextId="org.eclipse.photran.ui.FortranEditorContext"
            commandId="org.eclipse.photran.ui.CommentCommand"/>
   </extension>

   <!-- Define toggling a breakpoint as the default double-click action -->
   <extension
         point="org.eclipse.ui.editorActions">
      <editorContribution
            targetID="org.eclipse.photran.ui.FortranEditor"
            id="org.eclipse.photran.ui.BreakpointRulerAction">
         <action
               label="%action.label.1"
               class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
               actionID="RulerDoubleClick"
               id="org.eclipse.cdt.debug.ui.CEditor.RulerTobbleBreakpointAction">
         </action>
      </editorContribution>
   </extension>
   <!-- Enable CDT breakpoint toggle for Photran's editors and model elements -->
   <extension point="org.eclipse.debug.ui.toggleBreakpointsTargetFactories">
      <toggleTargetFactory
            id="ToggleFortranBreakpointsTargetFactory"
            class="org.eclipse.photran.internal.cdtinterface.ui.editor.CDTToggleBreakpointsTargetFactory">
            <enablement>
            <or>
               <instanceof value="org.eclipse.photran.internal.ui.editor.FortranEditor"/>
            </or>
         </enablement>
      </toggleTargetFactory>
   </extension>
   <!-- Also support PTP parallel breakpoints -->
   <!--extension point="org.eclipse.core.runtime.adapters">
      <factory 
            class="org.eclipse.ptp.debug.internal.ui.actions.RetargettableActionAdapterFactory"
            adaptableType="org.eclipse.photran.internal.ui.editor.FortranEditor">
            <adapter
                type="org.eclipse.debug.ui.actions.IToggleBreakpointsTarget">
            </adapter>
            <adapter
                type="org.eclipse.debug.ui.actions.IRunToLineTarget">
            </adapter>
      </factory>
   </extension-->
   
   <!--=============================-->
   <!-- ActionSet-part associations -->
   <!--=============================-->
   <extension
         point="org.eclipse.ui.actionSetPartAssociations">
      <actionSetPartAssociation
            targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
         <part id="org.eclipse.photran.ui.FortranEditor"/>
      </actionSetPartAssociation>      
   </extension>

   <!--=============-->
   <!-- Source Menu -->
   <!--=============-->
   <extension point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="menu:org.eclipse.ui.main.menu?after=edit">
         <menu
               label="&amp;Source"
               id="org.eclipse.jdt.ui.source.menu">
            <visibleWhen checkEnabled="false">
               <iterate operator="or">
                   <adapt type="org.eclipse.jface.text.ITextSelection" />
               </iterate>
            </visibleWhen>
         <!-- Menu mimicks org.eclipse.jdt.ui's (as does CDT's Refactor menu)
              http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.ui/plugin.xml?view=markup -->
            <separator name="commentGroup" />
            <separator name="editGroup" />
            <command
                  commandId="org.eclipse.ui.edit.text.shiftRight"
                  disabledIcon="icons/dlcl16/shift_r_edit.gif"
                  icon="icons/elcl16/shift_r_edit.gif"
                  label="&amp;Shift Right"
                  style="push">
            </command>
            <command
                  commandId="org.eclipse.ui.edit.text.shiftLeft"
                  disabledIcon="icons/dlcl16/shift_l_edit.gif"
                  icon="icons/elcl16/shift_l_edit.gif"
                  label="S&amp;hift Left"
                  style="push">
            </command>
            <separator name="importGroup" />
            <separator name="generateGroup" />
            <separator name="codeGroup" />
            <separator name="externalizeGroup" />
            <separator name="convertGroup" />
            <separator name="additions" />
         </menu>
      </menuContribution>
   </extension>

   <!--========================-->
   <!-- Fortran code templates -->
   <!--========================-->
   <extension point="org.eclipse.ui.editors.templates">
      <contextType
         name="Fortran"
         class="org.eclipse.photran.internal.ui.editor.FortranTemplateContext"
         id="org.eclipse.photran.ui.template.context" />
      <include
         file="templates/defaults.xml" />
   </extension>

   <!--===================================-->
   <!-- Fortran-specific preference pages -->
   <!--===================================-->
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            name="%page.name"
            class="org.eclipse.photran.internal.ui.preferences.MainFortranPreferencePage"
            id="org.eclipse.photran.ui.MainFortranPreferencePage">
      </page>
      <page
            name="%page.name.0"
            category="org.eclipse.photran.ui.MainFortranPreferencePage"
            class="org.eclipse.photran.internal.ui.preferences.EditorPreferencePage"
            id="org.eclipse.photran.ui.FortranEditorPreferencePage">
      </page>
      <page
            name="%page.name.1"
            category="org.eclipse.photran.ui.MainFortranPreferencePage"
            class="org.eclipse.photran.internal.ui.preferences.CDTFortranPreferencePage"
            id="org.eclipse.photran.ui.CDTFortranPreferencePage">
      </page>
      <page
            name="Templates"
            category="org.eclipse.photran.ui.MainFortranPreferencePage"
            class="org.eclipse.photran.internal.ui.preferences.FortranTemplatesPreferencePage"
            id="org.eclipse.photran.ui.FortranTemplatesPreferencePage">
      </page>
   </extension>

   <!--=========================================-->
   <!-- Fortran-specific project property pages -->
   <!--=========================================-->
   <extension
         point="org.eclipse.ui.propertyPages">
      <page
            class="org.eclipse.photran.internal.ui.properties.Page_head_general"
            id="org.eclipse.photran.ui.newui.Page_head_general"
            name="%page.name.2"
            >
         <!--filter
               name="projectNature"
               value="org.eclipse.cdt.core.cnature">
         </filter-->
         <filter
               name="projectNature"
               value="org.eclipse.photran.core.fnature">
         </filter>
         <enabledWhen>
             <adapt
                   type="org.eclipse.core.resources.IProject">
             </adapt>
         </enabledWhen>
      </page>
      <page
            name="%page.name.3"
            class="org.eclipse.photran.internal.ui.properties.SourceFormPropertyPage"
            id="org.eclipse.photran.ui.SourceFormPropertyPage"
            category="org.eclipse.photran.ui.newui.Page_head_general">
         <filter
               name="projectNature"
               value="org.eclipse.photran.core.fnature">
         </filter>
         <enabledWhen>
             <adapt
                   type="org.eclipse.core.resources.IProject">
             </adapt>
         </enabledWhen>
      </page>
   </extension>

   <!--=============================================-->
   <!-- Source Viewer Configuration Extension Point -->
   <!--=============================================-->
   <extension-point
      id="sourceViewerConfig"
      name="%source-viewer-config-extension-point.name"
      schema="schema/sourceViewerConfig.exsd"/>

   <!--=============================================-->
   <!-- API Help Provider Extension Point -->
   <!--=============================================-->
   <extension-point
      id="apiHelpProvider"
      name="%api-help-provider-extension-point.name"
      schema="schema/apiHelpProvider.exsd"/>

   <!--==============================================-->
   <!-- Image Associated with Fortran Project Nature -->
   <!--==============================================-->
   <extension
         point="org.eclipse.ui.ide.projectNatureImages">
      <image
            icon="icons/full/obj16/f_ovr.gif"
            natureId="org.eclipse.photran.core.fnature"
            id="org.eclipse.photran.ui.fProjectNatureImage">
      </image>
   </extension>

   <!--==============-->
   <!-- Welcome Page -->
   <!--==============-->

   <!--Intro Overview page addition -->
   <extension
         point="org.eclipse.ui.intro.configExtension">
      <configExtension
            content="intro/overviewContent.xml"
            configId="org.eclipse.ui.intro.universalConfig">
      </configExtension>
   </extension>

   <!-- Show the release notes in a Web browser on first load -->
   <!--extension point="org.eclipse.ui.startup">
     <startup class="org.eclipse.photran.internal.ui.startup.ShowReleaseNotes" />
  </extension-->

</plugin>
