<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
  Copyright (c) 2007, 2018 THALES GLOBAL SERVICES 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:
       Obeo - Initial API and implementation
-->

<plugin>
   <extension-point id="dialectui" name="%extension-point.dialectUI.name" schema="schema/dialect.ui.exsd"/>
   <extension-point id="featureExtensionsui" name="%extension-point.featureExtensionUI.name" schema="schema/featureExtensions.ui.exsd"/>
   <extension-point id="exportRepresentationsAsImagesExtension" name="%extension-point.exporteAsImages.name" schema="schema/exportRepresentationsAsImagesExtension.exsd"/>
   <extension-point id="assistContentProvider" name="%extension-point.assistContentProvider.name" schema="schema/IAssistContentProvider.exsd"/>
   <extension-point id="resourcelocator" name="%extension-point.resourceLocator.name" schema="schema/resourcelocator.exsd"/>
   <extension-point id="representationTemplateEdit" name="%extension-point.representationTemplateEdit.name" schema="schema/representationTemplateEdit.exsd"/>
   <extension-point id="modelExplorerTabExtension" name="%extension-point.modelExplorerTabExtension.name" schema="schema/modelExplorerTabExtension.exsd"/>
   <extension-point id="uiSessionFactory" name="%extension-point.uiSessionFactory.name" schema="schema/uiSessionFactory.exsd"/>
   <extension-point id="newmodeldependencywizard" name="%extension-point.newmodeldependencywizard.name" schema="schema/newmodeldependencywizard.exsd"/>
   <extension-point id="modelingprojectresourcelistener" name="%extension-point.modelingProjectResourceListener.name" schema="schema/modelingprojectresourcelistener.exsd"/>
   <extension-point id="siriuspropertiescelleditor" name="%extension-point.siriusPropertiesCellEditor.name" schema="schema/siriuspropertiescelleditor.exsd"/>
   <extension-point id="siriusPropertySheetPageProvider" name="%extension-point.siriusPropertySheetPageProvider.name" schema="schema/siriusPropertySheetPageProvider.exsd"/>

   
   <extension point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
      <propertyContributor
            contributorId="org.eclipse.sirius.ui.tools.views.model.explorer"
            labelProvider="org.eclipse.sirius.ui.tools.internal.views.modelexplorer.property.SiriusPropertiesLabelProvider">
         <propertyCategory
               category="default">
         </propertyCategory>
      </propertyContributor>
   </extension>
   
    <extension
         point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
      <propertyTabs
            contributorId="org.eclipse.sirius.ui.tools.views.model.explorer">
         <propertyTab
               category="default"
               id="org.eclipse.sirius.ui.tools.views.model.explorer.tab"
               label="%propertyTab.default.label">
         </propertyTab>
      </propertyTabs>
   </extension>
   
   <extension
         point="org.eclipse.ui.views.properties.tabbed.propertySections">
      <propertySections
            contributorId="org.eclipse.sirius.ui.tools.views.model.explorer">
         <propertySection
               class="org.eclipse.sirius.ui.tools.internal.views.modelexplorer.property.SemanticPropertySection"
               id="org.eclipse.sirius.ui.tools.views.model.explorer.section"
               tab="org.eclipse.sirius.ui.tools.views.model.explorer.tab">
            <input
                  type="org.eclipse.emf.ecore.EObject">
            </input>
            <input
                  type="org.eclipse.sirius.ui.tools.api.views.common.item.ItemWrapper">
            </input>
         </propertySection>
      </propertySections>
   </extension>
   

  <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
    <factory
       uri = "http://www.eclipse.org/sirius/1.1.0"
       class = "org.eclipse.sirius.viewpoint.provider.ViewpointItemProviderAdapterFactory"
       supportedTypes =
         "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
          org.eclipse.emf.edit.provider.IStructuredItemContentProvider
          org.eclipse.emf.edit.provider.ITreeItemContentProvider
          org.eclipse.emf.edit.provider.IItemLabelProvider
          org.eclipse.emf.edit.provider.IItemPropertySource" />
  </extension>


   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <!-- @generated viewpoint -->
      <factory
            uri="http://www.eclipse.org/sirius/description/1.1.0"
            class="org.eclipse.sirius.viewpoint.description.provider.DescriptionItemProviderAdapterFactory"
            supportedTypes=
              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
               org.eclipse.emf.edit.provider.ITreeItemContentProvider
               org.eclipse.emf.edit.provider.IItemLabelProvider
               org.eclipse.emf.edit.provider.IItemPropertySource"/>
   </extension>

   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <!-- @generated viewpoint -->
      <factory
            uri="http://www.eclipse.org/sirius/description/style/1.1.0"
            class="org.eclipse.sirius.viewpoint.description.style.provider.StyleItemProviderAdapterFactory"
            supportedTypes=
              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
               org.eclipse.emf.edit.provider.ITreeItemContentProvider
               org.eclipse.emf.edit.provider.IItemLabelProvider
               org.eclipse.emf.edit.provider.IItemPropertySource"/>
   </extension>

   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <!-- @generated viewpoint -->
      <factory
            uri="http://www.eclipse.org/sirius/description/tool/1.1.0"
            class="org.eclipse.sirius.viewpoint.description.tool.provider.ToolItemProviderAdapterFactory"
            supportedTypes=
              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
               org.eclipse.emf.edit.provider.ITreeItemContentProvider
               org.eclipse.emf.edit.provider.IItemLabelProvider
               org.eclipse.emf.edit.provider.IItemPropertySource"/>
   </extension>

   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <!-- @generated viewpoint -->
      <factory
            uri="http://www.eclipse.org/sirius/description/validation/1.1.0"
            class="org.eclipse.sirius.viewpoint.description.validation.provider.ValidationItemProviderAdapterFactory"
            supportedTypes=
              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
               org.eclipse.emf.edit.provider.ITreeItemContentProvider
               org.eclipse.emf.edit.provider.IItemLabelProvider
               org.eclipse.emf.edit.provider.IItemPropertySource"/>
   </extension>

   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <!-- @generated viewpoint -->
      <factory
            uri="http://www.eclipse.org/sirius/description/audit/1.1.0"
            class="org.eclipse.sirius.viewpoint.description.audit.provider.AuditItemProviderAdapterFactory"
            supportedTypes=
              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
               org.eclipse.emf.edit.provider.ITreeItemContentProvider
               org.eclipse.emf.edit.provider.IItemLabelProvider
               org.eclipse.emf.edit.provider.IItemPropertySource"/>
   </extension>

    <extension
        point="org.eclipse.core.runtime.preferences">
     <initializer
           class="org.eclipse.sirius.ui.business.internal.preference.GenericPreferencesInitializer">
     </initializer>
  </extension>




  <!-- Project creation -->

    
  <extension
        point="org.eclipse.sirius.deleteHook">
     <deleteHook
           class="org.eclipse.sirius.ui.business.api.delete.ConfirmationDialogDeleteHook"
           id="org.eclipse.sirius.ui.confirmationDialog">
     </deleteHook>
  </extension>
  <extension
        point="org.eclipse.ui.commands">
     <category
           id="org.eclipse.sirius.ui.tools.commands"
           name="%category.siriusCommands.name">
     </category>
     <command
           categoryId="org.eclipse.sirius.ui.tools.commands"
           defaultHandler="org.eclipse.sirius.ui.tools.api.control.SiriusControlHandler"
           id="org.eclipse.sirius.ui.tools.controlCommand"
           name="%command.control.name">
     </command>
     <command
           categoryId="org.eclipse.sirius.ui.tools.commands"
           defaultHandler="org.eclipse.sirius.ui.tools.api.control.SiriusUncontrolHandler"
           id="org.eclipse.sirius.ui.tools.uncontrolCommand"
           name="%command.uncontrol.name">
     </command>
  </extension>
    <!-- Standard External Java Actions usable from VSMs. --> 
  <extension point="org.eclipse.sirius.externalJavaAction">
     <javaActions id="org.eclipse.sirius.ui.business.api.action.openHelpSection"
                  actionClass="org.eclipse.sirius.ui.business.api.action.OpenHelpSectionAction" />
  </extension>
  <extension
        point="org.eclipse.sirius.analysisSelectorProvider">
     <provider id = "org.eclipse.sirius.analysisSelectorProvider.default"
           providerClass="org.eclipse.sirius.ui.business.internal.session.analysis.SmartDialogAnalysisSelectorProvider">
     </provider>
  </extension>
  <extension
        point="org.eclipse.ui.navigator.viewer">
     <viewer
           viewerId="org.eclipse.sirius.ui.tools.views.model.explorer">
           <popupMenu
                allowsPlatformContributions="true"
                id="org.eclipse.sirius.ui.tools.views.model.explorer#PopupMenu">
             <insertionPoint name="group.viewpoint.session" separator="true"/>
             <insertionPoint name="group.viewpoint.representation" separator="true"/>
             <insertionPoint name="group.viewpoint.semantic" separator="true"/>
             <insertionPoint name="group.viewpoint" separator="true"/>
             <insertionPoint name="group.new"/>
             <insertionPoint name="group.open" separator="true"/>
             <insertionPoint name="group.openWith"/>   
             <insertionPoint name="group.edit" separator="true"/>   
             <insertionPoint name="group.reorganize" />         
             <insertionPoint name="group.port" separator="true"/>     
             <insertionPoint name="group.build" separator="true"/> 
             <insertionPoint name="group.generate" separator="true"/> 
             <insertionPoint name="group.search" separator="true"/>              
             <insertionPoint name="additions" separator="true"/>              
             <insertionPoint name="group.properties" separator="true"/>
          </popupMenu>
     </viewer>
     <viewerContentBinding
           viewerId="org.eclipse.ui.navigator.ProjectExplorer">
        <includes>
           <contentExtension
                 pattern="org.eclipse.sirius.ui.resource.content.session">
           </contentExtension>
           <contentExtension
                 pattern="org.eclipse.sirius.ui.linkHelper.modeling.explorer.*">
           </contentExtension>
           <contentExtension
                 pattern="org.eclipse.sirius.ui.commonFilter.*">
           </contentExtension>
        </includes>
     </viewerContentBinding>
     <viewerContentBinding
           viewerId="org.eclipse.sirius.ui.tools.views.model.explorer">
        <includes>
           <contentExtension pattern="org.eclipse.sirius.ui.resource.content.session"/>
           <contentExtension pattern="org.eclipse.sirius.ui.linkHelper.modeling.explorer.*"/>
           <contentExtension pattern="org.eclipse.sirius.ui.commonFilter.*"/>
           <contentExtension pattern="org.eclipse.jdt.java.ui.javaContent" />
		   <contentExtension pattern="org.eclipse.jdt.java.ui.filters.*" />	
		   <contentExtension pattern="org.eclipse.jdt.java.ui.javaLinkHelper" />	
		   <contentExtension pattern="org.eclipse.ui.navigator.resourceContent" />		       	      
	       <contentExtension pattern="org.eclipse.ui.navigator.resources.filters.*"/>
           <contentExtension pattern="org.eclipse.ui.navigator.resources.linkHelper"/>
           <contentExtension pattern="org.eclipse.ui.navigator.resources.workingSets"/>
        </includes>
     </viewerContentBinding>
      <viewerActionBinding
            viewerId="org.eclipse.sirius.ui.tools.views.model.explorer">
         <includes>
             <actionExtension pattern="org.eclipse.ui.navigator.resources.*" />
         </includes>
       </viewerActionBinding>
  </extension>
   <extension point="org.eclipse.core.expressions.propertyTesters">
       <propertyTester
           id="org.eclipse.sirius.ui.fileForSessionTester"
           type="org.eclipse.core.resources.IFile"
           namespace="org.eclipse.sirius.ui"
           properties="isFileForSessionTester,isSessionFile,isFileInModelingProject"
           class="org.eclipse.sirius.ui.tools.internal.views.common.FileHandledBySessionTester">
       </propertyTester>
       <propertyTester
      		namespace="org.eclipse.debug.ui"
            properties="matchesContentType, matchesPattern"
            type="org.eclipse.sirius.ui.tools.api.views.common.item.CommonSessionItem"
            class="org.eclipse.sirius.ui.tools.internal.views.common.ResourceExtender"
            id="org.eclipse.sirius.ui.commonItemIResourceExtender">
      </propertyTester>
      <propertyTester
      		namespace="org.eclipse.debug.ui"
            properties="matchesContentType, matchesPattern"
            type="org.eclipse.emf.ecore.EObject"
            class="org.eclipse.sirius.ui.tools.internal.views.common.ResourceExtender"
            id="org.eclipse.sirius.ui.eobjectIResourceExtender">
      </propertyTester>
       <propertyTester
           id="org.eclipse.sirius.ui.SemanticResourceFileTester"
           type="org.eclipse.core.resources.IFile"
           namespace="org.eclipse.sirius.ui"
           properties="isSemanticResourceFileTester"
           class="org.eclipse.sirius.ui.tools.internal.views.common.FileHandledByOpenedSessionTester">
       </propertyTester>
       <propertyTester
             class="org.eclipse.sirius.ui.business.internal.commands.UpdateRepresentationLocationCommandPropertyTester"
             id="org.eclipse.sirius.ui.split.representation.propertyTester"
             namespace="org.eclipse.sirius.ui"
             properties="isContainingAirdFiles"
             type="java.lang.Object">
       </propertyTester>
   </extension>
  <extension
        point="org.eclipse.ui.navigator.navigatorContent">
     <navigatorContent
           activeByDefault="true"
           appearsBefore="org.eclipse.jdt.java.ui.javaContent"
           contentProvider="org.eclipse.sirius.ui.tools.internal.views.common.navigator.SiriusCommonContentProvider"
           icon="icons/obj16/SessionResourceFile.gif"
           id="org.eclipse.sirius.ui.resource.content.session"
           labelProvider="org.eclipse.sirius.ui.tools.internal.views.common.navigator.SiriusCommonLabelProvider"
           name="%navigatorContent.siriusContent.name"
           priority="high"
           providesSaveables="false">
        <commonSorter
              class="org.eclipse.sirius.ui.tools.internal.views.common.navigator.sorter.RepresentationInSemanticSorter"
              id="org.eclipse.sirius.ui.navigatorSorter.representation">
           <parentExpression>
              <or>
                 <instanceof
                       value="org.eclipse.sirius.common.ui.tools.api.navigator.GroupingItem">
                 </instanceof>
                 <instanceof
                       value="org.eclipse.emf.ecore.EObject">
                 </instanceof>
              </or>
           </parentExpression>
        </commonSorter>
        <commonSorter
              class="org.eclipse.sirius.ui.tools.internal.views.common.navigator.sorter.CommonItemSorter"
              id="org.eclipse.sirius.ui.navigatorSorter.item.wrapper">
           <parentExpression>
              <or>
                 <instanceof
                       value="org.eclipse.sirius.ui.tools.api.views.common.item.CommonSessionItem">
                 </instanceof>
                 <instanceof
                       value="org.eclipse.sirius.viewpoint.description.RepresentationDescription">
                 </instanceof>
                 <instanceof
                       value="org.eclipse.core.resources.IFile">
                 </instanceof>
                 <and>
                    <instanceof
                          value="org.eclipse.core.resources.IProject">
                    </instanceof>
                    <test
                          property="org.eclipse.core.resources.projectNature"
                          value="org.eclipse.sirius.nature.modelingproject">
                    </test>
                 </and>
              </or>
           </parentExpression>
        </commonSorter>
        <actionProvider
              class="org.eclipse.sirius.ui.tools.internal.actions.session.OpenCloseSessionActionProvider"
              id="org.eclipse.sirius.ui.openAnalysisActionProvider"
              overrides="org.eclipse.jdt.ui.navigator.actions.OpenActions"
              priority="normal">
           <enablement>
              <and>
                 <instanceof
                       value="org.eclipse.core.resources.IFile">
                 </instanceof>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.core.resources.extension"
                       value="aird">
                 </test>
              </and>
           </enablement>
        </actionProvider>
        <actionProvider
              class="org.eclipse.sirius.ui.tools.internal.views.common.navigator.ManageSessionActionProvider"
              id="org.eclipse.sirius.ui.sessionManagementActionProvider"
              priority="normal">
           <enablement>
              <or>
                 <instanceof
                       value="org.eclipse.emf.ecore.EObject">
                 </instanceof>
                 <instanceof
                       value="org.eclipse.emf.ecore.resource.Resource">
                 </instanceof>
                 <instanceof
                       value="org.eclipse.sirius.ui.tools.api.views.common.item.CommonSessionItem">
                 </instanceof>
                 <instanceof
                       value="org.eclipse.core.resources.IFile">
                 </instanceof>
                 <instanceof
                       value="org.eclipse.core.resources.IProject">
                 </instanceof>
              </or>
           </enablement>
        </actionProvider>
        <possibleChildren>
           <or>
              <instanceof
                    value="org.eclipse.sirius.ui.tools.api.views.common.item.CommonSessionItem">
              </instanceof>
              <instanceof
                    value="org.eclipse.emf.ecore.EObject">
              </instanceof>
              <instanceof
                    value="org.eclipse.emf.ecore.resource.Resource">
              </instanceof>
              <adapt type="org.eclipse.core.resources.IProject">
                 <test
                       property="org.eclipse.core.resources.projectNature"
                       value="org.eclipse.sirius.nature.modelingproject">
                 </test>
              </adapt>
              <and>
                 <instanceof value="org.eclipse.core.resources.IFile"/>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.sirius.ui.isFileForSessionTester">
                 </test>
              </and>
              <and>
                 <not>
                    <adapt type="org.eclipse.core.resources.IProject">
                       <test
                             property="org.eclipse.core.resources.projectNature"
                             value="org.eclipse.sirius.nature.modelingproject">
                       </test>
                    </adapt>
                 </not>
                 <instanceof value="org.eclipse.core.resources.IFile"/>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.sirius.ui.isSemanticResourceFileTester">
                 </test>
              </and>
           </or>
        </possibleChildren>
        <triggerPoints>
           <or>
              <and>
                 <instanceof value="org.eclipse.core.resources.IFile"/>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.sirius.ui.isFileForSessionTester">
                 </test>
              </and>
              <adapt type="org.eclipse.core.resources.IProject" >
                 <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.sirius.nature.modelingproject"/>
              </adapt>
              <and>
                 <not>
                    <adapt type="org.eclipse.core.resources.IProject">
                       <test
                             property="org.eclipse.core.resources.projectNature"
                             value="org.eclipse.sirius.nature.modelingproject">
                       </test>
                    </adapt>
                 </not>
                 <instanceof value="org.eclipse.core.resources.IFile"/>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.sirius.ui.isSemanticResourceFileTester">
                 </test>
              </and>
           </or>
        </triggerPoints>
     </navigatorContent>
     <commonWizard
           menuGroupId="org.eclipse.sirius.category"
           type="new"
           wizardId="org.eclipse.sirius.ui.modelingproject.wizard">
        <enablement></enablement>
     </commonWizard>
     <commonWizard
           type="new"
           wizardId="org.eclipse.sirius.ui.session.creation">
        <enablement>
           <and>
              <instanceof
                    value="org.eclipse.core.resources.IResource">
              </instanceof>
              <not>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.core.resources.projectNature"
                       value="org.eclipse.sirius.nature.modelingproject">
                 </test>
              </not>
           </and>
        </enablement>
     </commonWizard> 
    <commonFilter
           description="%commonFilter.representationPerResource.description"
           id="org.eclipse.sirius.ui.commonFilter.resourceFolderItem"
           name="%commonFilter.representationPerResource.name">
        <filterExpression>
           <instanceof
                 value="org.eclipse.sirius.ui.tools.api.views.common.item.ResourcesFolderItem">
           </instanceof>
        </filterExpression>
     </commonFilter>
     <commonFilter
           description="%commonFilter.representationPerCategory.description"
           id="org.eclipse.sirius.ui.commonFilter.viewpointFolderItem"
           name="%commonFilter.representationPerCategory.name">
        <filterExpression>
           <instanceof
                 value="org.eclipse.sirius.ui.tools.api.views.common.item.ViewpointsFolderItem">
           </instanceof>
        </filterExpression>
     </commonFilter>
     <commonFilter
           class="org.eclipse.sirius.ui.tools.internal.views.common.navigator.filter.RepresentationInSemanticNodeCommonFilter"
           description="%commonFilter.representations.description"
           id="org.eclipse.sirius.ui.commonFilter.representation"
           name="%commonFilter.representations.name">
     </commonFilter>
     <commonFilter
           activeByDefault="true"
           class="org.eclipse.sirius.ui.tools.internal.views.common.navigator.filter.RepresentationDescriptionWithoutRepresentationCommonFilter"
           description="%commonFilter.emptyRepresentationType.description"
           id="org.eclipse.sirius.ui.commonFilter.representation.description"
           name="%commonFilter.emptyRepresentationType.name">
     </commonFilter>
     <commonFilter
           activeByDefault="true"
           class="org.eclipse.sirius.ui.tools.internal.views.common.navigator.filter.PatternFilter"
           description="%commonFilter.patternFilter.description"
           id="org.eclipse.sirius.ui.commonFilter.pattern"
           name="%commonFilter.patternFilter.name"
           visibleInUI="false">
     </commonFilter>
     <commonFilter
           activeByDefault="false"
           class="org.eclipse.sirius.ui.tools.internal.views.common.navigator.filter.InvalidRepresentationCommonFilter"
           description="%commonFilter.invalidRepresentations.description"
           id="org.eclipse.sirius.ui.commonFilter.invalidRepresentation"
           name="%commonFilter.invalidRepresentations.name">
     </commonFilter>
  </extension>
  <extension
        point="org.eclipse.ui.navigator.linkHelper">
     <linkHelper
           class="org.eclipse.sirius.ui.tools.internal.views.common.navigator.SessionLinkHelper"
           id="org.eclipse.sirius.ui.linkHelper.modeling.explorer.default">
        <editorInputEnablement>
           <instanceof
                 value="org.eclipse.emf.common.ui.URIEditorInput">
           </instanceof>
        </editorInputEnablement>
        <selectionEnablement>
           <or>
              <instanceof
                    value="org.eclipse.emf.ecore.EObject">
              </instanceof>
              <instanceof
                    value="org.eclipse.sirius.ui.tools.internal.views.common.item.RepresentationItemImpl">
              </instanceof>
           </or>
        </selectionEnablement>
     </linkHelper>
  </extension>
  <extension
        point="org.eclipse.ui.ide.projectNatureImages">
     <image
           icon="icons/full/ovr16/viewpoint_prj_ovr.gif"
           id="org.eclipse.sirius.ui.nature.image.modelingProject"
           natureId="org.eclipse.sirius.nature.modelingproject">
     </image>
  </extension>
  
   <extension point="org.eclipse.ui.editors">
      <editor
            class="org.eclipse.ui.editors.text.TextEditor"
            default="false"
            extensions="aird"
            icon="icons/obj16/SiriusFile.gif"
            id="org.eclipse.sirius.ui.fakeeditoronlyforicon"
            name="%editor.textEditor.name">
      </editor>
   </extension>
     
    <!-- Model content tab wrapper
  <extension
        point="org.eclipse.sirius.ui.modelExplorerTabExtension">
     <modelExplorerTabExtension
           class="org.eclipse.sirius.ui.tools.internal.views.sessionview.OpenedSessionsTab"
           icon="icons/obj16/SessionResourceFile.gif"
           id="org.eclipse.sirius.ui.extension.tab.modelcontent">
     </modelExplorerTabExtension>
  </extension> 
     -->   

  <extension
         point="org.eclipse.ui.commands">
	<command
	        categoryId="org.eclipse.ui.category.file"
	        defaultHandler="org.eclipse.sirius.ui.tools.internal.actions.nature.ModelingToggleNatureAction"
	        id="org.eclipse.sirius.ui.tools.internal.actions.nature.addRemoveNatureCommand"
	        name="%_UI_ModelingProjectWizard_label">
	</command>
	</extension>
   
   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <!-- @generated contribution -->
      <factory
            uri="http://www.eclipse.org/sirius/description/contribution/1.0.0"
            class="org.eclipse.sirius.description.contribution.provider.ContributionItemProviderAdapterFactory"
            supportedTypes=
              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
               org.eclipse.emf.edit.provider.ITreeItemContentProvider
               org.eclipse.emf.edit.provider.IItemLabelProvider
               org.eclipse.emf.edit.provider.IItemPropertySource"/>
   </extension>
 <extension
       point="org.eclipse.ui.menus">
 <menuContribution
       locationURI="popup:org.eclipse.ui.popup.any?after=additions">
    <command
          commandId="org.eclipse.sirius.ui.splitrepresentations.command"
          label="%command.update.rep.location.label"
          style="push">
       <visibleWhen>
          <iterate
                ifEmpty="false"
                operator="and">
             <and>
                <instanceof
                      value="org.eclipse.core.resources.IResource">
                </instanceof>
                <test
                      forcePluginActivation="true"
                      property="org.eclipse.sirius.ui.isContainingAirdFiles">
                </test>
             </and>
          </iterate>
       </visibleWhen>
    </command>
 </menuContribution>
 </extension>
 
  <extension
        point="org.eclipse.ui.commands">
     <command
           defaultHandler="org.eclipse.sirius.ui.business.internal.commands.UpdateRepresentationsLocationHandler"
           id="org.eclipse.sirius.ui.splitrepresentations.command"
           name="%command.update.rep.location.name">
     </command>
  </extension>
  
   <extension
		point="org.eclipse.ui.ide.markerResolution">
		<markerResolutionGenerator class="org.eclipse.sirius.ui.business.internal.quickfix.CreateMissingRepresentationFileResolution" 
			markerType="org.eclipse.sirius.modelingMarker">
		</markerResolutionGenerator>
	</extension>
</plugin>
