<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
   id="org.eclipse.cdt.make.ui"
   name="%pluginName"
   version="2.0.0"
   provider-name="%providerName"
   class="org.eclipse.cdt.make.internal.ui.MakeUIPlugin">

   <runtime>
      <library name="cdtmakeui.jar">
         <export name="*"/>
      </library>
   </runtime>
   <requires>
      <import plugin="org.eclipse.ui.ide"/>
      <import plugin="org.eclipse.ui.views"/>
      <import plugin="org.eclipse.jface.text"/>
      <import plugin="org.eclipse.ui.workbench.texteditor"/>
      <import plugin="org.eclipse.ui.editors"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.ui"/>
      <import plugin="org.eclipse.cdt.core"/>
      <import plugin="org.eclipse.cdt.ui"/>
      <import plugin="org.eclipse.cdt.make.core"/>
      <import plugin="org.eclipse.core.runtime.compatibility"/>
   </requires>


   <extension
         point="org.eclipse.ui.newWizards">
      <wizard
            name="%WizardNewCMakeProject.name"
            icon="icons/ctool16/newc_app.gif"
            category="org.eclipse.cdt.ui.newCWizards"
            class="org.eclipse.cdt.make.ui.wizards.NewMakeCProjectWizard"
            project="true"
            finalPerspective="org.eclipse.cdt.ui.CPerspective"
            id="org.eclipse.cdt.ui.wizards.NewMakeCProjectWizard">
         <description>
            %WizardNewCMakeProject.description
         </description>
      </wizard>
      <wizard
            name="%WizardConvertMakeProject.name"
            icon="icons/ctool16/convert-normal.gif"
            category="org.eclipse.cdt.ui.newCWizards"
            class="org.eclipse.cdt.make.ui.wizards.ConvertToMakeProjectWizard"
            finalPerspective="org.eclipse.cdt.ui.CPerspective"
            id="org.eclipse.cdt.ui.wizards.ConvertToMakeWizard">
         <description>
            %WizardConvertMakeProject.description
         </description>
         <selection
               class="org.eclipse.core.resources.IProject">
         </selection>
      </wizard>
