<?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="flowchart_diagram"/>
   </extension>

   <extension point="org.eclipse.emf.ecore.extension_parser" id="resource-factory">
      <?gmfgen generated="true"?>
      <parser
         type="flowchart_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="flowchart.diagram.part.FlowchartDiagramEditorID"
         name="%editorName"
         icon="icons/obj16/FlowchartDiagramFile.gif"
         extensions="flowchart_diagram"
         default="true"
         class="flowchart.diagram.part.FlowchartDiagramEditor"
         matchingStrategy="flowchart.diagram.part.FlowchartMatchingStrategy"
         contributorClass="flowchart.diagram.part.FlowchartDiagramActionBarContributor">
      </editor>
   </extension>
   
   <extension point="org.eclipse.ui.contexts" id="ui-context">
      <?gmfgen generated="true"?>
      <context
         description="%context.description"
         id="flowchart.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/FlowchartDiagramFile.gif"
  	     category="org.eclipse.ui.Examples"
  	     class="flowchart.diagram.part.FlowchartCreationWizard"
  	     id="flowchart.diagram.part.FlowchartCreationWizardID">
  	  	 <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.flowchart.diagram.InitDiagram"
            nameFilter="*.flowchart"
            objectClass="org.eclipse.core.resources.IFile">
         <action
               label="%initDiagramActionLabel"
               class="flowchart.diagram.part.FlowchartInitDiagramFileAction"
               menubarPath="additions"
               enablesFor="1"
               id="org.eclipse.epsilon.eugenia.examples.flowchart.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="FlowchartPresentation">
         <Priority name="Lowest"/>
         <ViewId id="flowchart.diagram.part.FlowchartDiagramEditorID">
            <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="FlowchartPresentationPrint">
         <Priority name="Lowest"/>
         <ViewId id="flowchart.diagram.part.FlowchartDiagramEditorID">
            <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="FlowchartPresentationIDE">
         <Priority name="Lowest"/>
         <ViewId id="flowchart.diagram.part.FlowchartDiagramEditorID">
            <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="FlowchartRender">
         <Priority name="Lowest"/>
         <ViewId id="flowchart.diagram.part.FlowchartDiagramEditorID">
            <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="flowchart.diagram.providers.FlowchartMarkerNavigationProvider">
         <MarkerType name="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.diagnostic"/>
         <Priority name="Lowest"/>
      </MarkerNavigationProvider>
   </extension>

   <extension id="diagnostic" name="Flowchart 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="flowchart.diagram.providers.FlowchartValidationDecoratorProvider">
         <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="flowchart.diagram.preferences.DiagramPreferenceInitializer"/>
   </extension>

   <extension point="org.eclipse.ui.preferencePages" id="prefpages">
      <?gmfgen generated="true"?>
      <page
            id="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.general"
            name="%prefpage.org.eclipse.epsilon.eugenia.examples.flowchart.diagram.general"
            class="flowchart.diagram.preferences.DiagramGeneralPreferencePage">
      </page>
      <page
            id="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.appearance"
            name="%prefpage.org.eclipse.epsilon.eugenia.examples.flowchart.diagram.appearance"
            category="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.general"
            class="flowchart.diagram.preferences.DiagramAppearancePreferencePage">
      </page>
      <page
            id="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.connections"
            name="%prefpage.org.eclipse.epsilon.eugenia.examples.flowchart.diagram.connections"
            category="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.general"
            class="flowchart.diagram.preferences.DiagramConnectionsPreferencePage">
      </page>
      <page
            id="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.printing"
            name="%prefpage.org.eclipse.epsilon.eugenia.examples.flowchart.diagram.printing"
            category="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.general"
            class="flowchart.diagram.preferences.DiagramPrintingPreferencePage">
      </page>
      <page
            id="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.rulersAndGrid"
            name="%prefpage.org.eclipse.epsilon.eugenia.examples.flowchart.diagram.rulersAndGrid"
            category="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.general"
            class="flowchart.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.flowchart.diagram"
            labelProvider="flowchart.diagram.sheet.FlowchartSheetLabelProvider">
         <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.flowchart.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.flowchart.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="flowchart.diagram.sheet.FlowchartPropertySection">
            <input type="org.eclipse.gmf.runtime.notation.View"/>
            <input type="org.eclipse.gef.EditPart"/>
            <input type="flowchart.diagram.navigator.FlowchartAbstractNavigatorItem"/>
         </propertySection>
      </propertySections>
   </extension>

   <extension point="org.eclipse.gmf.runtime.diagram.core.viewProviders" id="view-provider">
      <?gmfgen generated="true"?>
      <viewProvider class="flowchart.diagram.providers.FlowchartViewProvider">
         <Priority name="Lowest"/>
         <object id="referencing-diagrams" class="org.eclipse.gmf.runtime.notation.Diagram">
            <method name="getType()" value="flowchart"/>
         </object>
         <context viewClass="org.eclipse.gmf.runtime.notation.Node" containerViews="referencing-diagrams"/>
         <context viewClass="org.eclipse.gmf.runtime.notation.Diagram" semanticHints="Flowchart"/>
         <context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="2001,2004,2003"/>
         <context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="4001"/>
      </viewProvider>
   </extension>

   <extension point="org.eclipse.gmf.runtime.diagram.ui.editpartProviders" id="ep-provider">
      <?gmfgen generated="true"?>
      <editpartProvider class="flowchart.diagram.providers.FlowchartEditPartProvider">
         <Priority name="Lowest"/>
         <object class="org.eclipse.gmf.runtime.notation.Diagram" id="generated-diagram">
            <method name="getType()" value="Flowchart"/>
         </object>
         <object class="org.eclipse.gmf.runtime.notation.Node" id="generated-nodes">
            <method name="getType()" value="2001,2004,2003"/>
         </object>
         <object class="org.eclipse.gmf.runtime.notation.Edge" id="generated-links">
            <method name="getType()" value="4001"/>
         </object>
         <object class="org.eclipse.gmf.runtime.notation.Node" id="generated-labels">
            <method name="getType()" value="5001,5004,5003"/>
         </object>
         <object class="org.eclipse.gmf.runtime.notation.Node" id="generated-compartments">
            <method name="getType()" value=""/>
         </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="flowchart.diagram.providers.FlowchartModelingAssistantProvider">
         <Priority name="Lowest"/>
         <object class="flowchart.diagram.edit.parts.FlowchartEditPart" id="Flowchart_1000"/>
         <object class="flowchart.diagram.edit.parts.SubflowEditPart" id="Subflow_2001"/>
         <object class="flowchart.diagram.edit.parts.ActionEditPart" id="Action_2004"/>
         <object class="flowchart.diagram.edit.parts.DecisionEditPart" id="Decision_2003"/>
         <context elements="Flowchart_1000,Subflow_2001,Action_2004,Decision_2003,"/>
      </modelingAssistantProvider>
   </extension>

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

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

   <extension point="org.eclipse.gmf.runtime.diagram.ui.decoratorProviders" id="decorator-provider">
      <?gmfgen generated="true"?>
      <decoratorProvider class="flowchart.diagram.providers.FlowchartShortcutsDecoratorProvider">
         <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,2004,2003"/>
         </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="flowchart">
         <metamodelType
               id="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.Flowchart_1000"
               name="%metatype.name.Flowchart_1000"
               kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
               eclass="Flowchart"
               edithelper="flowchart.diagram.edit.helpers.FlowchartEditHelper">
            <param name="semanticHint" value="1000"/>
         </metamodelType>
      </metamodel>
      <metamodel nsURI="flowchart">
         <metamodelType
               id="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.Subflow_2001"
               name="%metatype.name.Subflow_2001"
               kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
               eclass="Subflow"
               edithelper="flowchart.diagram.edit.helpers.SubflowEditHelper">
            <param name="semanticHint" value="2001"/>
         </metamodelType>
      </metamodel>
      <metamodel nsURI="flowchart">
         <metamodelType
               id="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.Action_2004"
               name="%metatype.name.Action_2004"
               kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
               eclass="Action"
               edithelper="flowchart.diagram.edit.helpers.ActionEditHelper">
            <param name="semanticHint" value="2004"/>
         </metamodelType>
      </metamodel>
      <metamodel nsURI="flowchart">
         <metamodelType
               id="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.Decision_2003"
               name="%metatype.name.Decision_2003"
               kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
               eclass="Decision"
               edithelper="flowchart.diagram.edit.helpers.DecisionEditHelper">
            <param name="semanticHint" value="2003"/>
         </metamodelType>
      </metamodel>
      <metamodel nsURI="flowchart">
         <metamodelType
               id="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.Transition_4001"
               name="%metatype.name.Transition_4001"
               kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
               eclass="Transition"
               edithelper="flowchart.diagram.edit.helpers.TransitionEditHelper">
            <param name="semanticHint" value="4001"/>
         </metamodelType>
      </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.flowchart.diagram.TypeContext">
         <enablement>
            <test
               property="org.eclipse.gmf.runtime.emf.core.editingDomain"
               value="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.EditingDomain"/>
         </enablement>
      </clientContext> 
      <binding context="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.TypeContext">
         <elementType ref="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.Flowchart_1000"/>
         <elementType ref="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.Subflow_2001"/>
         <elementType ref="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.Action_2004"/>
         <elementType ref="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.Decision_2003"/>
         <elementType ref="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.Transition_4001"/>
         <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.flowchart.diagram.URIEditorInputPropertyTester"
           type="org.eclipse.emf.common.ui.URIEditorInput"
           namespace="org.eclipse.epsilon.eugenia.examples.flowchart.diagram"
           properties="isURIEditorInput"
           class="flowchart.diagram.part.FlowchartUriEditorInputTester">
       </propertyTester>
   </extension>

	   <extension point="org.eclipse.core.expressions.propertyTesters" id="navigator-proptest.isShortcut">
      <?gmfgen generated="true"?>
       <propertyTester
           id="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.ShortcutPropertyTester"
           type="org.eclipse.gmf.runtime.notation.View"
           namespace="org.eclipse.epsilon.eugenia.examples.flowchart.diagram"
           properties="isShortcut"
           class="flowchart.diagram.part.FlowchartShortcutPropertyTester">
       </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.flowchart.diagram.resourceContent"/>
			<contentExtension pattern="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.domainResourceContent"/>
            <contentExtension pattern="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.navigatorLinkHelper"/>
         </includes>
      </viewerContentBinding>
      <viewerActionBinding viewerId="org.eclipse.ui.navigator.ProjectExplorer">
         <includes>
            <actionExtension pattern="org.eclipse.epsilon.eugenia.examples.flowchart.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.flowchart.diagram.resourceContent" 
            name="%navigatorContentName" 
            priority="normal" 
            contentProvider="flowchart.diagram.navigator.FlowchartNavigatorContentProvider" 
            labelProvider="flowchart.diagram.navigator.FlowchartNavigatorLabelProvider"
            icon="icons/obj16/FlowchartDiagramFile.gif"
            activeByDefault="true">
         <triggerPoints>
            <or>
	           <and>
    	          <instanceof value="org.eclipse.core.resources.IFile"/>
        	      <test property="org.eclipse.core.resources.extension" value="flowchart_diagram"/>
               </and>
               <instanceof value="flowchart.diagram.navigator.FlowchartAbstractNavigatorItem"/>
           	   <adapt type="org.eclipse.gmf.runtime.notation.View">
           	      <test property="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.isShortcut"/>
           	   </adapt>
            </or>
         </triggerPoints>
         <possibleChildren>
            <or>
         	   <instanceof value="flowchart.diagram.navigator.FlowchartAbstractNavigatorItem"/>
           	   <adapt type="org.eclipse.gmf.runtime.notation.View">
           	      <test property="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.isShortcut"/>
           	   </adapt>
            </or>
         </possibleChildren>
         <commonSorter 
               id="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.navigatorSorter" 
               class="flowchart.diagram.navigator.FlowchartNavigatorSorter">
            <parentExpression>
               <or>
	              <and>
    	             <instanceof value="org.eclipse.core.resources.IFile"/>
        	         <test property="org.eclipse.core.resources.extension" value="flowchart_diagram"/>
                  </and>
                  <instanceof value="flowchart.diagram.navigator.FlowchartAbstractNavigatorItem"/>
               </or>
            </parentExpression>
         </commonSorter>
      </navigatorContent>
      <navigatorContent
            id="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.domainResourceContent" 
            name="%domainNavigatorContentName" 
            priority="normal" 
            contentProvider="flowchart.diagram.navigator.FlowchartDomainNavigatorContentProvider" 
            labelProvider="flowchart.diagram.navigator.FlowchartDomainNavigatorLabelProvider"
            icon="icons/obj16/FlowchartDiagramFile.gif"
            activeByDefault="true">
         <triggerPoints>
            <or>
	           <and>
    	          <instanceof value="org.eclipse.core.resources.IFile"/>
        	      <test property="org.eclipse.core.resources.extension" value="flowchart"/>
               </and>
               <instanceof value="flowchart.diagram.navigator.FlowchartDomainNavigatorItem"/>
            </or>
         </triggerPoints>
         <possibleChildren>
            <instanceof value="flowchart.diagram.navigator.FlowchartDomainNavigatorItem"/>
         </possibleChildren>
      </navigatorContent>
      <actionProvider
            id="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.navigatorActionProvider"
            class="flowchart.diagram.navigator.FlowchartNavigatorActionProvider">
         <enablement>
            <or>
               <instanceof value="flowchart.diagram.navigator.FlowchartAbstractNavigatorItem"/>
           	   <adapt type="org.eclipse.gmf.runtime.notation.View">
           	      <test property="org.eclipse.epsilon.eugenia.examples.flowchart.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.flowchart.diagram.navigatorLinkHelper"
            class="flowchart.diagram.navigator.FlowchartNavigatorLinkHelper">
         <editorInputEnablement>
            <and>
               <instanceof value="org.eclipse.emf.common.ui.URIEditorInput"/>
               <test property="org.eclipse.epsilon.eugenia.examples.flowchart.diagram.isURIEditorInput"/>
            </and>
         </editorInputEnablement>
         <selectionEnablement>
            <instanceof value="flowchart.diagram.navigator.FlowchartAbstractNavigatorItem"/>
         </selectionEnablement>
      </linkHelper>
   </extension>
   <extension point="org.eclipse.ui.commands" id="update-cmd">
      <?gmfgen generated="true"?>
      <command
         categoryId="org.eclipse.ui.category.edit"
         defaultHandler="flowchart.diagram.part.FlowchartDiagramUpdateCommand"
         description="%update.diagram.description"
         id="flowchart.diagram.updateDiagram"
         name="%update.diagram.name"/>
   </extension>
   
   <extension point="org.eclipse.ui.bindings" id="update-cmd-binding">
      <?gmfgen generated="true"?>
      <key 
         commandId="flowchart.diagram.updateDiagram"
         contextId="flowchart.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.flowchart.diagram.LoadResourceAction">
            <visibleWhen>
               <and>
                  <with variable="activePartId"><equals value="flowchart.diagram.part.FlowchartDiagramEditorID"/></with>
                  <with variable="selection"><iterate ifEmpty="false"> 
                     <instanceof value="flowchart.diagram.edit.parts.FlowchartEditPart"/>
                  </iterate></with>
               </and>
            </visibleWhen>
         </command>
      </menuContribution>
   </extension>

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

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

</plugin>
