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

-->
<plugin>

   <extension point="org.eclipse.team.core.fileTypes" id="repo-ftype">
      <?gmfgen generated="true"?>
      <fileTypes type="text" extension="fed_diagram"/>
   </extension>

   <extension point="org.eclipse.emf.ecore.extension_parser" id="resource-factory">
      <?gmfgen generated="true"?>
      <parser
         type="fed_diagram"
         class="org.eclipse.gmf.runtime.emf.core.resources.GMFResourceFactory">
      </parser>
   </extension>

   <extension point="org.eclipse.ui.editors" id="gmf-editor">
      <?gmfgen generated="true"?>
      <editor
         id="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedDiagramEditorID"
         name="%editorName"
         icon="icons/obj16/FedDiagramFile.gif"
         extensions="fed_diagram"
         default="true"
         class="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedDiagramEditor"
         matchingStrategy="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedMatchingStrategy"
         contributorClass="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedDiagramActionBarContributor">
      </editor>
   </extension>
   
   <extension point="org.eclipse.ui.contexts" id="ui-context">
      <?gmfgen generated="true"?>
      <context
         description="%context.description"
         id="org.eclipse.epsilon.eugenia.examples.fed.diagram.ui.diagramContext"
         name="%context.name"
         parentId="org.eclipse.gmf.runtime.diagram.ui.diagramContext">
      </context>
   </extension>

   <extension point="org.eclipse.ui.newWizards" id="creation-wizard">
      <?gmfgen generated="true"?>
  	  <wizard
  	     name="%newWizardName"
  	     icon="icons/obj16/FedDiagramFile.gif"
  	     category="org.eclipse.ui.Examples"
  	     class="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedCreationWizard"
  	     id="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedCreationWizardID">
  	  	 <description>%newWizardDesc</description>  
      </wizard>
   </extension>

   <extension point="org.eclipse.ui.popupMenus" id="init-diagram-action">
      <?gmfgen generated="true"?>
      <objectContribution
            id="org.eclipse.epsilon.eugenia.examples.fed.diagram.InitDiagram"
            nameFilter="*.fed"
            objectClass="org.eclipse.core.resources.IFile">
         <action
               label="%initDiagramActionLabel"
               class="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedInitDiagramFileAction"
               menubarPath="additions"
               enablesFor="1"
               id="org.eclipse.epsilon.eugenia.examples.fed.diagram.InitDiagramAction">
         </action>
      </objectContribution>
   </extension>
	
   <extension point="org.eclipse.gmf.runtime.common.ui.services.action.globalActionHandlerProviders" id="global-actions">
      <?gmfgen generated="true"?>
      <GlobalActionHandlerProvider
         class="org.eclipse.gmf.runtime.diagram.ui.providers.DiagramGlobalActionHandlerProvider"
         id="FedPresentation">
         <Priority name="Lowest"/>
         <ViewId id="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedDiagramEditorID">
            <ElementType class="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart">
               <GlobalActionId actionId="delete"/>
            </ElementType>
            <ElementType class="org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart">
               <GlobalActionId actionId="save"/>
            </ElementType>
            <ElementType class="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart">
               <GlobalActionId actionId="save">
               </GlobalActionId>
            </ElementType>        
         </ViewId>
      </GlobalActionHandlerProvider>
      <GlobalActionHandlerProvider
         class="org.eclipse.gmf.runtime.diagram.ui.printing.render.providers.DiagramWithPrintGlobalActionHandlerProvider"
         id="FedPresentationPrint">
         <Priority name="Lowest"/>
         <ViewId id="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedDiagramEditorID">
            <ElementType class="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart">
               <GlobalActionId actionId="print"/>
            </ElementType>
         </ViewId>
      </GlobalActionHandlerProvider>
      <GlobalActionHandlerProvider
         class="org.eclipse.gmf.runtime.diagram.ui.providers.ide.providers.DiagramIDEGlobalActionHandlerProvider"
         id="FedPresentationIDE">
         <Priority name="Lowest"/>
         <ViewId id="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedDiagramEditorID">
            <ElementType class="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart">
               <GlobalActionId actionId="bookmark"/>
            </ElementType>
         </ViewId>
      </GlobalActionHandlerProvider>
      <GlobalActionHandlerProvider
            class="org.eclipse.gmf.runtime.diagram.ui.render.providers.DiagramUIRenderGlobalActionHandlerProvider"
            id="FedRender">
         <Priority name="Lowest"/>
         <ViewId id="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedDiagramEditorID">
            <ElementType class="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart">
               <GlobalActionId actionId="cut"/>
               <GlobalActionId actionId="copy"/>
               <GlobalActionId actionId="paste"/>
            </ElementType>
         </ViewId>
      </GlobalActionHandlerProvider>
   </extension>


   <extension point="org.eclipse.gmf.runtime.common.ui.services.markerNavigationProviders" id="markers-navigation">
      <?gmfgen generated="true"?>
      <MarkerNavigationProvider class="org.eclipse.epsilon.eugenia.examples.fed.diagram.providers.FedMarkerNavigationProvider">
         <MarkerType name="org.eclipse.epsilon.eugenia.examples.fed.diagram.diagnostic"/>
         <Priority name="Lowest"/>
      </MarkerNavigationProvider>
   </extension>

   <extension id="diagnostic" name="Fed Plugin problems" point="org.eclipse.core.resources.markers">
      <?gmfgen generated="true"?>
      <super type="org.eclipse.core.resources.problemmarker"/>
      <super type="org.eclipse.gmf.runtime.common.ui.services.marker"/>
      <persistent value="true"/>
   </extension>   

   <extension id="validationDecoratorProvider" name="ValidationDecorations" point="org.eclipse.gmf.runtime.diagram.ui.decoratorProviders">
      <?gmfgen generated="true"?>
      <decoratorProvider class="org.eclipse.epsilon.eugenia.examples.fed.diagram.providers.FedValidationDecoratorProvider">
         <Priority name="Lowest"/>
         <object class="org.eclipse.gmf.runtime.diagram.ui.editparts.IPrimaryEditPart(org.eclipse.gmf.runtime.diagram.ui)" id="PRIMARY_VIEW"/>
         <context decoratorTargets="PRIMARY_VIEW"/>
      </decoratorProvider>
   </extension>

   <extension point="org.eclipse.core.runtime.preferences" id="prefs">
      <?gmfgen generated="true"?>
      <initializer class="org.eclipse.epsilon.eugenia.examples.fed.diagram.preferences.DiagramPreferenceInitializer"/>
   </extension>

   <extension point="org.eclipse.ui.preferencePages" id="prefpages">
      <?gmfgen generated="true"?>
      <page
            id="org.eclipse.epsilon.eugenia.examples.fed.diagram.general"
            name="%prefpage.org.eclipse.epsilon.eugenia.examples.fed.diagram.general"
            class="org.eclipse.epsilon.eugenia.examples.fed.diagram.preferences.DiagramGeneralPreferencePage">
      </page>
      <page
            id="org.eclipse.epsilon.eugenia.examples.fed.diagram.appearance"
            name="%prefpage.org.eclipse.epsilon.eugenia.examples.fed.diagram.appearance"
            category="org.eclipse.epsilon.eugenia.examples.fed.diagram.general"
            class="org.eclipse.epsilon.eugenia.examples.fed.diagram.preferences.DiagramAppearancePreferencePage">
      </page>
      <page
            id="org.eclipse.epsilon.eugenia.examples.fed.diagram.connections"
            name="%prefpage.org.eclipse.epsilon.eugenia.examples.fed.diagram.connections"
            category="org.eclipse.epsilon.eugenia.examples.fed.diagram.general"
            class="org.eclipse.epsilon.eugenia.examples.fed.diagram.preferences.DiagramConnectionsPreferencePage">
      </page>
      <page
            id="org.eclipse.epsilon.eugenia.examples.fed.diagram.printing"
            name="%prefpage.org.eclipse.epsilon.eugenia.examples.fed.diagram.printing"
            category="org.eclipse.epsilon.eugenia.examples.fed.diagram.general"
            class="org.eclipse.epsilon.eugenia.examples.fed.diagram.preferences.DiagramPrintingPreferencePage">
      </page>
      <page
            id="org.eclipse.epsilon.eugenia.examples.fed.diagram.rulersAndGrid"
            name="%prefpage.org.eclipse.epsilon.eugenia.examples.fed.diagram.rulersAndGrid"
            category="org.eclipse.epsilon.eugenia.examples.fed.diagram.general"
            class="org.eclipse.epsilon.eugenia.examples.fed.diagram.preferences.DiagramRulersAndGridPreferencePage">
      </page>
   </extension>

   <extension point="org.eclipse.ui.views.properties.tabbed.propertyContributor" id="prop-contrib">
      <?gmfgen generated="true"?>
      <propertyContributor
            contributorId="org.eclipse.epsilon.eugenia.examples.fed.diagram"
            labelProvider="org.eclipse.epsilon.eugenia.examples.fed.diagram.sheet.FedSheetLabelProvider">
         <propertyCategory category="domain"/>
         <propertyCategory category="visual"/>
         <propertyCategory category="extra"/>
      </propertyContributor>
   </extension>

   <extension point="org.eclipse.ui.views.properties.tabbed.propertyTabs" id="proptabs">
      <?gmfgen generated="true"?>   
      <propertyTabs contributorId="org.eclipse.epsilon.eugenia.examples.fed.diagram">
         <propertyTab
             category="visual"
             id="property.tab.AppearancePropertySection"
             label="%tab.appearance"/>
          <propertyTab
             category="visual"
             id="property.tab.DiagramPropertySection"
             label="%tab.diagram"/>
          <propertyTab
             category="domain"
             id="property.tab.domain"
             label="%tab.domain"/>
      </propertyTabs>
   </extension>

   <extension point="org.eclipse.ui.views.properties.tabbed.propertySections" id="propsections">
      <?gmfgen generated="true"?>   
      <propertySections contributorId="org.eclipse.epsilon.eugenia.examples.fed.diagram">
         <propertySection id="property.section.ConnectorAppearancePropertySection" 
            filter="org.eclipse.gmf.runtime.diagram.ui.properties.filters.ConnectionEditPartPropertySectionFilter" 
            class="org.eclipse.gmf.runtime.diagram.ui.properties.sections.appearance.ConnectionAppearancePropertySection" 
            tab="property.tab.AppearancePropertySection">
         </propertySection>
         <propertySection id="property.section.ShapeColorAndFontPropertySection" 
            filter="org.eclipse.gmf.runtime.diagram.ui.properties.filters.ShapeEditPartPropertySectionFilter" 
            class="org.eclipse.gmf.runtime.diagram.ui.properties.sections.appearance.ShapeColorsAndFontsPropertySection" 
            tab="property.tab.AppearancePropertySection">
         </propertySection> 
         <propertySection id="property.section.DiagramColorsAndFontsPropertySection" 
            filter="org.eclipse.gmf.runtime.diagram.ui.properties.filters.DiagramEditPartPropertySectionFilter" 
            class="org.eclipse.gmf.runtime.diagram.ui.properties.sections.appearance.DiagramColorsAndFontsPropertySection" 
            tab="property.tab.AppearancePropertySection">
         </propertySection>     
         <propertySection id="property.section.RulerGridPropertySection" 
            filter="org.eclipse.gmf.runtime.diagram.ui.properties.filters.DiagramEditPartPropertySectionFilter" 
            class="org.eclipse.gmf.runtime.diagram.ui.properties.sections.grid.RulerGridPropertySection" 
            tab="property.tab.DiagramPropertySection">
         </propertySection>     
         <propertySection
            id="property.section.domain" 
            tab="property.tab.domain"
            class="org.eclipse.epsilon.eugenia.examples.fed.diagram.sheet.FedPropertySection">
            <input type="org.eclipse.gmf.runtime.notation.View"/>
            <input type="org.eclipse.gef.EditPart"/>
            <input type="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigator.FedAbstractNavigatorItem"/>
         </propertySection>
      </propertySections>
   </extension>

   <extension point="org.eclipse.gmf.runtime.diagram.core.viewProviders" id="view-provider">
      <?gmfgen generated="true"?>
      <viewProvider class="org.eclipse.epsilon.eugenia.examples.fed.diagram.providers.FedViewProvider">
         <Priority name="Lowest"/>
         <object id="referencing-diagrams" class="org.eclipse.gmf.runtime.notation.Diagram">
            <method name="getType()" value="fed"/>
         </object>
         <context viewClass="org.eclipse.gmf.runtime.notation.Node" containerViews="referencing-diagrams"/>
         <context viewClass="org.eclipse.gmf.runtime.notation.Diagram" semanticHints="Fed"/>
         <context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="2001,2002,3001"/>
         <context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="4001,4002"/>
      </viewProvider>
   </extension>

   <extension point="org.eclipse.gmf.runtime.diagram.ui.editpartProviders" id="ep-provider">
      <?gmfgen generated="true"?>
      <editpartProvider class="org.eclipse.epsilon.eugenia.examples.fed.diagram.providers.FedEditPartProvider">
         <Priority name="Lowest"/>
         <object class="org.eclipse.gmf.runtime.notation.Diagram" id="generated-diagram">
            <method name="getType()" value="Fed"/>
         </object>
         <object class="org.eclipse.gmf.runtime.notation.Node" id="generated-nodes">
            <method name="getType()" value="2001,2002,3001"/>
         </object>
         <object class="org.eclipse.gmf.runtime.notation.Edge" id="generated-links">
            <method name="getType()" value="4001,4002"/>
         </object>
         <object class="org.eclipse.gmf.runtime.notation.Node" id="generated-labels">
            <method name="getType()" value="5002,5003,5001"/>
         </object>
         <object class="org.eclipse.gmf.runtime.notation.Node" id="generated-compartments">
            <method name="getType()" value="7001"/>
         </object>
         <context views="generated-diagram,generated-nodes,generated-links,generated-labels,generated-compartments"/>
      </editpartProvider>
   </extension>

   <extension point="org.eclipse.gmf.runtime.emf.ui.modelingAssistantProviders" id="modelassist-provider">
      <?gmfgen generated="true"?>
      <modelingAssistantProvider class="org.eclipse.epsilon.eugenia.examples.fed.diagram.providers.FedModelingAssistantProvider">
         <Priority name="Lowest"/>
         <object class="org.eclipse.epsilon.eugenia.examples.fed.diagram.edit.parts.ConfigurationEditPart" id="Configuration_1000"/>
         <object class="org.eclipse.epsilon.eugenia.examples.fed.diagram.edit.parts.FeatureEditPart" id="Feature_2001"/>
         <object class="org.eclipse.epsilon.eugenia.examples.fed.diagram.edit.parts.PluginEditPart" id="Plugin_2002"/>
         <object class="org.eclipse.epsilon.eugenia.examples.fed.diagram.edit.parts.Plugin2EditPart" id="Plugin_3001"/>
         <context elements="Configuration_1000,Feature_2001,Plugin_2002,Plugin_3001"/>
      </modelingAssistantProvider>
   </extension>

   <extension point="org.eclipse.gmf.runtime.common.ui.services.iconProviders" id="icon-provider">
      <?gmfgen generated="true"?>
      <IconProvider class="org.eclipse.epsilon.eugenia.examples.fed.diagram.providers.FedIconProvider">
         <Priority name="Low"/>
      </IconProvider>
   </extension>

   <extension point="org.eclipse.gmf.runtime.common.ui.services.parserProviders" id="parser-provider">
      <?gmfgen generated="true"?>
      <ParserProvider class="org.eclipse.epsilon.eugenia.examples.fed.diagram.providers.FedParserProvider">
         <Priority name="Lowest"/>
      </ParserProvider>
   </extension>

   <extension point="org.eclipse.gmf.runtime.diagram.ui.decoratorProviders" id="decorator-provider">
      <?gmfgen generated="true"?>
      <decoratorProvider class="org.eclipse.epsilon.eugenia.examples.fed.diagram.providers.FedShortcutsDecoratorProvider">
         <Priority name="Lowest"/>
         <object class="org.eclipse.gmf.runtime.notation.Node(org.eclipse.gmf.runtime.notation)" id="generated-top-nodes">
            <method name="getType()" value="2001,2002"/>
         </object>
         <context decoratorTargets="generated-top-nodes"/>
      </decoratorProvider>
   </extension>

   <extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypes" id="element-types">
      <?gmfgen generated="true"?>
      <metamodel nsURI="fed">
         <metamodelType
               id="org.eclipse.epsilon.eugenia.examples.fed.diagram.Configuration_1000"
               name="%metatype.name.Configuration_1000"
               kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
               eclass="Configuration"
               edithelper="org.eclipse.epsilon.eugenia.examples.fed.diagram.edit.helpers.ConfigurationEditHelper">
            <param name="semanticHint" value="1000"/>
         </metamodelType>
      </metamodel>
      <metamodel nsURI="fed">
         <metamodelType
               id="org.eclipse.epsilon.eugenia.examples.fed.diagram.Feature_2001"
               name="%metatype.name.Feature_2001"
               kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
               eclass="Feature"
               edithelper="org.eclipse.epsilon.eugenia.examples.fed.diagram.edit.helpers.FeatureEditHelper">
            <param name="semanticHint" value="2001"/>
         </metamodelType>
      </metamodel>
      <metamodel nsURI="fed">
         <specializationType
               id="org.eclipse.epsilon.eugenia.examples.fed.diagram.Plugin_2002"
               name="%metatype.name.Plugin_2002"
               kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
            <specializes id="org.eclipse.epsilon.eugenia.examples.fed.diagram.Plugin_3001"/>
            <param name="semanticHint" value="2002"/>
         </specializationType>
      </metamodel>
      <metamodel nsURI="fed">
         <metamodelType
               id="org.eclipse.epsilon.eugenia.examples.fed.diagram.Plugin_3001"
               name="%metatype.name.Plugin_3001"
               kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
               eclass="Plugin"
               edithelper="org.eclipse.epsilon.eugenia.examples.fed.diagram.edit.helpers.PluginEditHelper">
            <param name="semanticHint" value="3001"/>
         </metamodelType>
      </metamodel>
      <metamodel nsURI="fed">
         <specializationType
               id="org.eclipse.epsilon.eugenia.examples.fed.diagram.FeatureDepends_4001"
               name="%metatype.name.FeatureDepends_4001"
               kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
            <specializes id="org.eclipse.gmf.runtime.emf.type.core.null"/>
            <param name="semanticHint" value="4001"/>
         </specializationType>
      </metamodel>
      <metamodel nsURI="fed">
         <specializationType
               id="org.eclipse.epsilon.eugenia.examples.fed.diagram.FeatureIncludes_4002"
               name="%metatype.name.FeatureIncludes_4002"
               kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
            <specializes id="org.eclipse.gmf.runtime.emf.type.core.null"/>
            <param name="semanticHint" value="4002"/>
         </specializationType>
      </metamodel>
   </extension>

   <extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings" id="element-types-bindings">
      <?gmfgen generated="true"?>
      <clientContext id="org.eclipse.epsilon.eugenia.examples.fed.diagram.TypeContext">
         <enablement>
            <test
               property="org.eclipse.gmf.runtime.emf.core.editingDomain"
               value="org.eclipse.epsilon.eugenia.examples.fed.diagram.EditingDomain"/>
         </enablement>
      </clientContext> 
      <binding context="org.eclipse.epsilon.eugenia.examples.fed.diagram.TypeContext">
         <elementType ref="org.eclipse.epsilon.eugenia.examples.fed.diagram.Configuration_1000"/>
         <elementType ref="org.eclipse.epsilon.eugenia.examples.fed.diagram.Feature_2001"/>
         <elementType ref="org.eclipse.epsilon.eugenia.examples.fed.diagram.Plugin_2002"/>
         <elementType ref="org.eclipse.epsilon.eugenia.examples.fed.diagram.Plugin_3001"/>
         <elementType ref="org.eclipse.epsilon.eugenia.examples.fed.diagram.FeatureDepends_4001"/>
         <elementType ref="org.eclipse.epsilon.eugenia.examples.fed.diagram.FeatureIncludes_4002"/>
         <advice ref="org.eclipse.gmf.runtime.diagram.core.advice.notationDepdendents"/>
      </binding>
   </extension>
	   <extension point="org.eclipse.core.expressions.propertyTesters" id="navigator-proptest.isURIEditorInput">
      <?gmfgen generated="true"?>
       <propertyTester
           id="org.eclipse.epsilon.eugenia.examples.fed.diagram.URIEditorInputPropertyTester"
           type="org.eclipse.emf.common.ui.URIEditorInput"
           namespace="org.eclipse.epsilon.eugenia.examples.fed.diagram"
           properties="isURIEditorInput"
           class="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedUriEditorInputTester">
       </propertyTester>
   </extension>

	   <extension point="org.eclipse.core.expressions.propertyTesters" id="navigator-proptest.isShortcut">
      <?gmfgen generated="true"?>
       <propertyTester
           id="org.eclipse.epsilon.eugenia.examples.fed.diagram.ShortcutPropertyTester"
           type="org.eclipse.gmf.runtime.notation.View"
           namespace="org.eclipse.epsilon.eugenia.examples.fed.diagram"
           properties="isShortcut"
           class="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedShortcutPropertyTester">
       </propertyTester>
   </extension>

	   <extension point="org.eclipse.ui.navigator.viewer" id="navigator-viewbinding">
      <?gmfgen generated="true"?>
      <viewerContentBinding viewerId="org.eclipse.ui.navigator.ProjectExplorer">
         <includes>
            <contentExtension pattern="org.eclipse.epsilon.eugenia.examples.fed.diagram.resourceContent"/>
			<contentExtension pattern="org.eclipse.epsilon.eugenia.examples.fed.diagram.domainResourceContent"/>
            <contentExtension pattern="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigatorLinkHelper"/>
         </includes>
      </viewerContentBinding>
      <viewerActionBinding viewerId="org.eclipse.ui.navigator.ProjectExplorer">
         <includes>
            <actionExtension pattern="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigatorActionProvider"/>
         </includes>
      </viewerActionBinding>
   </extension>

   <extension point="org.eclipse.ui.navigator.navigatorContent" id="navigator-content">
      <?gmfgen generated="true"?>
      <navigatorContent
            id="org.eclipse.epsilon.eugenia.examples.fed.diagram.resourceContent" 
            name="%navigatorContentName" 
            priority="normal" 
            contentProvider="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigator.FedNavigatorContentProvider" 
            labelProvider="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigator.FedNavigatorLabelProvider"
            icon="icons/obj16/FedDiagramFile.gif"
            activeByDefault="true">
         <triggerPoints>
            <or>
	           <and>
    	          <instanceof value="org.eclipse.core.resources.IFile"/>
        	      <test property="org.eclipse.core.resources.extension" value="fed_diagram"/>
               </and>
               <instanceof value="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigator.FedAbstractNavigatorItem"/>
           	   <adapt type="org.eclipse.gmf.runtime.notation.View">
           	      <test property="org.eclipse.epsilon.eugenia.examples.fed.diagram.isShortcut"/>
           	   </adapt>
            </or>
         </triggerPoints>
         <possibleChildren>
            <or>
         	   <instanceof value="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigator.FedAbstractNavigatorItem"/>
           	   <adapt type="org.eclipse.gmf.runtime.notation.View">
           	      <test property="org.eclipse.epsilon.eugenia.examples.fed.diagram.isShortcut"/>
           	   </adapt>
            </or>
         </possibleChildren>
         <commonSorter 
               id="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigatorSorter" 
               class="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigator.FedNavigatorSorter">
            <parentExpression>
               <or>
	              <and>
    	             <instanceof value="org.eclipse.core.resources.IFile"/>
        	         <test property="org.eclipse.core.resources.extension" value="fed_diagram"/>
                  </and>
                  <instanceof value="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigator.FedAbstractNavigatorItem"/>
               </or>
            </parentExpression>
         </commonSorter>
      </navigatorContent>
      <navigatorContent
            id="org.eclipse.epsilon.eugenia.examples.fed.diagram.domainResourceContent" 
            name="%domainNavigatorContentName" 
            priority="normal" 
            contentProvider="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigator.FedDomainNavigatorContentProvider" 
            labelProvider="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigator.FedDomainNavigatorLabelProvider"
            icon="icons/obj16/FedDiagramFile.gif"
            activeByDefault="true">
         <triggerPoints>
            <or>
	           <and>
    	          <instanceof value="org.eclipse.core.resources.IFile"/>
        	      <test property="org.eclipse.core.resources.extension" value="fed"/>
               </and>
               <instanceof value="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigator.FedDomainNavigatorItem"/>
            </or>
         </triggerPoints>
         <possibleChildren>
            <instanceof value="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigator.FedDomainNavigatorItem"/>
         </possibleChildren>
      </navigatorContent>
      <actionProvider
            id="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigatorActionProvider"
            class="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigator.FedNavigatorActionProvider">
         <enablement>
            <or>
               <instanceof value="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigator.FedAbstractNavigatorItem"/>
           	   <adapt type="org.eclipse.gmf.runtime.notation.View">
           	      <test property="org.eclipse.epsilon.eugenia.examples.fed.diagram.isShortcut"/>
           	   </adapt>
            </or>
         </enablement>
      </actionProvider>
   </extension>
   
	   <extension point="org.eclipse.ui.navigator.linkHelper" id="navigator-linkhelper">
      <?gmfgen generated="true"?>
      <linkHelper
            id="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigatorLinkHelper"
            class="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigator.FedNavigatorLinkHelper">
         <editorInputEnablement>
            <and>
               <instanceof value="org.eclipse.emf.common.ui.URIEditorInput"/>
               <test property="org.eclipse.epsilon.eugenia.examples.fed.diagram.isURIEditorInput"/>
            </and>
         </editorInputEnablement>
         <selectionEnablement>
            <instanceof value="org.eclipse.epsilon.eugenia.examples.fed.diagram.navigator.FedAbstractNavigatorItem"/>
         </selectionEnablement>
      </linkHelper>
   </extension>
   <extension point="org.eclipse.ui.commands" id="update-cmd">
      <?gmfgen generated="true"?>
      <command
         categoryId="org.eclipse.ui.category.edit"
         defaultHandler="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedDiagramUpdateCommand"
         description="%update.diagram.description"
         id="org.eclipse.epsilon.eugenia.examples.fed.diagram.updateDiagram"
         name="%update.diagram.name"/>
   </extension>
   
   <extension point="org.eclipse.ui.bindings" id="update-cmd-binding">
      <?gmfgen generated="true"?>
      <key 
         commandId="org.eclipse.epsilon.eugenia.examples.fed.diagram.updateDiagram"
         contextId="org.eclipse.epsilon.eugenia.examples.fed.diagram.ui.diagramContext"
         schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
         sequence="F5"/>
   </extension>

   <extension point="org.eclipse.ui.menus" id="context-menus">
      <?gmfgen generated="true"?>
      <!-- menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=">
      </menuContribution>
      <menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar?after=">
      </menuContribution -->
      <menuContribution locationURI="popup:org.eclipse.gmf.runtime.diagram.ui.DiagramEditorContextMenu">
         <command commandId="org.eclipse.epsilon.eugenia.examples.fed.diagram.LoadResourceAction">
            <visibleWhen>
               <and>
                  <with variable="activePartId"><equals value="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedDiagramEditorID"/></with>
                  <with variable="selection"><iterate ifEmpty="false"> 
                     <instanceof value="org.eclipse.epsilon.eugenia.examples.fed.diagram.edit.parts.ConfigurationEditPart"/>
                  </iterate></with>
               </and>
            </visibleWhen>
         </command>
      </menuContribution>
   </extension>

   <extension point="org.eclipse.ui.commands" id="menu-commands">
      <?gmfgen generated="true"?>
      <category id="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedDiagramEditorID" name="%cmdcategory.name" description="%cmdcategory.desc"/>
      <command id="org.eclipse.epsilon.eugenia.examples.fed.diagram.LoadResourceAction"
         name="Load Resource"
         categoryId="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.FedDiagramEditorID"
         defaultHandler="org.eclipse.epsilon.eugenia.examples.fed.diagram.part.LoadResourceAction"/>
   </extension>

   <extension point="org.eclipse.ui.handlers" id="menu-handlers">
      <?gmfgen generated="true"?>
   </extension>

   <!-- optionally, specify keybindings -->
</plugin>
