<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?><!--
     Copyright (c) 2010, 2012  Oracle. 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: 
     	Oracle - initial API and implementation
 -->

<plugin>
	
	<extension-point 
		id="jaxbPlatformUis" 
		name="%jaxbPlatformUi" 
		schema="schema/jaxbPlatformUis.exsd"/>
	
	
	<extension
		point="org.eclipse.core.runtime.adapters">
		
		<!-- JaxbPlatform -> JaxbPlatformUi -->
		<factory
			adaptableType="org.eclipse.jpt.jaxb.core.platform.JaxbPlatform"
			class="org.eclipse.jpt.jaxb.ui.internal.JaxbPlatformAdapterFactory">
			<adapter type="org.eclipse.jpt.jaxb.ui.platform.JaxbPlatformUi"/>
		</factory>

		<!-- IWorkbench -> JaxbWorkbench -->
		<factory
			adaptableType="org.eclipse.ui.IWorkbench"
			class="org.eclipse.jpt.jaxb.ui.internal.WorkbenchAdapterFactory">
			<adapter type="org.eclipse.jpt.jaxb.ui.JaxbWorkbench"/>
		</factory>

	</extension>


	<extension
		point="org.eclipse.ui.newWizards">

		<category
			id="org.eclipse.jpt.jaxb"
			name="%jaxbWizardCategoryName"/>

 		<wizard
            id="org.eclipse.jpt.jaxb.ui.wizard.generateSchemaFromClasses"
			name="%generateSchemaFromClassesName"
 			category="org.eclipse.jpt.jaxb"
 			class="org.eclipse.jpt.jaxb.ui.internal.wizards.schemagen.SchemaGeneratorWizard"
			icon="icons/full/etool16/NewXSD.gif">
				<description>%generateSchemaFromClassesDesc</description>
				<selection class="org.eclipse.core.resources.IResource"/> 
		</wizard>

 		<wizard
            id="org.eclipse.jpt.jaxb.ui.wizard.generateJAXBClasses"
			name="%generateClassesFromSchemaName"
 			category="org.eclipse.jpt.jaxb"
 			class="org.eclipse.jpt.jaxb.ui.internal.wizards.classesgen.ClassesGeneratorWizard"
			icon="icons/full/etool16/newclass_wiz.gif">
				<description>%generateClassesFromSchemaDesc</description>
		</wizard>

		<!-- will need to specify a final perspective once we have a jaxb perspective -->
		<wizard
			id="org.eclipse.jpt.jaxb.ui.wizard.newJaxbProject"
			name="%newJaxbProjectWizardName"
			icon="icons/full/etool16/new_jaxb_project_wiz.gif"
			category="org.eclipse.jpt.jaxb"
			project="true">
			<description>%newJaxbProjectWizardDesc</description>
			<class class="org.eclipse.jpt.jaxb.ui.internal.wizards.proj.JaxbProjectWizard"> 
				<parameter name="menuIndex" value="35"/> 
			</class>
		</wizard>
		
	</extension>
	
	
	<extension
		point="org.eclipse.jdt.ui.javaCompletionProposalComputer"
		id="jaxbCompletionProposals"
		name="%jaxbCompletionProposals">
		
		<proposalCategory icon="icons/full/etool16/jaxb_facet.gif">
			<enablement>
				<with variable="project">
					<adapt type="org.eclipse.core.resources.IProject">
						<reference definitionId="org.eclipse.jpt.jaxb.reference.hasJaxbFacet"/>
					</adapt>
				</with>
			</enablement>
		</proposalCategory>
		
	</extension>
	
	
	<extension
		point="org.eclipse.jdt.ui.javaCompletionProposalComputer"
		id="jaxbCompletionProposalComputer"
		name="%jaxbCompletionProposalComputer">
	
		<!-- activate = "true", but our plug-in will only activate if the JAXB proposal category is enabled (has JAXB facet) bug 386358 -->
		<javaCompletionProposalComputer
			class="org.eclipse.jpt.jaxb.ui.internal.JaxbJavaCompletionProposalComputer"
			categoryId="org.eclipse.jpt.jaxb.ui.jaxbCompletionProposals"
			activate="true">
			<partition type="__dftl_partition_content_type"/>
			<partition type="__java_string"/>
		</javaCompletionProposalComputer>
		
	</extension>
	
	
	<extension
		point="org.eclipse.jpt.jaxb.ui.jaxbPlatformUis">
		
		<jaxbPlatformUi
			id="generic_2_1.ui"
			jaxbPlatform="generic_2_1"
			class="org.eclipse.jpt.jaxb.ui.internal.jaxb21.GenericJaxb_2_1_PlatformUi"/>
		
		<jaxbPlatformUi
			id="generic_2_2.ui"
			jaxbPlatform="generic_2_2"
			class="org.eclipse.jpt.jaxb.ui.internal.jaxb22.GenericJaxb_2_2_PlatformUi"/>
		
	</extension>
	
	
	<extension
		point="org.eclipse.jst.common.project.facet.ui.libraryProviderActionPanels">
		
		<panel 
			provider="jaxb-jre-library-provider"
			class="org.eclipse.jst.common.project.facet.ui.libprov.SimpleMessageLibraryProviderInstallPanel"/>
	
	</extension>
	
	
	<extension
		point="org.eclipse.ui.commands">
		
		<command
			id="org.eclipse.jpt.jaxb.ui.command.createPackageInfo"
			name="%createPackageInfoCommand"/>
		
	</extension>		
			
	
	<extension
		point="org.eclipse.ui.handlers">
		
		<handler
			commandId="org.eclipse.jpt.jaxb.ui.command.createPackageInfo"
			class="org.eclipse.jpt.jaxb.ui.internal.commands.CreatePackageInfoCommandHandler">
			<enabledWhen>
				<iterate ifEmpty="false">
					<adapt type="org.eclipse.jpt.jaxb.core.context.JaxbPackage">
						<test 
							property="org.eclipse.jpt.jaxb.core.hasPackageInfo" 
							value="false"/>
					</adapt>
				</iterate>
			</enabledWhen>
		</handler>
		
	</extension>
	
	
	<extension
		point="org.eclipse.ui.menus">
		
		<!-- contributions for any popup -->
		<menuContribution
			locationURI="popup:org.eclipse.ui.popup.any">
			
			<!-- 
				"JAXB" submenu for any JaxbPackage
			-->
			<menu
				id="org.eclipse.jpt.jaxb.ui.menu.jaxb"
				label="%jaxbMenu">
				<visibleWhen>
					<with variable="selection">
						<iterate ifEmpty="false">
							<!-- bug 377809 test for jaxb facet: if o.e.jpt.jaxb.core plug-in not active, 
							     the JaxbPackage AdapterFactory will not be called and the expression evaluates to true,
							     that causes the JAXB menu to appear for JPA project packages -->
	        				<adapt type="org.eclipse.core.resources.IResource">
								<reference definitionId="org.eclipse.jpt.jaxb.reference.hasJaxbFacet"/>
        					</adapt>
 							<adapt type="org.eclipse.jpt.jaxb.core.context.JaxbPackage"/>
						</iterate>
					</with>
				</visibleWhen>
			</menu>
			
		</menuContribution>
		
		<!-- contributions to the JAXB menu -->
		<menuContribution
			locationURI="popup:org.eclipse.jpt.jaxb.ui.menu.jaxb">
			
			<!-- 
				"Create package-info.java" menu item for any JaxbPackage
				that does not already have one
			-->
			<command
				commandId="org.eclipse.jpt.jaxb.ui.command.createPackageInfo">
				<visibleWhen>
					<with variable="selection">
						<iterate ifEmpty="false">
							<adapt type="org.eclipse.jpt.jaxb.core.context.JaxbPackage">
								<test 
									property="org.eclipse.jpt.jaxb.core.hasPackageInfo" 
									value="false"/>
							</adapt>
						</iterate>
					</with>
				</visibleWhen>
			</command>
			
		</menuContribution>
		
	</extension>
	
	
	<extension
		point="org.eclipse.ui.navigator.navigatorContent">
		
		<navigatorContent
			id="org.eclipse.jpt.jaxb.ui.jaxbNavigatorContent"
			name="%jaxbNavigatorContent"
			priority="higher"
			appearsBefore="org.eclipse.jst.servlet.ui.EnhancedJavaRendering"
			icon="icons/full/obj16/jaxb_content.gif"
			activeByDefault="true"
			contentProvider="org.eclipse.jpt.jaxb.ui.internal.navigator.JaxbNavigatorContentProvider"
			labelProvider="org.eclipse.jpt.common.ui.internal.jface.NavigatorLabelProvider">
			
			<triggerPoints>
				<or>
					<instanceof value="org.eclipse.jpt.jaxb.core.context.JaxbContextNode"/>
					<adapt type="org.eclipse.core.resources.IProject"> 
						<reference definitionId="org.eclipse.jpt.jaxb.reference.hasJaxbFacet"/>
					</adapt>
				</or>
			</triggerPoints>
			
			<possibleChildren>
				<instanceof value="org.eclipse.jpt.jaxb.core.context.JaxbContextNode"/>
			</possibleChildren>
			
			<actionProvider
				class="org.eclipse.jpt.jaxb.ui.internal.navigator.JaxbNavigatorActionProvider"
				id="org.eclipse.jpt.jaxb.ui.jaxbActionProvider">
				<enablement>
					<instanceof value="org.eclipse.jpt.jaxb.core.context.JaxbContextNode"/>
				</enablement>
			</actionProvider>
			
			<!--
			<commonSorter
				id="org.eclipse.jst.j2ee.navigator.internal.J2EEViewerSorter"
				class="org.eclipse.jst.j2ee.navigator.internal.J2EEViewerSorter" />
			-->
			
		</navigatorContent>
		
	</extension>
	
	
	<extension
		point="org.eclipse.ui.navigator.viewer">
		
		<viewerContentBinding
			viewerId="org.eclipse.ui.navigator.ProjectExplorer">
			<includes>
				<contentExtension pattern="org.eclipse.jpt.jaxb.ui.*"/>
			</includes>
		</viewerContentBinding>
		
	</extension>
	
	
	<extension
		point="org.eclipse.ui.popupMenus">

		<!-- contributions to the "Generate" submenu -->
		<objectContribution
			id="org.eclipse.jpt.jaxb.ui.xsdFileActions"
			objectClass="org.eclipse.core.resources.IFile"
			nameFilter="*.xsd">
			<filter
				name="projectNature"
				value="org.eclipse.jdt.core.javanature">
			</filter>
			<action
				id="org.eclipse.jpt.jaxb.ui.generateJaxbClasses" 
				label="%generateJaxbClasses"
				menubarPath="generateMenuId/GenerateXML"
				class="org.eclipse.jpt.jaxb.ui.internal.actions.GenerateClassesAction"> 
			</action> 
		</objectContribution>
		
	</extension>
	
	
	<extension
		point="org.eclipse.ui.preferencePages">
		
		<!-- no actual preferences yet
		<page
			id="org.eclipse.jpt.jaxb.ui.jaxbPreferences"
			category="org.eclipse.jpt.jpa.ui.preferences"
			class="org.eclipse.jpt.jaxb.ui.internal.preferences.JaxbPreferencesPage"
			name="%jaxbNode"/>
		-->
		
		<!--
		<page
			id="org.eclipse.jpt.jaxb.ui.jaxbProblemSeveritiesPreferences"
			category="org.eclipse.jpt.jaxb.ui.jaxbPreferences"
			class="org.eclipse.jpt.jaxb.ui.internal.preferences.JaxbProblemSeveritiesPage"
			name="%jaxbProblemSeveritiesNode">
		</page>
		-->
		
	</extension>
	
	
	<extension
		point="org.eclipse.ui.propertyPages">
		
		<page
			id="org.eclipse.jpt.jaxb.ui.jaxbProjectProperties"
			name="%jaxbNode"
			class="org.eclipse.jpt.jaxb.ui.internal.properties.JaxbProjectPropertiesPage">
			<enabledWhen>
				<adapt type="org.eclipse.core.resources.IProject">
					<reference definitionId="org.eclipse.jpt.jaxb.reference.hasJaxbFacet"/>
				</adapt>
			</enabledWhen>
		</page>
		
		<page
			id="org.eclipse.jpt.jaxb.ui.jaxbSchemasProperties"
			name="%jaxbSchemas"
			category="org.eclipse.jpt.jaxb.ui.jaxbProjectProperties"
			class="org.eclipse.jpt.jaxb.ui.internal.properties.JaxbSchemasPropertiesPage">
			<enabledWhen>
				<adapt type="org.eclipse.core.resources.IProject">
					<reference definitionId="org.eclipse.jpt.jaxb.reference.hasJaxbFacet"/>
				</adapt>
			</enabledWhen>
		</page>
		
		<!--
		<page
			id="org.eclipse.jpt.jpa.ui.jaxbProblemSeveritiesProperties"
			name="%jaxbProblemSeveritiesNode"
			category="org.eclipse.jpt.jaxb.ui.jaxbProjectProperties"
			class="org.eclipse.jpt.jaxb.ui.internal.preferences.JaxbProblemSeveritiesPage">
			<enabledWhen>
				<adapt type="org.eclipse.core.resources.IProject">
					<test
						forcePluginActivation="true"
						property="org.eclipse.wst.common.project.facet.core.projectFacet"
						value="jpt.jaxb"/>
				</adapt>
			</enabledWhen>
		</page>
		-->
		
	</extension>
	
	
	<extension
		point="org.eclipse.wst.common.project.facet.ui.images">
		
		<image facet="jpt.jaxb" path="icons/full/etool16/jaxb_facet.gif"/>
		
	</extension>
	
	
	<extension 
		point="org.eclipse.wst.common.project.facet.ui.wizardPages">
		
		<wizard-pages action="jpt.jaxb.install">
			<page class="org.eclipse.jpt.jaxb.ui.internal.wizards.facet.JaxbFacetInstallPage"/>
		</wizard-pages>
		
		<wizard-pages action="jpt.jaxb.version-change">
			<page class="org.eclipse.jpt.jaxb.ui.internal.wizards.facet.JaxbFacetVersionChangePage"/>
		</wizard-pages>
		
	</extension>
 	
</plugin>
