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

  <extension point="org.eclipse.core.runtime.preferences">
    <initializer class="org.eclipse.dltk.python.internal.debug.ui.PythonDebugUIPreferenceInitializer" />
  </extension>

	<extension point="org.eclipse.debug.ui.debugModelContextBindings">
		<modelContextBinding
			contextId="org.eclipse.dltk.debug.ui.debugging"
			debugModelId="org.eclipse.dltk.debug.pythonModel" />
	</extension>

	<extension point="org.eclipse.debug.ui.debugModelPresentations">
		<debugModelPresentation
			class="org.eclipse.dltk.python.internal.debug.ui.PythonDebugModelPresentation"
			id="org.eclipse.dltk.debug.pythonModel" />
	</extension>

   <extension
	point="org.eclipse.debug.ui.launchConfigurationTypeImages">
 		<launchConfigurationTypeImage
			icon="icons/obj16/python_obj.gif"
			configTypeID="org.eclipse.dltk.python.launching.PythonLaunchConfigurationType"
			id="org.eclipse.dltk.python.debug.ui.launchConfigurationTypeImage.localPythonScript" />
		<launchConfigurationTypeImage
            icon="icons/obj16/python_obj.gif"
            configTypeID="org.eclipse.dltk.python.launching.PythonRemoteLaunchConfigurationType"
            id="org.eclipse.dltk.python.debug.ui.launchConfigurationTypeImage.remotePythonScript" />		
   </extension>
   
  
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            type="org.eclipse.dltk.python.launching.PythonLaunchConfigurationType"
            class="org.eclipse.dltk.python.internal.debug.ui.launchConfigurations.PythonTabGroup"
            id="org.eclipse.dltk.python.debug.ui.PythonTabGroup" />
      <launchConfigurationTabGroup
            type="org.eclipse.dltk.python.launching.PythonRemoteLaunchConfigurationType"
            class="org.eclipse.dltk.python.internal.debug.ui.launchConfigurations.PythonRemoteTabGroup"
            id="org.eclipse.dltk.python.debug.ui.PythonRemoteTabGroup" />
   </extension>
   
   <extension point="org.eclipse.ui.popupMenus">
		<viewerContribution
			id="org.eclipse.dltk.python.debug.ui.rulerContribution"
			targetID="#PythonRulerContext">

			<action label="%EnableDisableBreakpoint.label"
				id="org.eclipse.dltk.python.ui.actions.RulerEnableDisableBreakpointActionDelegate"
				class="org.eclipse.debug.ui.actions.RulerEnableDisableBreakpointActionDelegate"
				menubarPath="debug">
			</action>

			<action label="%ToggleBreakpoint.label"
				id="org.eclipse.dltk.python.ui.actions.RulerToggleBreakpointActionDelegate"
				class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
				menubarPath="debug">
			</action>

			<action
				class="org.eclipse.dltk.debug.ui.actions.ScriptBreakpointPropertiesRulerActionDelegate"
				id="org.eclipse.dltk.python.debug.ui.ScriptBreakpointPropertiesRulerActionDelegate"
				label="%BreakpointProperties.label" 
				menubarPath="group.properties" />
		</viewerContribution>
	</extension>
  
   <extension point="org.eclipse.debug.ui.launchShortcuts">
    <shortcut
          class="org.eclipse.dltk.python.internal.debug.ui.launcher.PythonLaunchShortcut"
          icon="icons/obj16/python_obj.gif"
          id="org.eclipse.dltk.python.debug.ui.launchShortcut"
          label="Python Script"
          modes="run, debug">
		<perspective id="org.eclipse.dltk.python.ui.PythonPerspective"/> 
        <contextualLaunch>
           <enablement>
             <with variable="selection">
               <count value="1"/>
               <iterate>
                <or>
           	     <test property="org.eclipse.dltk.launching.hasProjectNature" args="org.eclipse.dltk.python.core.nature"/>           	  
               	</or>
               </iterate>
               </with>
           </enablement>
  		 </contextualLaunch>
         <perspective
               id="org.eclipse.debug.ui.DebugPerspective">
         </perspective>
	</shortcut>
	</extension>
	
	<extension
         point="org.eclipse.ui.actionSetPartAssociations">
      <actionSetPartAssociation
            targetID="org.eclipse.debug.ui.launchActionSet">
         <part
               id="org.eclipse.dltk.python.ui.editor.PythonEditor">
         </part>
      </actionSetPartAssociation>
   </extension>


