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

<!--
#                                                                           
#  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
#                                                                            
#  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:                                                      
# 	   Florian Pirchner - Initial implementation
#
-->

<plugin>

   <extension point="org.eclipse.ui.newWizards">
      <!-- @generated cxgrid -->
      <category
            id="org.eclipse.emf.ecore.Wizard.category.ID"
            name="%_UI_Wizard_category"/>
      <wizard
            id="org.eclipse.osbp.ecview.extension.grid.presentation.CxGridModelWizardID"
            name="%_UI_CxGridModelWizard_label"
            class="org.eclipse.osbp.ecview.extension.grid.presentation.CxGridModelWizard"
            category="org.eclipse.emf.ecore.Wizard.category.ID"
            icon="icons/full/obj16/CxGridModelFile.gif">
         <description>%_UI_CxGridModelWizard_description</description>
         <selection class="org.eclipse.core.resources.IResource"/>
      </wizard>
   </extension>

   <extension point="org.eclipse.ui.editors">
      <!-- @generated cxgrid -->
      <editor
            id="org.eclipse.osbp.ecview.extension.grid.presentation.CxGridEditorID"
            name="%_UI_CxGridEditor_label"
            icon="icons/full/obj16/CxGridModelFile.gif"
            extensions="cxgrid"
            class="org.eclipse.osbp.ecview.extension.grid.presentation.CxGridEditor"
            contributorClass="org.eclipse.osbp.ecview.extension.grid.presentation.CxGridActionBarContributor">
      </editor>
   </extension>

   <extension point="org.eclipse.ui.newWizards">
      <!-- @generated cxgrid -->
      <category
            id="org.eclipse.emf.ecore.Wizard.category.ID"
            name="%_UI_Wizard_category"/>
      <wizard
            id="org.eclipse.osbp.ecview.extension.grid.renderer.presentation.CxGridRendererModelWizardID"
            name="%_UI_CxGridRendererModelWizard_label"
            class="org.eclipse.osbp.ecview.extension.grid.renderer.presentation.CxGridRendererModelWizard"
            category="org.eclipse.emf.ecore.Wizard.category.ID"
            icon="icons/full/obj16/CxGridRendererModelFile.gif">
         <description>%_UI_CxGridRendererModelWizard_description</description>
         <selection class="org.eclipse.core.resources.IResource"/>
      </wizard>
   </extension>

   <extension point="org.eclipse.ui.editors">
      <!-- @generated cxgrid -->
      <editor
            id="org.eclipse.osbp.ecview.extension.grid.renderer.presentation.CxGridRendererEditorID"
            name="%_UI_CxGridRendererEditor_label"
            icon="icons/full/obj16/CxGridRendererModelFile.gif"
            extensions="cxgridrenderer"
            class="org.eclipse.osbp.ecview.extension.grid.renderer.presentation.CxGridRendererEditor"
            contributorClass="org.eclipse.osbp.ecview.extension.grid.renderer.presentation.CxGridRendererActionBarContributor">
      </editor>
   </extension>

   <extension point="org.eclipse.ui.newWizards">
      <!-- @generated cxgrid -->
      <category
            id="org.eclipse.emf.ecore.Wizard.category.ID"
            name="%_UI_Wizard_category"/>
      <wizard
            id="org.eclipse.osbp.ecview.extension.grid.memento.presentation.CxGridMementoModelWizardID"
            name="%_UI_CxGridMementoModelWizard_label"
            class="org.eclipse.osbp.ecview.extension.grid.memento.presentation.CxGridMementoModelWizard"
            category="org.eclipse.emf.ecore.Wizard.category.ID"
            icon="icons/full/obj16/CxGridMementoModelFile.gif">
         <description>%_UI_CxGridMementoModelWizard_description</description>
         <selection class="org.eclipse.core.resources.IResource"/>
      </wizard>
   </extension>

   <extension point="org.eclipse.ui.editors">
      <!-- @generated cxgrid -->
      <editor
            id="org.eclipse.osbp.ecview.extension.grid.memento.presentation.CxGridMementoEditorID"
            name="%_UI_CxGridMementoEditor_label"
            icon="icons/full/obj16/CxGridMementoModelFile.gif"
            extensions="cxgridmemento"
            class="org.eclipse.osbp.ecview.extension.grid.memento.presentation.CxGridMementoEditor"
            contributorClass="org.eclipse.osbp.ecview.extension.grid.memento.presentation.CxGridMementoActionBarContributor">
      </editor>
   </extension>

</plugin>
