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

<!--
 Copyright (c) 2016, 2017 Obeo.
 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="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <!-- @generated NOT properties-ext-widgets-reference -->
      <factory
            uri="http://www.eclipse.org/sirius/properties/1.0.0/ext/widgets/reference"
            class="org.eclipse.sirius.properties.ext.widgets.reference.propertiesextwidgetsreference.provider.PropertiesExtWidgetsReferenceItemProviderAdapterFactorySpec"
            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
               org.eclipse.emf.edit.provider.IItemStyledLabelProvider"/>
   </extension>

   <extension point="org.eclipse.emf.edit.childCreationExtenders">
      <!-- @generated NOT properties-ext-widgets-reference -->
      <extender
            uri="http://www.eclipse.org/sirius/properties/1.0.0"
            class="org.eclipse.sirius.properties.ext.widgets.reference.propertiesextwidgetsreference.provider.PropertiesExtWidgetsReferenceItemProviderAdapterFactory$PropertiesChildCreationExtender"/>
   </extension>

</plugin>
