<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
    Copyright (c) 2019 Mia-Software and others.
   
    This program and the accompanying materials
    are made available under the terms of the Eclipse Public License 2.0
    which accompanies this distribution, and is available at
    https://www.eclipse.org/legal/epl-2.0/
   
    SPDX-License-Identifier: EPL-2.0
   
    Contributors:
        Unknown - initial API and implementation
 -->

<plugin>
   <extension point="org.eclipse.modisco.infra.discovery.ui.discoverer">
      <discoverer
            discovererID="org.eclipse.modisco.usecase.modelfilter.methodcalls.discoverer.discoverMethodCallsModelFromJavaModel"
            label="%discoverer.label.0">
      </discoverer>
      <discoverer
            discovererID="org.eclipse.modisco.usecase.modelfilter.methodcalls.discoverer.discoverMethodCallsModelFromJavaProject"
            label="%discoverer.label.1">
      </discoverer>
   </extension>


   <extension point="org.eclipse.ui.commands">
      <command
            id="org.eclipse.modisco.usecase.modelfilter.methodcalls.discoverer.ui.DisplayMethodCalls"
            name="%command.name">
      </command>
   </extension>

   <extension point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.modisco.usecase.modelfilter.methodcalls.discoverer.ui.internal.handlers.DisplayMethodCallsHandler"
            commandId="org.eclipse.modisco.usecase.modelfilter.methodcalls.discoverer.ui.DisplayMethodCalls">
      </handler>
   </extension>

   <extension point="org.eclipse.ui.menus">
      <menuContribution locationURI="popup:org.eclipse.modisco.infra.discovery.ui.actionsMenu">
         <command commandId="org.eclipse.modisco.usecase.modelfilter.methodcalls.discoverer.ui.DisplayMethodCalls">
            <visibleWhen checkEnabled="false">
               <with variable="selection">
                  <iterate>
                     <or>
                        <and>
                           <adapt type="org.eclipse.core.resources.IFile"/>
                           <test property="org.eclipse.core.resources.contentTypeId" value="org.eclipse.modisco.java.contenttype"/>
                        </and>
                        <instanceof value="org.eclipse.jdt.core.IJavaProject"/>
                        <instanceof value="org.eclipse.modisco.java.AbstractMethodDeclaration"/>
                        <instanceof value="org.eclipse.jdt.core.IMethod"/>
                     </or>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
      </menuContribution>
   </extension>

   <extension
         point="org.eclipse.ui.editors">
      <editor
            class="org.eclipse.modisco.usecase.modelfilter.methodcalls.discoverer.ui.internal.editor.MethodCallsModelEditor"
            default="false"
            icon="resources/logoMoDiscoMini.gif"
            id="org.eclipse.modisco.usecase.modelfilter.methodcalls.discoverer.ui.prefuse.EditorID"
            name="%editor.name">
      </editor>
   </extension>

</plugin>
