<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?><!--
    Copyright (c) 2010, 2019 Mia-Software and others.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v2.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v20.html
   
    Contributors:
       Nicolas Bros (Mia-Software) - initial API and implementation
 -->

<plugin>
  
    <extension
         point="org.eclipse.ui.navigator.navigatorContent">
      <navigatorContent 
            id="org.eclipse.modisco.infra.browser.uicore.examples.cnf.modelContents" 
            name="%navigatorContent.name"
            contentProvider="org.eclipse.modisco.infra.browser.uicore.examples.cnf.MoDiscoContentProvider"
            labelProvider="org.eclipse.modisco.infra.browser.uicore.examples.cnf.MoDiscoLabelProvider" 
            activeByDefault="true"
            icon="logoMoDiscoMini.gif"
            priority="normal" >
         <triggerPoints>
         	<or>
	            <and>
	               <instanceof value="org.eclipse.core.resources.IFile"/>
				   <test
			          args="kindOf"
			          forcePluginActivation="true"
			          property="org.eclipse.core.resources.contentTypeId"
			          value="org.eclipse.emf.ecore.xmi"/>
	            </and>
				<instanceof value="org.eclipse.modisco.infra.browser.uicore.internal.model.ITreeElement"/>
			</or>
         </triggerPoints>
         <possibleChildren>
            <or>
               <instanceof value="org.eclipse.modisco.infra.browser.uicore.internal.model.ModelElementItem"/> 
            </or>
         </possibleChildren>
         <actionProvider
               class="org.eclipse.modisco.infra.browser.uicore.examples.cnf.actions.OpenProvider"
               id="org.eclipse.modisco.infra.browser.uicore.examples.cnf.actions.OpenProvider"/>
      </navigatorContent>
   </extension>
   
   
   <extension
         point="org.eclipse.ui.navigator.linkHelper">
      <linkHelper
            class="org.eclipse.modisco.infra.browser.uicore.examples.cnf.LinkHelper"
            id="org.eclipse.modisco.infra.browser.uicore.examples.cnf.linkHelper">
         <editorInputEnablement>
            <instanceof
                  value="org.eclipse.modisco.infra.common.ui.internal.editorInputs.IResourceEditorInput">
            </instanceof>
         </editorInputEnablement>
         <selectionEnablement>
            <instanceof
                  value="org.eclipse.modisco.infra.browser.uicore.internal.model.ITreeElement">
            </instanceof>
         </selectionEnablement>
      </linkHelper>
   </extension>
  
  <!-- Bind the content extension to the viewer -->
  <extension
         point="org.eclipse.ui.navigator.viewer">
      <viewer viewerId="org.eclipse.ui.navigator.ProjectExplorer"/>
      <viewerContentBinding viewerId="org.eclipse.ui.navigator.ProjectExplorer">
         <includes>
            <contentExtension pattern="org.eclipse.modisco.infra.browser.uicore.examples.cnf.linkHelper"/>
            <contentExtension pattern="org.eclipse.modisco.infra.browser.uicore.examples.cnf.modelContents"/>
         </includes>
      </viewerContentBinding>
   </extension>

</plugin>
