<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension
         id="product"
         name="C/C++ IDE"
         point="org.eclipse.core.runtime.products">
      <product
            application="org.eclipse.ui.ide.workbench"
            name="Eclipse IDE">
         <property
               name="preferenceCustomization"
               value="plugin_customization.ini">
         </property>
         <property
               name="appName"
               value="Eclipse">
         </property>
         <property
               name="aboutText"
               value="Eclipse IDE for C/C++ Developers (includes Incubating components)&#x0A;&#x0A;Version: {1}&#x0A;Build id: {0}&#x0A;(c) Copyright Eclipse contributors and others 2000, 2022.  All rights reserved. Eclipse and the Eclipse logo are trademarks of the Eclipse Foundation, Inc., https://www.eclipse.org/. The Eclipse logo cannot be altered without Eclipse's permission. Eclipse logos are provided for use under the Eclipse logo and trademark guidelines, https://www.eclipse.org/logotm/. Oracle and Java are trademarks or registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.&#x0A;&#x0A;This product includes software developed by other open source projects including the Apache Software Foundation, https://www.apache.org/.&#x0A;">
         </property>
         <property
               name="startupForegroundColor"
               value="ffffff">
         </property>
         <property
               name="startupMessageRect"
               value="7,265,320,20">
         </property>
         <property
               name="startupProgressRect"
               value="2,290,448,10">
         </property>
         <property
               name="aboutImage"
               value="eclipse_lg.png">
         </property>
         <property
               name="windowImages"
               value="eclipse16.png,eclipse32.png,eclipse48.png,eclipse256.png">
         </property>
         <property
              name="introBrandingImage"
              value="product:intro-eclipse.svg">
         </property>
         <property
               name="introTitle"
               value="Welcome to the Eclipse IDE for C/C++ Developers">
         </property>
         <property
               name="introBrandingImageText"
               value="Eclipse Project">
         </property>
         <property
               name="applicationXMI"
               value="org.eclipse.platform/LegacyIDE.e4xmi">
         </property>
         <property 
               name="cssTheme"
               value="org.eclipse.e4.ui.css.theme.e4_default">
         </property>
         <property
               name="applicationCSSResources" 
               value="platform:/plugin/org.eclipse.ui.themes/images/"> 
         </property>
         <property
               name="buildIdLocation"
               value="0,220">
         </property>
         <property
               name="buildIdSize"
               value="293,40">
         </property>
      </product>
   </extension>
   <extension
         point="org.eclipse.ui.intro">
      <introProductBinding
            introId="org.eclipse.ui.intro.universal"
            productId="org.eclipse.epp.package.cpp.product">
      </introProductBinding>
   </extension>

   <extension
         point="org.eclipse.ui.intro.quicklinks">
      <url
            location="http://org.eclipse.ui.intro/showStandby?partId=org.eclipse.platform.cheatsheet&amp;input=org.eclipse.cdt-doc.cheatsheet.cdt_import_project"
            label="%ql.cheatcheet.import.label"
            description="%ql.cheatcheet.import.description"
            icon="platform:/plugin/org.eclipse.ui.intro.universal/themes/solstice/graphics/icons/ctool/start-cheatsheet.png"
            importance="high">
      </url>
      <command
            id="org.eclipse.ui.newWizard(newWizardId=org.eclipse.cdt.ui.wizard.project)"
            description="%ql.newCCPPProject.description"
            label="%ql.newCCPPProject.label"
            importance="medium"
            resolution="launchbar">
      </command>
      <command
            id="org.eclipse.ui.newWizard(newWizardId=org.eclipse.cdt.ui.wizards.NewMakeFromExisting)"
            label="%ql.importMakefile.label">
      </command>
      <command
            id="org.eclipse.ui.file.import(importWizardId=org.eclipse.egit.ui.internal.clone.GitCloneWizard)"
            description="%ql.checkoutGitProject.description"
            icon="platform:/plugin/org.eclipse.ui.intro.universal/themes/solstice/graphics/icons/ctool/egit-checkout.png"
            label="%ql.checkoutGitProject.label"
            importance="medium"
            resolution="launchbar">
      </command>
      <command
            id="org.eclipse.ui.file.import(importWizardId=org.eclipse.ui.wizards.import.ExternalProject)"
            description="%ql.importExistingProjects.description"
            icon="platform:/plugin/org.eclipse.ui.intro.universal/themes/solstice/graphics/icons/ctool/import-existing-project.png"
            label="%ql.importExistingProjects.label"
            resolution="launchbar">
      </command>
      <command
            id="org.eclipse.ui.edit.text.openLocalFile"
            description="%ql.openExistingFile.description"
            icon="platform:/plugin/org.eclipse.ui.intro.universal/themes/solstice/graphics/icons/ctool/open-file.png"
            importance="low"
            label="%ql.openExistingFile.label"
            resolution="launchbar">
      </command>
      <command
            id="org.eclipse.oomph.setup.ui.questionnaire"
            importance="high"
            icon="platform:/plugin/org.eclipse.ui.intro.universal/themes/solstice/graphics/icons/ctool/settings.png"
            label="%ql.setupQuestionnaire.label">
      </command>
      <override
            command="org.eclipse.ui.newWizard*"
            icon="platform:/plugin/org.eclipse.ui.intro.universal/themes/solstice/graphics/icons/ctool/new-project.png"
            theme="org.eclipse.ui.intro.universal.solstice">
      </override>
      <command
            id="org.eclipse.epp.mpc.ui.command.showMarketplaceWizard(trigger=welcome)"
            label="%ql.mpc.label"
            description="%ql.mpc.description"
            icon="platform:/plugin/org.eclipse.epp.mpc.ui/intro/css/marketplace.png">
      </command>
   </extension>
</plugin>