<extension
         point="org.eclipse.ui.console.consolePatternMatchListeners">
      <consolePatternMatchListener
            class="org.eclipse.dltk.python.internal.debug.ui.console.PythonConsoleTracker"
            regex="File &quot;.*&quot;, line \d*"
            id="org.eclipse.dltk.python.debug.ui.PythonConsoleTracker">
         <enablement>
            <or>
               <test property="org.eclipse.debug.ui.processTypeTest" value="pythonInterpreter"/>
            </or>
         </enablement>
      </consolePatternMatchListener>
     
   </extension>  

 <extension
    point="org.eclipse.ui.propertyPages">
    <page
      class="org.eclipse.dltk.python.internal.debug.ui.preferences.PythonDebugPreferencePage"
      category="org.eclipse.dltk.python.propertyPage"
      id="org.eclipse.dltk.python.propertyPage.debug"
      name="%Debug.PropertyPage">
      <enabledWhen>
        <adapt type="org.eclipse.core.resources.IProject">
          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.dltk.python.core.nature"/>
        </adapt>         
      </enabledWhen>
   </page>
   <page
      class="org.eclipse.dltk.python.internal.debug.ui.preferences.PythonDebuggingEnginePreferencePage"
      category="org.eclipse.dltk.python.propertyPage.debug"
      id="org.eclipse.dltk.python.propertyPage.debug.engines"
      name="%Engines.PropertyPage">
      <enabledWhen>
        <adapt type="org.eclipse.core.resources.IProject">
          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.dltk.python.core.nature"/>
        </adapt>         
      </enabledWhen>
   </page>
   </extension>

   <extension
         point="org.eclipse.ui.preferencePages">
      <page
		    category="org.eclipse.dltk.python.preferences"
            class="org.eclipse.dltk.python.internal.debug.ui.interpreters.PythonInterpreterPreferencePage"
            id="org.eclipse.dltk.python.preferences.interpreters"
            name="%Interpreters.PreferencePage"/>
      <page
            category="org.eclipse.dltk.python.preferences"
            class="org.eclipse.dltk.python.internal.debug.ui.preferences.PythonDebugPreferencePage"
            id="org.eclipse.dltk.python.preferences.debug"
            name="%Debug.PreferencePage">
      </page>
      <page
            category="org.eclipse.dltk.python.preferences.debug"
            class="org.eclipse.dltk.python.internal.debug.ui.preferences.PythonDebuggingEnginePreferencePage"
            id="org.eclipse.dltk.python.preferences.debug.engines"
            name="%Engines.PreferencePage">            
      </page>      
      <page
        category="org.eclipse.dltk.python.preferences.debug"
        class="org.eclipse.dltk.debug.ui.preferences.ScriptDetailFormattersPreferencePage:org.eclipse.dltk.python.core.nature"
        id="org.eclipse.dltk.python.preferences.debug.detailFormatters"
        name="%DetailFormattersPreferencePage.name" />       
   </extension>
   <extension
         point="org.eclipse.ui.actionSetPartAssociations">
      <actionSetPartAssociation
            targetID="org.eclipse.debug.ui.launchActionSet">
         <part
               id="org.eclipse.dltk.ui.ScriptExplorer">
         </part>
         <part
               id="org.eclipse.dltk.python.ui.editor.PythonEditor">
         </part>
      </actionSetPartAssociation>
   </extension>   
   <extension
         point="org.eclipse.dltk.ui.buildpathContainerPage">
      <buildpathContainerPage
            class="org.eclipse.dltk.python.internal.debug.ui.interpreters.PythonInterpreterContainerWizardPage"
            id="org.eclipse.dltk.python.launching.INTERPRETER_CONTAINER"
            name="Python Interpreter Libraries"
            nature="org.eclipse.dltk.python.core.nature"/>
   </extension>

  <extension point="org.eclipse.core.runtime.adapters">
       <factory
          adaptableType="org.eclipse.dltk.python.internal.ui.editor.PythonEditor"
          class="org.eclipse.dltk.python.internal.debug.ui.PythonEditorDebugAdapterFactory">
           <adapter type="org.eclipse.debug.ui.actions.IToggleBreakpointsTarget"/>
           <adapter type="org.eclipse.debug.ui.actions.IRunToLineTarget"/>
       </factory>         
    </extension>
    
   <extension point="org.eclipse.ui.editorActions">
		<editorContribution
			targetID="org.eclipse.dltk.python.ui.editor.PythonEditor"
			id="org.eclipse.dltk.python.debug.PythonEditor.BreakpointRulerActions">

			<action label="Toggle Breakpoint (label not used)"
				class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
				style="push" actionID="RulerDoubleClick"
				id="PythonEditor.doubleClickBreakpointAction" />

		</editorContribution>
	</extension>
 <extension
    point="org.eclipse.ui.perspectiveExtensions">
    <perspectiveExtension
      targetID="org.eclipse.dltk.python.ui.PythonPerspective">
      <actionSet
        id="org.eclipse.debug.ui.breakpointActionSet" />
    </perspectiveExtension>
  </extension>
