<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<!--
    Copyright (c) 2008, 2009 Obeo.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v1.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v10.html
   
    Contributors:
        Obeo - initial API and implementation
 -->

<plugin>

   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <factory
            uri="http://www.eclipse.org/emf/eef/components/1.0.0"
            class="org.eclipse.emf.eef.components.provider.ComponentsItemProviderAdapterFactory"
            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.childCreationExtenders">
      <extender
            uri="http://www.eclipse.org/emf/eef/mapping/1.0.0"
            class="org.eclipse.emf.eef.components.provider.ComponentsItemProviderAdapterFactory$MappingChildCreationExtender"/>
   </extension>
    <extension point="org.eclipse.emf.ecore.extension_parser">
      <parser
            class="org.eclipse.emf.eef.components.resources.ComponentsResourceFactory"
            type="components"/>
    </extension>

   <!-- Added constraints on components -->
   <extension
         point="org.eclipse.emf.validation.constraintProviders">
      <category
            name="EEF Constraints"
            id="org.eclipse.emf.eef.validation"/>
      <constraintProvider cache="true">
         <package namespaceUri="http://www.eclipse.org/emf/eef/components/1.0.0"/>
         <constraints categories="org.eclipse.emf.eef.validation">
            <constraint
                  lang="Java"
                  class="org.eclipse.emf.eef.components.validation.BadReferencedEditorConstraint"
                  severity="ERROR"
                  mode="Batch"
                  name="Bad Referenced Element Editor"
                  id="org.eclipse.emf.eef.views.validation.badrefeditorviews"
                  statusCode="1">
               <description>
                  All element editor referenced in a properties edition element must be child of views mapped by the properties edition component ...
               </description>
               <message>
                  The element editor {0} is not a child of the views mapped by the properties edition element {1}.
               </message>
               <target class="PropertiesEditionElement"/>
            </constraint>
         </constraints>
      </constraintProvider>
      </extension>
      
 <!-- EEF extensions (modified: ComponentsCustomPropertiesEditionPartProvider) -->
   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <factory
            uri="http://www.eclipse.org/emf/eef/components/1.0.0"
            class="org.eclipse.emf.eef.components.providers.ComponentsEEFAdapterFactory"
            supportedTypes="org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider"/>
   </extension>
   <extension
         point="org.eclipse.emf.eef.runtime.PropertiesEditionPartProvider">
      <PropertiesEditionPartProvider
            providerClass="org.eclipse.emf.eef.components.providers.ComponentsCustomPropertiesEditionPartProvider">
      </PropertiesEditionPartProvider>
   </extension>

  <!-- Tabbed properties views extension -->
   <extension
         point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
      <propertyContributor
            contributorId="org.eclipse.emf.eef.properties"
            labelProvider="org.eclipse.emf.eef.runtime.ui.utils.EEFLabelProvider">
         <propertyCategory
               category="default">
         </propertyCategory>
         <propertyCategory
               category="extended">
         </propertyCategory>
         <propertyCategory
               category="advanced">
         </propertyCategory>
      </propertyContributor>
   </extension>
   <extension
         point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
      <propertyTabs
            contributorId="org.eclipse.emf.eef.properties">
         <propertyTab
               id="Base"
               label="Base"
               category="default">
         </propertyTab>

         <propertyTab
               id="Documentation"
               label="Documentation"
               category="extended"
               afterTab="Base">
         </propertyTab>

      </propertyTabs>
   </extension>
   <extension
         point="org.eclipse.ui.views.properties.tabbed.propertySections">
      <propertySections
            contributorId="org.eclipse.emf.eef.properties">
         <propertySection
               class="org.eclipse.emf.eef.components.parts.forms.PropertiesEditionContextPropertiesEditionPartForm"
			   filter="org.eclipse.emf.eef.components.providers.PropertiesEditionContextPropertiesEditionProvider$EditionFilter"
               id="org.eclipse.emf.eef.components.section.PropertiesEditionContext"
               tab="Base">
         </propertySection>
         <propertySection
               class="org.eclipse.emf.eef.mapping.parts.forms.DocumentationPropertiesEditionPartForm"
			   filter="org.eclipse.emf.eef.components.providers.PropertiesEditionContextPropertiesEditionProvider$EditionFilter"
               id="org.eclipse.emf.eef.components.section.PropertiesEditionContext"
               tab="Documentation">
         </propertySection>
         <propertySection
               class="org.eclipse.emf.eef.components.parts.forms.PropertiesEditionComponentPropertiesEditionPartForm"
			   filter="org.eclipse.emf.eef.components.providers.PropertiesEditionComponentPropertiesEditionProvider$EditionFilter"
               id="org.eclipse.emf.eef.components.section.PropertiesEditionComponent"
               tab="Base">
         </propertySection>
         <propertySection
               class="org.eclipse.emf.eef.mapping.parts.forms.DocumentationPropertiesEditionPartForm"
			   filter="org.eclipse.emf.eef.components.providers.PropertiesEditionComponentPropertiesEditionProvider$EditionFilter"
               id="org.eclipse.emf.eef.components.section.PropertiesEditionComponent"
               tab="Documentation">
         </propertySection>
         <propertySection
               class="org.eclipse.emf.eef.components.parts.forms.PropertiesEditionElementPropertiesEditionPartForm"
			   filter="org.eclipse.emf.eef.components.providers.PropertiesEditionElementPropertiesEditionProvider$EditionFilter"
               id="org.eclipse.emf.eef.components.section.PropertiesEditionElement"
               tab="Base">
         </propertySection>
         <propertySection
               class="org.eclipse.emf.eef.mapping.parts.forms.DocumentationPropertiesEditionPartForm"
			   filter="org.eclipse.emf.eef.components.providers.PropertiesEditionElementPropertiesEditionProvider$EditionFilter"
               id="org.eclipse.emf.eef.components.section.PropertiesEditionElement"
               tab="Documentation">
         </propertySection>
         <propertySection
               class="org.eclipse.emf.eef.components.parts.forms.PropertiesMultiEditionElementPropertiesEditionPartForm"
			   filter="org.eclipse.emf.eef.components.providers.PropertiesMultiEditionElementPropertiesEditionProvider$EditionFilter"
               id="org.eclipse.emf.eef.components.section.PropertiesMultiEditionElement"
               tab="Base">
         </propertySection>
         <propertySection
               class="org.eclipse.emf.eef.mapping.parts.forms.DocumentationPropertiesEditionPartForm"
			   filter="org.eclipse.emf.eef.components.providers.PropertiesMultiEditionElementPropertiesEditionProvider$EditionFilter"
               id="org.eclipse.emf.eef.components.section.PropertiesMultiEditionElement"
               tab="Documentation">
         </propertySection>
      </propertySections>
   </extension>
 </plugin>
