<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
     Copyright (c) 2011, 2015 Rüdiger Herrmann and others.
     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:
         Rüdiger Herrmann - initial API and implementation
         EclipseSource - ongoing development
 -->
<plugin>
   <extension
         point="org.eclipse.debug.core.launchConfigurationTypes">
      <launchConfigurationType
            delegate="org.eclipse.rap.tools.launch.rwt.internal.delegate.RWTLaunchDelegate"
            delegateDescription="%launchConfigurationType.delegateDescription"
            delegateName="%launchConfigurationType.delegateName"
            id="org.eclipse.rap.ui.internal.launch.rwt.RWTLaunchConfigType"
            modes="run,debug"
            name="%launchConfigurationType.name"
            public="true"
            sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
            sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer">
      </launchConfigurationType>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
      <launchConfigurationTypeImage
            configTypeID="org.eclipse.rap.ui.internal.launch.rwt.RWTLaunchConfigType"
            icon="$nl$/icons/full/obj16/launcher.gif"
            id="org.eclipse.rap.tools.launch.rwt.launchConfigurationTypeImage">
      </launchConfigurationTypeImage>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            class="org.eclipse.rap.tools.launch.rwt.internal.tab.RWTLaunchTabGroup"
            description="%launchConfigurationTabGroup.description"
            id="org.eclipse.rap.tools.launch.rwt.launchConfigurationTabGroup1"
            type="org.eclipse.rap.ui.internal.launch.rwt.RWTLaunchConfigType">
         <launchMode
               description="%runLaunchMode.description"
               mode="run">
         </launchMode>
         <launchMode
               description="%debugLaunchMode.description"
               mode="debug">
         </launchMode>
      </launchConfigurationTabGroup>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchShortcuts">
      <shortcut
            class="org.eclipse.rap.tools.launch.rwt.internal.shortcut.RWTLaunchShortcut"
            description="%shortcut.description"
            icon="icons/full/obj16/launcher.gif"
            id="org.eclipse.rap.tools.launch.rwt.rwtLaunchShortcut"
            label="%shortcut.label"
            modes="run, debug">
           <contextualLaunch>
             <enablement>
               <with variable="selection">
               <count value="+"/>
                 <iterate>
                  <adapt type="org.eclipse.jdt.core.IJavaElement">
                      <test property="org.eclipse.jdt.core.isInJavaProject"/>
                      <test
                            property="org.eclipse.jdt.core.hasTypeOnClasspath"
                            value="org.eclipse.rap.rwt.application.EntryPoint">
                      </test>
                  </adapt>
                 </iterate>
              </with>
             </enablement>
         </contextualLaunch>
         <configurationType
               id="org.eclipse.rap.ui.internal.launch.rwt.RWTLaunchConfigType">
         </configurationType>
         <description
               description="%runShortcut.description"
               mode="run">
         </description>
         <description
               description="%debugShortcut.description"
               mode="debug">
         </description>
      </shortcut>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            categoryId="org.eclipse.debug.ui.category.run"
            description="%runCommand.description"
            id="org.eclipse.rap.tools.launch.rwt.rwtLaunchShortcut.run"
            name="%runCommand.name">
      </command>
      <command
            categoryId="org.eclipse.debug.ui.category.run"
            description="%debugCommand.description"
            id="org.eclipse.rap.tools.launch.rwt.rwtLaunchShortcut.debug"
            name="%debugCommand.name">
      </command>
   </extension>
   
   <extension point="org.eclipse.ui.bindings">
       <key
            sequence="M2+M3+X 3"
            commandId="org.eclipse.rap.tools.launch.rwt.rwtLaunchShortcut.run"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
       <key
            sequence="M2+M3+D 3"
            commandId="org.eclipse.rap.tools.launch.rwt.rwtLaunchShortcut.debug"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
   </extension>
</plugin>
