<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
    Copyright (c) 2011 Tasktop Technologies.
    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:
         Tasktop Technologies - initial API and implementation
 -->
<plugin>
   <extension point="org.eclipse.mylyn.context.ui.bridges">
    <uiBridge
          class="org.eclipse.mylyn.internal.mft.ecoretools.ui.EcoreDiagramUiBridge"
          contentType="ecore"/>
  </extension>
	
	     <extension
           point="org.eclipse.gmf.runtime.diagram.ui.decoratorProviders">
        <decoratorProvider
              class="org.eclipse.mylyn.internal.mft.ecoretools.ui.EcoreDiagramDecoratorProvider">
           <Priority
                 name="Highest">
           </Priority>
           <!--Warning is expected here.-->
           <object
                 class="org.eclipse.gmf.runtime.notation.Node(org.eclipse.gmf.runtime.notation)"
                 id="NODE">
           </object>
           <context
                 decoratorTargets="NODE">
           </context>
        </decoratorProvider>
     </extension>
      <extension
            point="org.eclipse.mylyn.context.core.bridges">
         <structureBridge
               class="org.eclipse.mylyn.internal.mft.ecoretools.ui.EcoreGmfDomainBridge"
               name="%EcoreStructureBridge.name"
               parentContentType="resource">
         </structureBridge>
      </extension>

   <extension
         point="org.eclipse.mylyn.context.ui.startup">
      <startup
            class="org.eclipse.mylyn.internal.mft.ecoretools.ui.EcoreUiBridgePlugin$EcoreDiagramBridgeStartup">
      </startup>
   </extension>

	   <extension
         point="org.eclipse.ui.actionSetPartAssociations">
      <actionSetPartAssociation
            targetID="org.eclipse.mylyn.modeling.actionSet">
         <part
               id="org.eclipse.emf.ecoretools.diagram.part.EcoreDiagramEditorID">
         </part>
      </actionSetPartAssociation>
   </extension>
	    
	<extension
			point="org.eclipse.ui.navigator.viewer">
		<viewerContentBinding
			viewerId="org.eclipse.mylyn.context.ui.navigator.context">
			<includes>
				<contentExtension pattern="org.eclipse.emf.ecoretools.diagram.resourceContent" />
			    <contentExtension pattern="org.eclipse.emf.ecoretools.diagram.domainResourceContent"/>
			</includes>
		</viewerContentBinding>
	</extension>
</plugin>