<!-- For C++ Wizards -->
      <wizard
            name="%WizardNewCCMakeProject.name"
            icon="icons/ctool16/newcc_app.gif"
            category="org.eclipse.cdt.ui.newCCWizards"
            class="org.eclipse.cdt.make.ui.wizards.NewMakeCCProjectWizard"
            project="true"
            finalPerspective="org.eclipse.cdt.ui.CPerspective"
            id="org.eclipse.cdt.make.ui.wizards.NewMakeCCProjectWizard">
         <description>
            %WizardNewCCMakeProject.description
         </description>
      </wizard>
      <wizard
            name="%WizardConvertMakeProject.name"
            icon="icons/ctool16/convert-normal.gif"
            category="org.eclipse.cdt.ui.newCCWizards"
            class="org.eclipse.cdt.make.ui.wizards.ConvertToMakeProjectWizard"
            finalPerspective="org.eclipse.cdt.ui.CPerspective"
            id="org.eclipse.cdt.ui.wizards.ConvertToMakeWizard">
         <description>
            %WizardConvertMakeProject.description
         </description>
         <selection
               class="org.eclipse.core.resources.IProject">
         </selection>
      </wizard>
   </extension>
   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.cdt.core.model.ICContainer"
            adaptable="false"
            id="org.eclipse.cdt.make.ui.popupMenu.CViewContribution">
         <action
               label="%ActionMakeCreateTarget.label"
               class="org.eclipse.cdt.make.ui.actions.CreateTargetAction"
               menubarPath="buildGroup"
               enablesFor="1"
               id="org.eclipse.cdt.make.ui.CViewCreateTargetAction">
         </action>
         <action
               label="%ActionMakeBuildTarget.label"
               class="org.eclipse.cdt.make.ui.actions.BuildTargetAction"
               menubarPath="buildGroup"
               enablesFor="1"
               id="org.eclipse.cdt.make.ui.CViewBuildTargetAction">
         </action>
         <filter
               name="projectNature"
               value="org.eclipse.cdt.make.core.makeNature">
         </filter>
      </objectContribution>
      <objectContribution
            objectClass="org.eclipse.cdt.core.model.ITranslationUnit"
            adaptable="false"
            id="org.eclipse.cdt.make.ui.popupMenu.CViewContribution">
         <action
               label="%ActionMakeCreateTarget.label"
               class="org.eclipse.cdt.make.ui.actions.CreateTargetAction"
               menubarPath="buildGroup"
               enablesFor="1"
               id="org.eclipse.cdt.make.ui.CViewCreateTargetAction">
         </action>
         <action
               label="%ActionMakeBuildTarget.label"
               class="org.eclipse.cdt.make.ui.actions.BuildTargetAction"
               menubarPath="buildGroup"
               enablesFor="1"
               id="org.eclipse.cdt.make.ui.CViewBuildTargetAction">
         </action>
         <filter
               name="projectNature"
               value="org.eclipse.cdt.make.core.makeNature">
         </filter>
      </objectContribution>
      <objectContribution
            objectClass="org.eclipse.cdt.core.model.IBinary"
            adaptable="false"
            id="org.eclipse.cdt.make.ui.popupMenu.CViewContribution">
         <action
               label="%ActionMakeCreateTarget.label"
               class="org.eclipse.cdt.make.ui.actions.CreateTargetAction"
               menubarPath="buildGroup"
               enablesFor="1"
               id="org.eclipse.cdt.make.ui.CViewCreateTargetAction">
         </action>
         <action
               label="%ActionMakeBuildTarget.label"
               class="org.eclipse.cdt.make.ui.actions.BuildTargetAction"
               menubarPath="buildGroup"
               enablesFor="1"
               id="org.eclipse.cdt.make.ui.CViewBuildTargetAction">
         </action>
         <filter
               name="projectNature"
               value="org.eclipse.cdt.make.core.makeNature">
         </filter>
      </objectContribution>
      <objectContribution
            objectClass="org.eclipse.cdt.core.model.IArchive"
            adaptable="false"
            id="org.eclipse.cdt.make.ui.popupMenu.CViewContribution">
         <action
               label="%ActionMakeCreateTarget.label"
               class="org.eclipse.cdt.make.ui.actions.CreateTargetAction"
               menubarPath="buildGroup"
               enablesFor="1"
               id="org.eclipse.cdt.make.ui.CViewCreateTargetAction">
         </action>
         <action
               label="%ActionMakeBuildTarget.label"
               class="org.eclipse.cdt.make.ui.actions.BuildTargetAction"
               menubarPath="buildGroup"
               enablesFor="1"
               id="org.eclipse.cdt.make.ui.CViewBuildTargetAction">
         </action>
         <filter
               name="projectNature"
               value="org.eclipse.cdt.make.core.makeNature">
         </filter>
      </objectContribution>
      <objectContribution
            objectClass="org.eclipse.core.resources.IResource"
            adaptable="false"
            id="org.eclipse.cdt.make.ui.popupMenu.NavigatorContribution">
         <action
               label="%ActionMakeBuildTarget.label"
               class="org.eclipse.cdt.make.ui.actions.BuildTargetAction"
               menubarPath="buildGroup"
               enablesFor="1"
               id="org.eclipse.cdt.make.ui.NavigatorBuildTargetAction">
         </action>
         <action
               label="%ActionMakeCreateTarget.label"
               class="org.eclipse.cdt.make.ui.actions.CreateTargetAction"
               menubarPath="buildGroup"
               enablesFor="1"
               id="org.eclipse.cdt.make.ui.CViewCreateTargetAction">
         </action>
         <filter
               name="projectNature"
               value="org.eclipse.cdt.make.core.makeNature">
         </filter>
      </objectContribution>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            name="%CommandTargetBuild.name"
            description="%CommandTargetBuild.description"
            category="org.eclipse.ui.category.project"
            id="org.eclipse.cdt.make.ui.targetBuildCommand">
      </command>
      <command
            name="%CommandTargetCreate.name"
            description="%CommandTargetCreate.description"
            category="org.eclipse.ui.category.project"
            id="org.eclipse.cdt.make.ui.targetCreateCommand">
      </command>
   </extension>
