<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!-- Copyright (c) 2005  IBM Corporation and others.                       -->
<!-- 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:                                                         -->
<!--    IBM Corporation - initial API and implementation                   -->
<plugin>

     <!-- Register the clipboard support for the Library metamodel -->
   <extension point="org.eclipse.gmf.runtime.emf.clipboard.core.clipboardSupport">
      <factory
            class="org.eclipse.gmf.examples.runtime.emf.clipboard.library.LibraryClipboardSupportFactory"
            nsURI="http:///org/eclipse/emf/examples/library/extlibrary.ecore/1.0.0"
            priority="medium"/>
   </extension>
   
   <!-- Register an extension parser for the library metamodel, to ensure that
        we use resources that assign UUIDs to elements. -->
   <!-- For the time-being, we will assume that the org.eclipse.gmf.example.runtime.emf plugin is installed and
         will provide us with a viable MResource that supports UUIDs. -->
   <!-- <extension point="org.eclipse.emf.ecore.extension_parser">
      <parser
            type="extlibrary"
            class="org.eclipse.gmf.examples.runtime.emf.clipboard.library.LibraryResourceFactory"/>
   </extension> -->
   
   <extension point="org.eclipse.ui.editorActions"> 
      <editorContribution 
         id="org.eclipse.emf.query.examples.ocl.editorContribution" 
         targetID="org.eclipse.emf.examples.extlibrary.presentation.EXTLibraryEditorID"> 
         <menu
               label="%_UI_ClipMenu_label"
               path="org.eclipse.emf.examples.extlibraryMenuID/additions"
               id="org.eclipse.gmf.runtime.emf.clipboard.coreMenuID">
            <separator name="additions"/>
         </menu>
         <action
               label="%_UI_Paste_label"
               class="org.eclipse.gmf.examples.runtime.emf.clipboard.actions.PasteDelegate"
               menubarPath="org.eclipse.emf.examples.extlibraryMenuID/org.eclipse.gmf.runtime.emf.clipboard.coreMenuID/additions"
               icon="icons/paste.gif"
               id="org.eclipse.gmf.examples.runtime.emf.clipboard.PasteAction">
            <!--<enablement>
               <objectClass
                     name="org.eclipse.emf.ecore.EObject">
               </objectClass>
            </enablement>-->
         </action>
         <action
               label="%_UI_Copy_label"
               class="org.eclipse.gmf.examples.runtime.emf.clipboard.actions.CopyDelegate"
               menubarPath="org.eclipse.emf.examples.extlibraryMenuID/org.eclipse.gmf.runtime.emf.clipboard.coreMenuID/additions"
               icon="icons/copy.gif"
               id="org.eclipse.gmf.examples.runtime.emf.clipboard.CopyAction">
            <enablement>
               <objectClass
                     name="org.eclipse.emf.ecore.EObject">
               </objectClass>
            </enablement>
         </action>
      </editorContribution> 
   </extension> 
   
   <extension
         point="org.eclipse.ui.popupMenus">
      <viewerContribution
            targetID="org.eclipse.emf.examples.extlibrary.presentation.EXTLibraryEditorID"
            id="org.eclipse.gmf.examples.runtime.emf.clipboard.viewerContribution">
         <menu
               label="%_UI_ClipMenu_label"
               path="additions"
               id="org.eclipse.gmf.runtime.emf.clipboard.coreMenuID">
            <separator name="additions"/>
         </menu>
         <action
               label="%_UI_Paste_label"
               class="org.eclipse.gmf.examples.runtime.emf.clipboard.actions.PasteDelegate"
               menubarPath="org.eclipse.gmf.runtime.emf.clipboard.coreMenuID/additions"
               icon="icons/paste.gif"
               id="org.eclipse.gmf.examples.runtime.emf.clipboard.PasteAction">
            <!--<enablement>
               <objectClass
                     name="org.eclipse.emf.ecore.EObject">
               </objectClass>
            </enablement>-->
         </action>
         <action
               label="%_UI_Copy_label"
               class="org.eclipse.gmf.examples.runtime.emf.clipboard.actions.CopyDelegate"
               menubarPath="org.eclipse.gmf.runtime.emf.clipboard.coreMenuID/additions"
               icon="icons/copy.gif"
               id="org.eclipse.gmf.examples.runtime.emf.clipboard.CopyAction">
            <enablement>
               <objectClass
                     name="org.eclipse.emf.ecore.EObject">
               </objectClass>
            </enablement>
         </action>
      </viewerContribution>
   </extension>
</plugin>
