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

<!--
  * Copyright (c) 2006-2010 Istvan Rath and Daniel Varro
  * 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:
  *    Istvan Rath, Daniel Varro - initial API and implementation
 
-->

<plugin>

   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <factory
            uri="http:///viatragtasmmodel/vpm/editmodel.ecore"
            class="org.eclipse.viatra2.gtasmmodel.vpm.editmodel.provider.EditmodelItemProviderAdapterFactory"
            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">
      <factory
            uri="http:///viatragtasmmodel/gtasm/metamodel/modelmanagement/queryFunctions.ecore"
            class="org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.queryFunctions.provider.QueryFunctionsItemProviderAdapterFactory"
            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">
      <factory
            uri="http:///viatragtasmmodel/gtasm/metamodel/modelmanagement/manipulationRules/deletion.ecore"
            class="org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.deletion.provider.DeletionItemProviderAdapterFactory"
            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">
      <factory
            uri="http:///viatragtasmmodel/gtasm/metamodel/modelmanagement/manipulationRules/creation.ecore"
            class="org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.creation.provider.CreationItemProviderAdapterFactory"
            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">
      <factory
            uri="http:///viatragtasmmodel/gtasm/metamodel/modelmanagement/manipulationRules/copymove.ecore"
            class="org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.copymove.provider.CopymoveItemProviderAdapterFactory"
            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">
      <factory
            uri="http:///viatragtasmmodel/gtasm/metamodel/modelmanagement/manipulationRules/update.ecore"
            class="org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.modelmanagement.manipulationRules.update.provider.UpdateItemProviderAdapterFactory"
            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">
      <factory
            uri="http:///viatragtasmmodel/gtasm/metamodel/asm/definitions.ecore"
            class="org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.definitions.provider.DefinitionsItemProviderAdapterFactory"
            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">
      <factory
            uri="http:///viatragtasmmodel/gtasm/metamodel/asm/core.ecore"
            class="org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.core.provider.CoreItemProviderAdapterFactory"
            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">
      <factory
            uri="http:///viatragtasmmodel/gtasm/metamodel/asm/simpleRules.ecore"
            class="org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.simpleRules.provider.SimpleRulesItemProviderAdapterFactory"
            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">
      <factory
            uri="http:///viatragtasmmodel/gtasm/metamodel/asm/compoundRules.ecore"
            class="org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.compoundRules.provider.CompoundRulesItemProviderAdapterFactory"
            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">
      <factory
            uri="http:///viatragtasmmodel/gtasm/metamodel/asm/terms.ecore"
            class="org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.terms.provider.TermsItemProviderAdapterFactory"
            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">
      <factory
            uri="http:///viatragtasmmodel/gtasm/metamodel/asm/terms/builtInFunctions.ecore"
            class="org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.asm.terms.builtInFunctions.provider.BuiltInFunctionsItemProviderAdapterFactory"
            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">
      <factory
            uri="http:///viatragtasmmodel/gtasm/metamodel/gt.ecore"
            class="org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.gt.provider.GtItemProviderAdapterFactory"
            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>

</plugin>