<!-- Makefile Editor keybindings  -->
   <extension
         point="org.eclipse.ui.commands">
      <category
            name="%category.source.name"
            description="%category.source.description"
            id="org.eclipse.cdt.make.ui.category.source">
      </category>
      <scope
            name="%scope.makefileEditor.name"
            parent="org.eclipse.ui.textEditorScope"
            description="%makefileEditor.description"
            id="org.eclipse.cdt.make.ui.makefileEditorScope">
      </scope>
      <command
            name="%ActionDefinition.comment.name"
            description="%ActionDefinition.comment.description"
            category="org.eclipse.cdt.make.ui.category.source"
            id="org.eclipse.cdt.make.ui.edit.text.makefile.comment">
      </command>
      <keyBinding
            string="Ctrl+/"
            scope="org.eclipse.cdt.make.ui.makefileEditorScope"
            command="org.eclipse.cdt.make.ui.edit.text.makefile.comment"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
      <command
            name="%ActionDefinition.uncomment.name"
            description="%ActionDefinition.uncomment.description"
            category="org.eclipse.cdt.make.ui.category.source"
            id="org.eclipse.cdt.make.ui.edit.text.makefile.uncomment">
      </command>
      <keyBinding
            string="Ctrl+\"
            scope="org.eclipse.cdt.make.ui.makefileEditorScope"
            command="org.eclipse.cdt.make.ui.edit.text.makefile.uncomment"
            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
      </keyBinding>
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            name="%PreferenceMakeProject.name"
            category="org.eclipse.cdt.ui.preferences.CPluginPreferencePage"
            class="org.eclipse.cdt.make.internal.ui.preferences.MakePreferencePage"
            id="org.eclipse.cdt.make.ui.preferences.MakePreferencePage">
      </page>
   </extension>
   <extension
         point="org.eclipse.ui.propertyPages">
      <page
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            name="%PropertyMakeProject.name"
            class="org.eclipse.cdt.make.internal.ui.properties.MakePropertyPage"
            id="org.eclipse.cdt.make.ui.properties.MakePropertyPage">
         <filter
               name="nature"
               value="org.eclipse.cdt.make.core.makeNature">
         </filter>
      </page>
   </extension>
   <extension
         point="org.eclipse.ui.views">
      <category
            name="%ViewCatagoryMake.name"
            id="org.eclipse.cdt.make.ui">
      </category>
      <view
            name="%ViewMake.name"
            icon="icons/cview16/make_target.gif"
            category="org.eclipse.cdt.make.ui"
            class="org.eclipse.cdt.make.ui.views.MakeView"
            id="org.eclipse.cdt.make.ui.views.MakeView">
      </view>
   </extension>
   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            label="%ActionSetUpdateMake.label"
            id="org.eclipse.cdt.make.ui.updateActionSet">
         <action
               label="%ActionMakeUpdate.label"
               icon="icons/ctool16/update_old.gif"
               tooltip="%ActionMakeUpdate.tooltip"
               class="org.eclipse.cdt.make.ui.actions.UpdateMakeProjectAction"
               toolbarPath="Normal"
               id="org.eclipse.cdt.make.ui.UpdateMakeAction">
            <enablement>
               <and>
                  <not>
                     <objectState
                           name="projectNature"
                           value="org.eclipse.cdt.make.core.makeNature">
                     </objectState>
                  </not>
                  <objectState
                        name="projectNature"
                        value="org.eclipse.cdt.core.cnature">
                  </objectState>
               </and>
            </enablement>
         </action>
      </actionSet>
      <actionSet
            label="%ActionSetMake.label"
            id="org.eclipse.cdt.make.ui.makeTargetActionSet">
         <action
               definitionId="org.eclipse.cdt.make.ui.targetBuildCommand"
               label="%ActionMakeBuildTarget.label"
               class="org.eclipse.cdt.make.ui.actions.BuildTargetAction"
               menubarPath="project/additions"
               enablesFor="1"
               id="org.eclipse.cdt.make.ui.makeTargetAction">
            <enablement>
               <or>
                  <objectClass
                        name="org.eclipse.core.resources.IContainer">
                  </objectClass>
                  <objectClass
                        name="org.eclipse.cdt.core.model.ICContainer">
                  </objectClass>
               </or>
            </enablement>
         </action>
         <action
               definitionId="org.eclipse.cdt.make.ui.targetCreateCommand"
               label="%ActionMakeCreateTarget.label"
               class="org.eclipse.cdt.make.ui.actions.CreateTargetAction"
               menubarPath="project/additions"
               enablesFor="1"
               id="org.eclipse.cdt.make.ui.createTargetAction">
            <enablement>
               <or>
                  <objectClass
                        name="org.eclipse.core.resources.IContainer">
                  </objectClass>
                  <objectClass
                        name="org.eclipse.cdt.core.model.ICContainer">
                  </objectClass>
               </or>
            </enablement>
         </action>
      </actionSet>
   </extension>
<!-- Makefile Editor comment out for CDT 1.2 -->
<!--extension
         id="org.eclipse.cdt.make.editor"
         name="MakefileEditor"
         point="org.eclipse.ui.editors">
      <editor
            name="Makefile Editor"
            icon="icons/ctool16/makefile.gif"
            filenames="Makefile,makefile"
            contributorClass="org.eclipse.cdt.make.internal.ui.editor.MakefileEditorActionContributor"
            class="org.eclipse.cdt.make.internal.ui.editor.MakefileEditor"
            id="org.eclipse.cdt.make.editor">
      </editor>
   </extension -->
   <extension
         point="org.eclipse.ui.startup">
      <startup>
      </startup>
   </extension>
   <extension
         point="org.eclipse.ui.perspectiveExtensions">
      <perspectiveExtension
            targetID="org.eclipse.cdt.ui.CPerspective">
         <view
               relative="org.eclipse.ui.views.ContentOutline"
               visible="true"
               relationship="stack"
               id="org.eclipse.cdt.make.ui.views.MakeView">
         </view>
         <viewShortcut
               id="org.eclipse.cdt.make.ui.views.MakeView">
         </viewShortcut>
         <actionSet
               id="org.eclipse.cdt.make.ui.makeTargetActionSet">
         </actionSet>
      </perspectiveExtension>
   </extension>

</plugin>
