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

<plugin>

    <extension
            point="org.eclipse.ui.editors">
        <editor
            class="org.eclipse.amp.amf.parameters.ui.AParExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
            default="true"
            extensions="apar"
              icon="icons/etool16/parameter_file.gif"
            id="org.eclipse.amp.amf.parameters.APar"
              name="Parameter Editor">
        </editor>
    </extension>
    <extension
        point="org.eclipse.ui.handlers">
        <handler
            class="org.eclipse.amp.amf.parameters.ui.AParExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
            commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
            <activeWhen>
                <reference
                    definitionId="org.eclipse.amp.amf.parameters.APar.Editor.opened">
                </reference>
            </activeWhen>
        </handler>
        <handler
            class="org.eclipse.amp.amf.parameters.ui.AParExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
            commandId="org.eclipse.amp.amf.parameters.APar.validate">
         <activeWhen>
            <reference
                    definitionId="org.eclipse.amp.amf.parameters.APar.Editor.opened">
            </reference>
         </activeWhen>
      </handler>
    </extension>
    <extension point="org.eclipse.core.expressions.definitions">
        <definition id="org.eclipse.amp.amf.parameters.APar.Editor.opened">
            <and>
                <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
                <with variable="activeEditor">
                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
                        value="org.eclipse.amp.amf.parameters.APar" 
                        forcePluginActivation="true"/>
                </with>        
            </and>
        </definition>
    </extension>
    <extension
            point="org.eclipse.ui.preferencePages">
        <page
            class="org.eclipse.amp.amf.parameters.ui.AParExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
            id="org.eclipse.amp.amf.parameters.APar"
            name="APar">
            <keywordReference id="org.eclipse.amp.amf.parameters.ui.keyword_APar"/>
        </page>
        <page
            category="org.eclipse.amp.amf.parameters.APar"
            class="org.eclipse.amp.amf.parameters.ui.AParExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
            id="org.eclipse.amp.amf.parameters.APar.coloring"
            name="Syntax Coloring">
            <keywordReference id="org.eclipse.amp.amf.parameters.ui.keyword_APar"/>
        </page>
        <page
            category="org.eclipse.amp.amf.parameters.APar"
            class="org.eclipse.amp.amf.parameters.ui.AParExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
            id="org.eclipse.amp.amf.parameters.APar.templates"
            name="Templates">
            <keywordReference id="org.eclipse.amp.amf.parameters.ui.keyword_APar"/>
        </page>
    </extension>
    <extension
        point="org.eclipse.ui.keywords">
        <keyword
            id="org.eclipse.amp.amf.parameters.ui.keyword_APar"
            label="APar"/>
    </extension>
    <extension
         point="org.eclipse.ui.commands">
      <command
            description="Trigger expensive validation"
            id="org.eclipse.amp.amf.parameters.APar.validate"
            name="Validate">
      </command>
    </extension>
    <extension point="org.eclipse.ui.menus">
        <menuContribution
            locationURI="popup:#TextEditorContext?after=group.edit">
             <command
                 commandId="org.eclipse.amp.amf.parameters.APar.validate"
                 style="push"
                 tooltip="Trigger expensive validation">
            <visibleWhen checkEnabled="false">
                <reference
                    definitionId="org.eclipse.amp.amf.parameters.APar.Editor.opened">
                </reference>
            </visibleWhen>
         </command>  
         </menuContribution>
    </extension>
    <extension point="org.eclipse.ui.menus">
		<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
			<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
				<visibleWhen checkEnabled="false">
                	<reference definitionId="org.eclipse.amp.amf.parameters.APar.Editor.opened">
                	</reference>
            	</visibleWhen>
			</command>
		</menuContribution>
	</extension>
	<extension point="org.eclipse.ui.handlers">
	    <handler
            class="org.eclipse.amp.amf.parameters.ui.AParExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
            commandId="org.eclipse.xtext.ui.editor.FindReferences">
            <activeWhen>
                <reference
                    definitionId="org.eclipse.amp.amf.parameters.APar.Editor.opened">
                </reference>
            </activeWhen>
        </handler>
    </extension>   

<!-- adding resource factories -->

	<extension
		point="org.eclipse.emf.ecore.extension_parser">
		<parser
			class="org.eclipse.amp.amf.parameters.ui.AParExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
			type="apar">
		</parser>
	</extension>
	<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
        <resourceServiceProvider
            class="org.eclipse.amp.amf.parameters.ui.AParExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
            uriExtension="apar">
        </resourceServiceProvider>
<!--     <resourceServiceProvider
           class="org.eclipse.xtext.ui.ecore.ExecutableExtensionFactory:org.eclipse.amp.amf.parameters.ui.MetaABMResourceUIServiceProvider"
           uriExtension="metaabm">
     </resourceServiceProvider> -->
    </extension>




	<!-- Quick Outline -->
	<extension
		point="org.eclipse.ui.handlers">
		<handler 
			class="org.eclipse.amp.amf.parameters.ui.AParExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
			commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
			<activeWhen>
				<reference
					definitionId="org.eclipse.amp.amf.parameters.APar.Editor.opened">
				</reference>
			</activeWhen>
		</handler>
	</extension>
	<extension
		point="org.eclipse.ui.commands">
		<command
			description="Open the quick outline."
			id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
			name="Quick Outline">
		</command>
	</extension>
	<extension point="org.eclipse.ui.menus">
		<menuContribution
			locationURI="popup:#TextEditorContext?after=group.open">
			<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
				style="push"
				tooltip="Open Quick Outline">
				<visibleWhen checkEnabled="false">
					<reference definitionId="org.eclipse.amp.amf.parameters.APar.Editor.opened"/>
				</visibleWhen>
			</command>
		</menuContribution>
	</extension>
   <!-- quickfix marker resolution generator -->
   <extension
         point="org.eclipse.ui.ide.markerResolution">
      <markerResolutionGenerator
            class="org.eclipse.amp.amf.parameters.ui.AParExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator">
      </markerResolutionGenerator>
   </extension>

</plugin>
