<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
    Copyright (c) 2023 Willink Transformations and others.
   
    This program and the accompanying materials
    are made available under the terms of the Eclipse Public License 2.0
    which accompanies this distribution, and is available at
    https://www.eclipse.org/legal/epl-2.0/
   
    SPDX-License-Identifier: EPL-2.0
   
    Contributors:
        E.D.Willink - initial API and implementation
 -->

<plugin>
   <extension point="org.eclipse.core.resources.builders"
       id="org.eclipse.qvtd.xtext.qvtbase.ui.qvtdbuilder" name="%QVTdBuilder.name">
     <builder hasNature="true">
        <run class="org.eclipse.qvtd.xtext.qvtbase.ui.builder.QVTdBuilder"/>
        <!--run class="org.eclipse.qvtd.xtext.qvtbase.ui.internal.ExecutableExtensionFactory">
             <parameter name="guicekey" value="org.eclipse.core.resources.IncrementalProjectBuilder"/>
        </run-->
     </builder>
   </extension>
  
    <extension point="org.eclipse.core.resources.markers"
      id="Marker" name="%MF_Problem">
        <super type="org.eclipse.xtext.ui.check.fast"/>
        <persistent value="true"/>
    </extension>

  
   <extension point="org.eclipse.core.resources.natures"
        id="org.eclipse.qvtd.xtext.qvtbase.ui.qvtdnature" name="%QVTdNature.name">
     <runtime>
        <run class="org.eclipse.qvtd.xtext.qvtbase.ui.nature.QVTdNature"/>
     </runtime>
     <builder id="org.eclipse.qvtd.xtext.qvtbase.ui.qvtdbuilder"/>
   </extension>
  
   <extension point="org.eclipse.ui.commands">
     <command id="org.eclipse.qvtd.xtext.qvtbase.ui.AddQVTdNatureCommand"
           categoryId="org.eclipse.ui.category.project"
           name="%QVTdNatureAddCommand.label"/>
     <command id="org.eclipse.qvtd.xtext.qvtbase.ui.RemoveQVTdNatureCommand"
           categoryId="org.eclipse.ui.category.project"
           name="%QVTdNatureRemoveCommand.label"/>
   </extension>
  
   <extension point="org.eclipse.ui.handlers">
      <handler commandId="org.eclipse.qvtd.xtext.qvtbase.ui.AddQVTdNatureCommand"
             class="org.eclipse.qvtd.xtext.qvtbase.ui.commands.ToggleQVTdNatureCommand">
         <activeWhen>
            <iterate operator="or"
                    ifEmpty="false">
                <adapt type="org.eclipse.core.resources.IProject">
                    <not>
                        <test property="org.eclipse.core.resources.projectNature"
                                forcePluginActivation="true"
                                value="org.eclipse.qvtd.xtext.qvtbase.ui.qvtdnature">
                        </test>
                    </not>
                </adapt>
            </iterate>
         </activeWhen>
      </handler>
      <handler commandId="org.eclipse.qvtd.xtext.qvtbase.ui.RemoveQVTdNatureCommand"
             class="org.eclipse.qvtd.xtext.qvtbase.ui.commands.ToggleQVTdNatureCommand">
         <activeWhen>
            <iterate operator="or"
                    ifEmpty="false">
                <adapt type="org.eclipse.core.resources.IProject">
                        <test property="org.eclipse.core.resources.projectNature"
                                forcePluginActivation="true"
                                value="org.eclipse.qvtd.xtext.qvtbase.ui.qvtdnature">
                        </test>
                </adapt>
            </iterate>
         </activeWhen>
      </handler>
   </extension>

  <extension point="org.eclipse.ui.menus">
        <menuContribution locationURI="popup:org.eclipse.ui.projectConfigure?after=additions">
         <command
               commandId="org.eclipse.qvtd.xtext.qvtbase.ui.AddQVTdNatureCommand"
               icon="icons/QVTdModelFile.gif"
               style="push">
            <visibleWhen>
                <iterate operator="or"
                        ifEmpty="false">
                    <adapt type="org.eclipse.core.resources.IProject">
                        <not>
                            <test property="org.eclipse.core.resources.projectNature"
                                forcePluginActivation="true"
                                value="org.eclipse.qvtd.xtext.qvtbase.ui.qvtdnature">
                            </test>
                        </not>
                    </adapt>
                </iterate>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.qvtd.xtext.qvtbase.ui.RemoveQVTdNatureCommand"
               icon="icons/QVTdModelFile.gif"
               style="push">
            <visibleWhen>
                <iterate operator="or"
                        ifEmpty="false">
                    <adapt type="org.eclipse.core.resources.IProject">
	                        <test property="org.eclipse.core.resources.projectNature"
	                            forcePluginActivation="true"
	                            value="org.eclipse.qvtd.xtext.qvtbase.ui.qvtdnature">
	                        </test>
                    </adapt>
                </iterate>
            </visibleWhen>
         </command>
      </menuContribution>
   </extension>
  
   <extension point="org.eclipse.ui.preferencePages">
      <page id="org.eclipse.qvtd.preferences.ProjectPreferencePage"
            name="%MF_QVTd"
            class="org.eclipse.ocl.common.ui.internal.preferences.BlankProjectPreferencePage"/>
      <page id="org.eclipse.qvtd.preferences.SyntaxColoringPreferencePage"
            category="org.eclipse.qvtd.preferences.ProjectPreferencePage"
            name="%MF_SyntaxColoring"
            class="org.eclipse.ocl.common.ui.internal.preferences.BlankProjectPreferencePage"/>
      <page id="org.eclipse.qvtd.preferences.TemplatePreferencePage"
            category="org.eclipse.qvtd.preferences.ProjectPreferencePage"
            name="%MF_Templates"
            class="org.eclipse.ocl.common.ui.internal.preferences.BlankProjectPreferencePage"/>
   </extension>
   <!--extension point="org.eclipse.ui.propertyPages">
      <page id="org.eclipse.qvtd.properties.ProjectPropertyPage"
            name="%MF_QVTd"
            class="org.eclipse.ocl.common.ui.internal.preferences.CommonProjectPreferencePage">
         <enabledWhen>
            <adapt type="org.eclipse.core.resources.IProject"/>
         </enabledWhen>
         <filter name="open" value="true"/>
      </page>
   </extension-->
   <extension point="org.eclipse.sirius.resourceStrategy">
      <resourceStrategy class="org.eclipse.qvtd.xtext.qvtbase.ui.QVTdNotAResourceStrategyImpl"/>
   </extension>
</plugin>
