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

<!--
 <copyright>
 </copyright>

 $Id: plugin.xml,v 1.2 2011/11/14 14:10:10 sbouchet Exp $
-->

<plugin>

   <extension point="org.eclipse.ui.newWizards">
      <category
            id="org.eclipse.emf.ecore.Wizard.category.ID"
            name="%_UI_Wizard_category"/>
      <wizard
            id="org.eclipse.emf.samples.conference.presentation.ConferenceModelWizardID"
            name="%_UI_ConferenceModelWizard_label"
            class="org.eclipse.emf.samples.conference.presentation.ConferenceModelWizard"
            category="org.eclipse.emf.ecore.Wizard.category.ID"
            icon="icons/full/obj16/ConferenceModelFile.gif">
         <description>%_UI_ConferenceModelWizard_description</description>
         <selection class="org.eclipse.core.resources.IResource"/>
      </wizard>
   </extension>

   <extension point="org.eclipse.ui.editors">
      <editor
            id="org.eclipse.emf.samples.conference.presentation.ConferenceEditorID"
            name="%_UI_ConferenceEditor_label"
            icon="icons/full/obj16/ConferenceModelFile.gif"
            extensions="conference"
            class="org.eclipse.emf.samples.conference.presentation.ConferenceEditor"
            contributorClass="org.eclipse.emf.samples.conference.presentation.ConferenceActionBarContributor">
      </editor>
   </extension>
   <!-- Tabbed properties views extension -->
   <extension
         point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
      <propertyContributor
            contributorId="org.eclipse.emf.samples.conference.properties"
            labelProvider="org.eclipse.emf.eef.runtime.ui.swt.e3.tabbed.view.section.EEFLabelProvider"
            tabDescriptorProvider="org.eclipse.emf.eef.runtime.ui.swt.e3.tabbed.view.providers.EEFTabDescriptorProvider">
         <propertyCategory
               category="eef">
         </propertyCategory>
      </propertyContributor>
   </extension>
 
   <extension
         point="org.eclipse.ui.views">
      <category
            id="org.eclipse.emf.samples.conference.views"
            name="Conference Category">
      </category>
      <view
            category="org.eclipse.emf.samples.conference.views"
            class="org.eclipse.emf.samples.conference.views.LockingView"
            icon="icons/sample.gif"
            id="org.eclipse.emf.samples.conference.views.LockingView"
            name="Conference Lock View">
      </view>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <category
            id="org.eclipse.emf.examples.eef.editor.commands.category"
            name="Sample Category">
      </category>
      <command
            categoryId="org.eclipse.emf.examples.eef.editor.commands.category"
            id="org.eclipse.emf.examples.eef.editor.commands.sampleCommand"
            name="Sample Command">
      </command>
   </extension>
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.emf.samples.conference.handlers.SwitchReadonlyness"
            commandId="org.eclipse.emf.examples.eef.editor.commands.sampleCommand">
      </handler>
   </extension>
   <extension
         point="org.eclipse.ui.bindings">
      <key
            commandId="org.eclipse.emf.examples.eef.editor.commands.sampleCommand"
            contextId="org.eclipse.ui.contexts.window"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            sequence="M1+6">
      </key>
   </extension>
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="menu:org.eclipse.ui.main.menu?after=additions">
         <menu
               id="org.eclipse.emf.examples.eef.editor.menus.sampleMenu"
               label="Sample Menu"
               mnemonic="M">
            <command
                  commandId="org.eclipse.emf.examples.eef.editor.commands.sampleCommand"
                  id="org.eclipse.emf.examples.eef.editor.menus.sampleCommand"
                  mnemonic="S">
            </command>
         </menu>
      </menuContribution>
      <menuContribution
            locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
         <toolbar
               id="org.eclipse.emf.examples.eef.editor.toolbars.sampleToolbar">
            <command
                  commandId="org.eclipse.emf.examples.eef.editor.commands.sampleCommand"
                  icon="icons/sample.gif"
                  id="org.eclipse.emf.examples.eef.editor.toolbars.sampleCommand"
                  tooltip="Say hello world">
            </command>
         </toolbar>
      </menuContribution>
   </extension>

</plugin>
