<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
**********************************************************************
* Copyright (c) 2005, 2019 SAP SE
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* Contributors:
*    SAP SE - initial API, implementation and documentation
*
* SPDX-License-Identifier: EPL-2.0
***********************************************************************
 -->

<plugin>

   <extension
         point="org.eclipse.graphiti.ui.diagramTypes">
      <diagramType
            description="This is the diagram type for the Graphiti tutorial"
            id="org.eclipse.graphiti.examples.tutorial.diagram.TutorialDiagramType"
            name="Graphiti Tutorial Diagram Type"
            type="tutorial">
      </diagramType>
   </extension>
   
   <extension
         point="org.eclipse.graphiti.ui.diagramTypeProviders">
      <diagramTypeProvider
            class="org.eclipse.graphiti.examples.tutorial.diagram.TutorialDiagramTypeProvider"
            description="This is the editor for the Graphiti tutorial"
            id="org.eclipse.graphiti.examples.tutorial.diagram.TutorialDiagramTypeProvider"
            name="Graphiti Tutorial Editor">
         <diagramType
               id="org.eclipse.graphiti.examples.tutorial.diagram.TutorialDiagramType">
         </diagramType>
         <imageProvider
               id="org.eclipse.graphiti.examples.tutorial.TutorialImageProvider">
         </imageProvider>
         <imageProvider
               id="org.eclipse.graphiti.examples.common.ExampleImageProvider">
         </imageProvider>
      </diagramTypeProvider>
   </extension>
   
   <extension
         point="org.eclipse.graphiti.ui.imageProviders">
      <imageProvider
            class="org.eclipse.graphiti.examples.tutorial.TutorialImageProvider"
            id="org.eclipse.graphiti.examples.tutorial.TutorialImageProvider">
      </imageProvider>
   </extension>
 
	<extension
	    point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
	    <propertyContributor contributorId="tutorial.PropertyContributor">
	        <propertyCategory category="Graphiti">
	        </propertyCategory>
	    </propertyContributor>
	</extension>
	 
	<extension
	    point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
	    <propertyTabs contributorId="tutorial.PropertyContributor">
	        <propertyTab label="Main" category="Graphiti" 
	            id="graphiti.main.tab">
	        </propertyTab>
	        
	        <!--
	        Defines a property sheet tab for the Eclipse tabbed property sheet for EReferences.
	        -->
			<propertyTab
				category="Graphiti"
				id="graphiti.table.tab"
				label="Table">
			</propertyTab>
	    </propertyTabs>
	</extension>
	 
	<extension
	    point="org.eclipse.ui.views.properties.tabbed.propertySections">
	    <propertySections contributorId="tutorial.PropertyContributor">
	        <propertySection tab="graphiti.main.tab"            
	         class="org.eclipse.graphiti.examples.tutorial.property.TutorialEClassSection"
	         filter="org.eclipse.graphiti.examples.tutorial.property.TutorialEClassFilter"
	         id="graphiti.main.tab.emfclass">
	        </propertySection>
	        
	        <!--
	        Defines a standard (table format) property sheet section using the table property sheet
	        integration into the Eclipse tabbed property sheet for EReferences.
	        -->
			<propertySection
				class="org.eclipse.ui.views.properties.tabbed.AdvancedPropertySection"
				filter="org.eclipse.graphiti.examples.tutorial.property.TutorialEReferenceFilter"
				id="graphiti.main.tab.emfreference.table"
				tab="graphiti.table.tab">
			</propertySection>
	    </propertySections>
	</extension>
 
	<extension point="org.eclipse.ui.commands">
		<command id="org.eclipse.graphiti.examples.tutorial.commands.createDiagramWithAllClasses" name="Create Diagram with all Classes" /> 
	</extension>

	<extension point="org.eclipse.ui.handlers">
		<handler commandId="org.eclipse.graphiti.examples.tutorial.commands.createDiagramWithAllClasses" class="org.eclipse.graphiti.examples.tutorial.handlers.CreateDiagramWithAllClassesHandler">
			<enabledWhen>
				<reference definitionId="org.eclipse.graphiti.examples.tutorial.definitions.OneEClassesNodeSelected" /> 
			</enabledWhen>
			<activeWhen>
				<reference definitionId="org.eclipse.graphiti.examples.tutorial.definitions.OneEClassesNodeSelected" /> 
			</activeWhen>
		</handler>
	</extension>

	<extension point="org.eclipse.ui.menus">
		<menuContribution locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions">
			<command commandId="org.eclipse.graphiti.examples.tutorial.commands.createDiagramWithAllClasses">
				<visibleWhen>
					<reference definitionId="org.eclipse.graphiti.examples.tutorial.definitions.OneEClassesNodeSelected" /> 
				</visibleWhen>
			</command>
		</menuContribution>
	</extension>

	<extension point="org.eclipse.core.expressions.definitions">
		<definition id="org.eclipse.graphiti.examples.tutorial.definitions.OneEClassesNodeSelected">
			<and>
				<count value="1" /> 
				<iterate ifEmpty="false" operator="and">
					<instanceof value="org.eclipse.graphiti.examples.common.navigator.nodes.EClassesNode" /> 
				</iterate>
			</and>
		</definition>
	</extension>

	<!--
	Registers an Eclipse adapter factory to provide IPropertySource objects for the GraphitiConnectionEditPart
	that gets selected in the DiagramEditor to provide a standard (table format) property sheet for EReference
	objects.
	-->
	<extension
       point="org.eclipse.core.runtime.adapters">
		<factory
			adaptableType="org.eclipse.graphiti.ui.platform.GraphitiConnectionEditPart"
			class="org.eclipse.graphiti.examples.tutorial.property.GraphitiEditPartToIPropertySourceAdapterFactory">
			<adapter
				type="org.eclipse.ui.views.properties.IPropertySource">
			</adapter>
		</factory>
	</extension>
</plugin>
 
