﻿<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
    <copyright>
   
    Copyright (c) 2005, 2010 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:
       Stefan Dimov - initial API, implementation and documentation
   
    </copyright>
   
 -->
<plugin>
    <extension point="org.eclipse.ui.editors">
      <editor
            class="org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditor"
            default="true"
            icon="icons/ent/entity.gif"
            id="org.eclipse.jpt.jpadiagrameditor.ui"
            matchingStrategy="org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.JPAEditorMatchingStrategy"
            name="%diagrameditor.name">
      </editor>
   </extension>
   
 <extension
       point="org.eclipse.ui.popupMenus">
       <objectContribution
          adaptable="false"
          id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramOnJpaContentNode"
          nameFilter="*"
          objectClass="org.eclipse.jpt.jpa.ui.JpaRootContextNodeModel">
          
			<enablement>
				<test property="org.eclipse.jpt.jpadiagrameditor.ui.jpaContentNodeFacet" value="jpt.jpa"/>
			</enablement>
       <menu
             id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramJpaContentNodeMenu"
             label="%diagrameditor.opendiagram.menu.label">
       </menu>
       <action
             class="org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.OpenJpaDiagramActionDelegate"
             enablesFor="1"
             id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramOnJpaContentNodeAction"
             label="%diagrameditor.opendiagram.action.label">
       </action>
    </objectContribution>
    <objectContribution
          adaptable="false"
          id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramJpa"
          nameFilter="*"
          objectClass="org.eclipse.jpt.jpa.core.JpaNode">
          
			<enablement>
				<test property="org.eclipse.jpt.jpadiagrameditor.ui.jpaProjectFacet" value="jpt.jpa"/>
			</enablement>
       <menu
             id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramJpaMenu"
             label="%diagrameditor.opendiagram.menu.label">
       </menu>
       <action
             class="org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.OpenJpaDiagramActionDelegate"
             enablesFor="1"
             id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramJpaAction"
             label="%diagrameditor.opendiagram.action.label">
       </action>
    </objectContribution>
    <objectContribution
          adaptable="true"
          id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramOnJpaProject"
          nameFilter="*"
          objectClass="org.eclipse.core.resources.IProject">
		<enablement>
			<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa"/>
		</enablement>
       <action
             class="org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.OpenJpaDiagramActionDelegate"
             enablesFor="1"
             id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramOnJpaProjectAction"
             label="%diagrameditor.opendiagram.action.project.label"
             menubarPath="org.eclipse.jpt.jpa.ui.menu.JpaTools/content">
       </action>
    </objectContribution>
 </extension>
<extension point="org.eclipse.ui.preferencePages">
 	<page
        category="org.eclipse.ui.preferencePages.Editors"
        class="org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferencesPage"
        id="org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferencesPage"
        name="%diagrameditor.prefpage">
   	</page>
</extension>
<extension
      point="org.eclipse.core.runtime.preferences">
   <initializer
         class="org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferenceInitializer">
   </initializer>
</extension>
<extension
      point="org.eclipse.ui.propertyPages">
   <page
         category="org.eclipse.jpt.jpa.ui.jpaProjectProperties"
         class="org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage"
         id="org.eclipse.jpt.jpadiagrameditor.ui.propertypage"
         name="%diagrameditor.prefpage">
			<enabledWhen>
				<adapt type="org.eclipse.core.resources.IProject"> 		        
		          <or>
				    <test
					     forcePluginActivation="true"
					     property="org.eclipse.wst.common.project.facet.core.projectFacet"
					     value="jpt.jpa:1.0">
					</test>
					<test
					     forcePluginActivation="true"
					     property="org.eclipse.wst.common.project.facet.core.projectFacet"
					     value="jpt.jpa:2.0">
					</test>
				  </or>	
		        </adapt> 
			</enabledWhen>         
   </page>
</extension>
<extension
      point="org.eclipse.graphiti.ui.diagramTypeProviders">
   <diagramTypeProvider
         class="org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorDiagramTypeProvider"
         id="org.eclipse.jpt.jpadiagrameditor.ui.provider.JPAEditorDiagramTypeProvider"
         name="org.eclipse.jpt.jpadiagrameditor.ui.provider.JPAEditorDiagramTypeProvider">
      <diagramType
            id="org.eclipse.jpt.jpadiagrameditor.ui.JPAEditorDiagramType">
      </diagramType>
      <imageProvider
            id="org.eclipse.jpt.jpadiagrameditor.ui.provider.JPAEditorImageProvider">
      </imageProvider>
   </diagramTypeProvider>
</extension>
<extension
      point="org.eclipse.graphiti.ui.diagramTypes">
   <diagramType
         description="This is the diagram type for the JPA editor"
         id="org.eclipse.jpt.jpadiagrameditor.ui.JPAEditorDiagramType"
         name="JPA editor diagram type"
         type="JPA Diagram">
   </diagramType>
</extension>
<extension
      point="org.eclipse.graphiti.ui.imageProviders">
   <imageProvider
         class="org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider"
         id="org.eclipse.jpt.jpadiagrameditor.ui.provider.JPAEditorImageProvider">
   </imageProvider>
</extension>

<extension point="org.eclipse.core.expressions.propertyTesters">
    <propertyTester
      id="org.eclipse.jpt.jpadiagrameditor.ui.propertytester.JpaProjectFacetVersionPropertyTester"
      type="org.eclipse.jpt.jpa.core.JpaNode"
      namespace="org.eclipse.jpt.jpadiagrameditor.ui"
      properties="jpaProjectFacet"
      class="org.eclipse.jpt.jpadiagrameditor.ui.internal.propertytester.JpaProjectFacetVersionPropertyTester">
    </propertyTester>
    <propertyTester
          class="org.eclipse.jpt.jpadiagrameditor.ui.internal.propertytester.JpaContentNodeFacetProjectVersionPropertyTester"
          id="org.eclipse.jpt.jpadiagrameditor.ui.JpaContentNodeFacetVersionPropertyTester"
          namespace="org.eclipse.jpt.jpadiagrameditor.ui"
          properties="jpaContentNodeFacet"
          type="org.eclipse.jpt.jpa.ui.JpaRootContextNodeModel">
    </propertyTester>
</extension>

</plugin>