<extension
    point="org.eclipse.debug.core.watchExpressionDelegates">
    <watchExpressionDelegate
      debugModel="org.eclipse.dltk.debug.pythonModel"
      delegateClass="org.eclipse.dltk.python.internal.debug.ui.PythonWatchExpressionDelegate" />
  </extension>  

  <extension point="org.eclipse.ui.commands">
    <command
      id="org.eclipse.dltk.python.debug.ui.commands.toggleGlobalVariables"
      description="%showGlobalVarsCommand.name"
      name="%showGlobalVarsCommand.description" />
    <command
      id="org.eclipse.dltk.python.debug.ui.commands.toggleClassVariables"
      description="%showClassVarsCommand.name"
      name="%showClassVarsCommand.description" />
    <command
      id="org.eclipse.dltk.python.debug.ui.commands.toggleLocalVariables"
      description="%showLocalVarsCommand.name"
      name="%showLocalVarsCommand.description" />
    <command
      id="org.eclipse.dltk.python.debug.ui.commands.showPreferences"
      description="%showPreferences.description"
      name="%showPreferencesCommand.name" />         
  </extension>

  <extension point="org.eclipse.ui.menus">
    <menuContribution locationURI="menu:org.eclipse.debug.ui.VariableView">
      <menu
        label="%variablesViewMenu.name"
        id="org.eclipse.dltk.python.debug.ui.menu.VariableView" />
    </menuContribution>
    <menuContribution locationURI="menu:org.eclipse.dltk.python.debug.ui.menu.VariableView">
      <command 
        commandId="org.eclipse.dltk.python.debug.ui.commands.toggleGlobalVariables"
        tooltip="%showGlobalVarsCommand.tooltip"     
        style="toggle" />
      <command 
        commandId="org.eclipse.dltk.python.debug.ui.commands.toggleClassVariables"
        tooltip="%showClassVarsCommand.tooltip"      
        style="toggle" />       
      <command 
        commandId="org.eclipse.dltk.python.debug.ui.commands.toggleLocalVariables"
        tooltip="%showLocalVarsCommand.tooltip" 
        style="toggle" />
      <command
        commandId="org.eclipse.dltk.python.debug.ui.commands.showPreferences" />                           
    </menuContribution>  
  </extension>

  <extension point="org.eclipse.ui.handlers">
    <handler 
      commandId="org.eclipse.dltk.python.debug.ui.commands.toggleGlobalVariables"
      class="org.eclipse.dltk.python.internal.debug.ui.handlers.ToggleGlobalVariablesHandler" />
    <handler 
      commandId="org.eclipse.dltk.python.debug.ui.commands.toggleClassVariables"
      class="org.eclipse.dltk.python.internal.debug.ui.handlers.ToggleClassVariablesHandler" />
    <handler 
      commandId="org.eclipse.dltk.python.debug.ui.commands.toggleLocalVariables"
      class="org.eclipse.dltk.python.internal.debug.ui.handlers.ToggleLocalVariablesHandler" />
    <handler
      commandId="org.eclipse.dltk.python.debug.ui.commands.showPreferences"
      class="org.eclipse.dltk.debug.ui.handlers.VariablesViewOptionsHandler:org.eclipse.dltk.python.core.nature" />                                    
  </extension>

  <extension point="org.eclipse.dltk.debug.ui.language">
    <language
      class="org.eclipse.dltk.python.internal.debug.ui.PythonDebugUILanguageToolkit"
      nature="org.eclipse.dltk.python.core.nature"/>
  </extension>
   
</plugin>
