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

<!--
/*******************************************************************************
 * <copyright>
 *
 * Copyright (c) 2013, 2013 SAP AG.
 * 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:
 *    SAP AG - initial API, implementation and documentation
 *
 * </copyright>
 *
 *******************************************************************************/
-->

<plugin>

   <extension
         point="org.eclipse.core.runtime.applications"
         id="FMCEditorAdvisorApplication">
      <!-- @generated Blockdiagram -->
      <application>
         <run class="org.eclipse.fmc.mm.presentation.FMCEditorAdvisor$Application"/>
      </application>
   </extension>

   <extension point="org.eclipse.ui.perspectives">
      <!-- @generated Blockdiagram -->
      <perspective
            name="%_UI_Perspective_label"
            class="org.eclipse.fmc.mm.presentation.FMCEditorAdvisor$Perspective"
            id="org.eclipse.fmc.mm.presentation.FMCEditorAdvisorPerspective">
      </perspective>
   </extension>

   <extension point="org.eclipse.ui.commands">
      <!-- @generated Blockdiagram -->
      <command
            name="%_UI_Menu_OpenURI_label"
            description="%_UI_Menu_OpenURI_description"
            categoryId="org.eclipse.ui.category.file"
            id="org.eclipse.fmc.mm.presentation.FMCEditorAdvisorOpenURICommand"/>
      <command
            name="%_UI_Menu_Open_label"
            description="%_UI_Menu_Open_description"
            categoryId="org.eclipse.ui.category.file"
            id="org.eclipse.fmc.mm.presentation.FMCEditorAdvisorOpenCommand"/>
   </extension>

   <extension point="org.eclipse.ui.bindings">
      <!-- @generated Blockdiagram -->
      <key
            commandId="org.eclipse.fmc.mm.presentation.FMCEditorAdvisorOpenURICommand"
            sequence="M1+U"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
      <key
            commandId="org.eclipse.fmc.mm.presentation.FMCEditorAdvisorOpenCommand"
            sequence="M1+O"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
   </extension>

   <extension point="org.eclipse.ui.actionSets">
      <!-- @generated Blockdiagram -->
      <actionSet
            label="%_UI_FMCEditorAdvisor_ActionSet_label"
            visible="true"
            id="FMCEditorAdvisorActionSet">
         <action
               label="%_UI_Menu_About_label"
               class="org.eclipse.fmc.mm.presentation.FMCEditorAdvisor$AboutAction"
               menubarPath="help/additions"
               id="org.eclipse.fmc.mm.presentation.FMCEditorAdvisorAboutAction"/>
         <action
               label="%_UI_Menu_OpenURI_label"
               definitionId="org.eclipse.fmc.mm.presentation.FMCEditorAdvisorOpenURICommand"
               class="org.eclipse.fmc.mm.presentation.FMCEditorAdvisor$OpenURIAction"
               menubarPath="file/additions"
               id="org.eclipse.fmc.mm.presentation.FMCEditorAdvisorOpenURIAction"/>
         <action
               label="%_UI_Menu_Open_label"
               definitionId="org.eclipse.fmc.mm.presentation.FMCEditorAdvisorOpenCommand"
               class="org.eclipse.fmc.mm.presentation.FMCEditorAdvisor$OpenAction"
               menubarPath="file/additions"
               id="org.eclipse.fmc.mm.presentation.FMCEditorAdvisorOpenAction"/>
      </actionSet>
   </extension>

   <extension point="org.eclipse.ui.actionSets">
      <!-- @generated Blockdiagram -->
      <actionSet
            label="%_UI_FmcModelWizard_ActionSet_label"
            visible="true"
            id="org.eclipse.fmc.mm.presentation.FmcActionBarContributorActionSet">
         <action
               label="%_UI_FmcModelWizard_label"
               class="org.eclipse.fmc.mm.presentation.FmcActionBarContributor$NewAction"
               menubarPath="file/new/additions"
               id="org.eclipse.fmc.mm.presentation.FmcActionBarContributorNewAction"/>
      </actionSet>
   </extension>

   <extension point="org.eclipse.ui.editors">
      <!-- @generated Blockdiagram -->
      <editor
            id="org.eclipse.fmc.mm.presentation.FmcEditorID"
            name="%_UI_FmcEditor_label"
            icon="icons/full/obj16/FmcModelFile.gif"
            extensions="block"
            class="org.eclipse.fmc.mm.presentation.FmcEditor"
            contributorClass="org.eclipse.fmc.mm.presentation.FmcActionBarContributor">
      </editor>
   </extension>
   <extension
         point="org.eclipse.ui.newWizards">
      <wizard
            category="org.eclipse.fmc.blockdiagram.category"
            class="org.eclipse.fmc.mm.presentation.FmcModelWizard"
            icon="icons/full/obj16/FmcModelFile.gif"
            id="org.eclipse.fmc.mm.FmcModelWizard"
            name="FMC Block Model">
         <description>
            This wizard creates a FMC Block Model.
         </description>
      </wizard>
      <category
            id="org.eclipse.fmc.blockdiagram.category"
            name="FMC">
      </category>
   </extension>
   <extension point="org.eclipse.ui.navigator.viewer">
	<viewerContentBinding viewerId="org.eclipse.ui.navigator.ProjectExplorer">
		<includes>
			<contentExtension
				isRoot="false"
					pattern="org.eclipse.fmc.mm.modelContent"/>
		</includes>
	</viewerContentBinding>
	</extension> 
	
	<extension point="org.eclipse.ui.navigator.navigatorContent">
		<navigatorContent
			activeByDefault="true"
			contentProvider="org.eclipse.fmc.mm.navigator.ProjectAdapterFactoryContentProvider"
				id="org.eclipse.fmc.mm.modelContent"
				labelProvider="org.eclipse.fmc.mm.navigator.ProjectAdapterFactoryLabelProvider"
					name="Model content"
			priority="normal">
			<triggerPoints>
				<or>
					<and>
						<instanceof value="org.eclipse.core.resources.IResource"/>
						<test forcePluginActivation="true"
							property="org.eclipse.core.resources.extension" value="block"/>
					</and>
				</or>
			</triggerPoints>
			<possibleChildren>
				<or>
					<instanceof value="org.eclipse.emf.ecore.resource.Resource"/>
					<instanceof value="org.eclipse.fmc.mm.FMCNode"/>
				</or>
			</possibleChildren>
		</navigatorContent>
	</extension>
   <!-- Add wizard to common navigator context menu -->
   <extension point="org.eclipse.ui.navigator.navigatorContent">
      <commonWizard
            type="new"
            wizardId="org.eclipse.fmc.mm.FmcModelWizard">
         <enablement>
         </enablement>
      </commonWizard>
   </extension>

</plugin>
