<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<!--
<copyright>

Copyright (c) 2008-2014 See4sys, itemis and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html

Contributors:
    See4sys - Initial API and implementation
    itemis - Enhancements and maintenance

</copyright>
-->

<plugin>

   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <factory
            uri="http://www.eclipse.org/sphinx/examples/hummingbird/1.0.0"
            class="org.eclipse.sphinx.examples.hummingbird10.edit.Hummingbird10ItemProviderAdapterFactory"
            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.adapters">
      <factory
            adaptableType="org.eclipse.sphinx.examples.hummingbird10.Hummingbird10MMDescriptor"
            class="org.eclipse.sphinx.examples.hummingbird10.edit.Hummingbird10MMDescriptorItemProviderAdapterFactory">
         <adapter
               type="org.eclipse.emf.edit.provider.IItemLabelProvider" />
      </factory>
   </extension>

</plugin>
