<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?><!--
     Copyright (c) 2005, 2008 IBM Corporation 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:
         IBM Corporation - initial API and implementation
 -->

<plugin>
<!--#ifdef ex1 -->   
<!--#else -->
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            class="org.eclipse.debug.examples.ui.pda.launcher.PDATabGroup"
            description="Specify and launch a PDA program"
            id="pda.tabGroup"
            type="pda.launchType"/>
      <launchConfigurationTabGroup
            class="org.eclipse.debug.examples.ui.midi.launcher.MidiTabGroup"
            description="Play a MIDI file"
            id="midi.tabGroup"
            type="midi.launchType"/>            
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
      <launchConfigurationTypeImage
            icon="icons/full/obj16/pda.gif"
            configTypeID="pda.launchType"
            id="pda.typeImage"/>
      <launchConfigurationTypeImage
            icon="icons/full/obj16/note.gif"
            configTypeID="midi.launchType"
            id="midi.typeImage"/>            
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchShortcuts">
      <shortcut
            label="PDA Application"
            icon="icons/full/obj16/pda.gif"
            class="org.eclipse.debug.examples.ui.pda.launcher.PDALaunchShortcut"
            modes="run, debug"
            id="pda.launchShortcut">
         <contextualLaunch>
            <enablement>
               <with variable="selection">
                  <count value="1"/>
                  <iterate>
                     <instanceof value="org.eclipse.core.resources.IFile"/>
                     <test
                           value="*.pda"
                           property="org.eclipse.debug.ui.matchesPattern"/>
                  </iterate>
               </with>
            </enablement>
         </contextualLaunch>
         <configurationType
               id="pda.launchType">
         </configurationType>
      </shortcut>
      <shortcut
            class="org.eclipse.debug.examples.ui.midi.launcher.MidiLaunchShortcut"
            description="Plays a standard MIDI file"
            icon="icons/full/obj16/note.gif"
            id="midi.launchShortcut"
            label="MIDI File"
            modes="run, debug">
        <contextualLaunch>
            <enablement>
               <with variable="selection">
                  <count value="1"/>
                  <iterate>
                     <instanceof value="org.eclipse.core.resources.IFile"/>
                     <test
                           value="*.mid"
                           property="org.eclipse.debug.ui.matchesPattern"/>
                  </iterate>
               </with>
            </enablement>
         </contextualLaunch>
        <configurationType
              id="midi.launchType">
        </configurationType>            
      </shortcut>
   </extension>
<!--#endif -->   
   <extension
         point="org.eclipse.debug.ui.debugModelPresentations">
      <debugModelPresentation
            class="org.eclipse.debug.examples.ui.pda.presentation.PDAModelPresentation"
            id="pda.debugModel"/>
   </extension>
   <extension
         point="org.eclipse.ui.editors">
      <editor
            filenames="*.pda"
            class="org.eclipse.debug.examples.ui.pda.editor.PDAEditor"
            icon="icons/full/obj16/pda.gif"
            default="true"
            name="PDA Editor"
            id="pda.editor"
            extensions="pda"/>
   </extension>
   <extension
         point="org.eclipse.ui.editorActions">
      <editorContribution
            targetID="pda.editor"
            id="pda.rulerActions">
         <action
               label="Not Used"
               class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
               style="push"
               actionID="RulerDoubleClick"
               id="pda.doubleClickBreakpointAction"/>
      </editorContribution>
   </extension>
   <extension
         point="org.eclipse.ui.views">
      <view
            icon="icons/full/obj16/pda.gif"
            class="org.eclipse.debug.examples.ui.pda.views.DataStackView"
            name="PDA Data Stack"
            id="pda.dataStackView"/>
   </extension>
  
    <extension
          point="org.eclipse.ui.perspectiveExtensions">
       <perspectiveExtension targetID="org.eclipse.debug.ui.DebugPerspective">
          <view
                visible="false"
                relative="org.eclipse.debug.ui.VariableView"
                relationship="stack"
                id="pda.dataStackView"/>
       </perspectiveExtension>
    </extension>
     <extension
           point="org.eclipse.ui.contexts">
        <context
              parentId="org.eclipse.debug.ui.debugging"
              description="Debugging PDA Programs"
              name="Debugging PDA Programs"
              id="pda.debugging"/>
     </extension>
	  <extension
	        point="org.eclipse.debug.ui.debugModelContextBindings">
	     <modelContextBinding
	           contextId="pda.debugging"
	           debugModelId="pda.debugModel"/>
	  </extension>
	   <extension
	         point="org.eclipse.debug.ui.contextViewBindings">
	      <contextViewBinding
	            contextId="pda.debugging"
	            viewId="pda.dataStackView"/>
	   </extension>

	<extension
         point="org.eclipse.ui.popupMenus">           
      <viewerContribution
            targetID="pda.editor.rulerMenu"
            id="pda.editor.rulerActions">
         <action
               label="Toggle Breakpoint"
               class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
               menubarPath="debug"
               id="pda.editor.ruler.toggleBreakpointAction"/>
      </viewerContribution>
      <viewerContribution
            targetID="pda.editor.contextMenu"
            id="pda.editor.menuActions">
         <action
               label="Run to Line"
               definitionId="org.eclipse.debug.ui.commands.RunToLine"
               class="org.eclipse.debug.ui.actions.RunToLineActionDelegate"
               menubarPath="additions"
               id="pda.editor.context.runToLineAction"/>
      </viewerContribution>
<!--#ifdef ex5 -->
<!--#else -->      
      <objectContribution
            adaptable="false"
            id="pda.dropToFrame"
            objectClass="org.eclipse.debug.examples.core.pda.model.PDAStackFrame">
         <action
               class="org.eclipse.debug.examples.ui.pda.editor.PopFrameActionDelegate"
               id="pda.dropToFrame"
               label="Pop Frame"/>
      </objectContribution> 
<!--#endif -->       
   </extension>
   
   <extension
         point="org.eclipse.core.runtime.adapters">
      <factory
            class="org.eclipse.debug.examples.ui.pda.breakpoints.PDAEditorAdapterFactory"
            adaptableType="org.eclipse.debug.examples.ui.pda.editor.PDAEditor">
			<adapter type="org.eclipse.debug.ui.actions.IToggleBreakpointsTarget"/>
<!--#ifdef ex7 -->
<!--#else -->
			<adapter type="org.eclipse.debug.ui.actions.IRunToLineTarget"/>
<!--#endif -->
      </factory>
      <factory
            adaptableType="org.eclipse.debug.examples.core.pda.model.PDADebugElement"
            class="org.eclipse.debug.examples.ui.pda.adapters.CommandAdapterFactory">
         <adapter
               type="org.eclipse.debug.core.commands.IRestartHandler">
         </adapter>
      </factory>
-->
<!-- FLEXIBLE HIERARCHY EXAMPLE
      <factory
            adaptableType="org.eclipse.debug.examples.core.pda.model.PDADebugTarget"
            class="org.eclipse.debug.examples.ui.pda.adapters.AdapterFactory">
         <adapter
               type="org.eclipse.debug.internal.ui.viewers.model.provisional.IElementContentProvider">
         </adapter>
         <adapter
               type="org.eclipse.debug.internal.ui.viewers.model.provisional.IModelProxyFactory">
         </adapter>
      </factory>
-->
   </extension>
   
   <extension
         point="org.eclipse.core.runtime.adapters">
      <factory
            class="org.eclipse.debug.examples.ui.midi.adapters.MidiAdapterFactory"
            adaptableType="org.eclipse.debug.examples.core.midi.launcher.MidiLaunch">
			<adapter type="org.eclipse.debug.internal.ui.viewers.model.provisional.IElementContentProvider"/>
   <adapter
         type="org.eclipse.debug.internal.ui.viewers.model.provisional.IColumnPresentationFactory">
   </adapter>
   <adapter
         type="org.eclipse.debug.internal.ui.viewers.model.provisional.IModelProxyFactory">
   </adapter>
   <adapter
         type="org.eclipse.debug.internal.ui.viewers.model.provisional.IElementMementoProvider">
   </adapter>
   <adapter
         type="org.eclipse.debug.core.commands.IStepOverHandler">
   </adapter>
      </factory>
      <factory
            class="org.eclipse.debug.examples.ui.midi.adapters.MidiAdapterFactory"
            adaptableType="javax.sound.midi.Track">
			<adapter type="org.eclipse.debug.internal.ui.viewers.model.provisional.IElementLabelProvider"/>
   <adapter
         type="org.eclipse.debug.internal.ui.viewers.model.provisional.IElementContentProvider">
   </adapter>
   <adapter
         type="org.eclipse.debug.internal.ui.viewers.model.provisional.IColumnPresentationFactory">
   </adapter>
   <adapter
         type="org.eclipse.debug.core.commands.IStepOverHandler">
   </adapter>
      </factory>
      <factory
            adaptableType="org.eclipse.debug.examples.core.midi.launcher.SequencerControl"
            class="org.eclipse.debug.examples.ui.midi.adapters.MidiAdapterFactory">
         <adapter
               type="org.eclipse.debug.internal.ui.viewers.model.provisional.IElementLabelProvider">
         </adapter>
         <adapter
               type="org.eclipse.debug.internal.ui.viewers.model.provisional.IElementEditor">
         </adapter>
      </factory>
      <factory
            adaptableType="javax.sound.midi.MidiEvent"
            class="org.eclipse.debug.examples.ui.midi.adapters.MidiAdapterFactory">
         <adapter
               type="org.eclipse.debug.internal.ui.viewers.model.provisional.IElementLabelProvider">
         </adapter>
      </factory>      
   </extension>
   <extension
         point="org.eclipse.debug.ui.detailPaneFactories">
      <detailFactories
            class="org.eclipse.debug.examples.ui.midi.detailpanes.ControlDetailPaneFactory"
            id="org.eclipse.debug.examples.ui.controlFactory">
         <enablement>
            <with
                  variable="selection">
               <count
                     value="1">
               </count>
               <iterate>
                  <or>
                     <instanceof
                           value="org.eclipse.debug.examples.core.midi.launcher.TempoControl">
                     </instanceof>
                     <instanceof
                           value="org.eclipse.debug.examples.core.midi.launcher.ClockControl">
                     </instanceof>
                  </or>
               </iterate>
            </with>
         </enablement>
      </detailFactories>
   </extension>   
   <extension point="org.eclipse.debug.ui.toggleBreakpointsTargetFactories">
      <toggleTargetFactory
            id="org.eclipse.debug.examples.ui.pda.ToggleWatchpointsTargetFactory"
            class="org.eclipse.debug.examples.ui.pda.breakpoints.PDAToggleWatchpointsTargetFactory">
            <enablement>
            <!-- Test the active debug context.  Enable only if the context is a PDA 
            	  element , or if there is no debug context (with a debug model) selected. -->
            <with variable="debugContext">
               <iterate>
	               <or>
                      <test property="org.eclipse.debug.ui.getModelIdentifier" value="pda.debugModel"/>
                      <test property="org.eclipse.debug.ui.getModelIdentifier" value=""/>
                   </or>
	           </iterate>
            </with>
            <!-- If the debug context matches or if there is no active debug 
                 context.  Enable the breakpoint toggle for PDA's editor -->
            <or>
               <instanceof value="org.eclipse.debug.examples.ui.pda.editor.PDAEditor"/>
               <with variable="selection">
                  <count value="1"/>
                  <iterate>
                     <or>
                        <instanceof value="org.eclipse.debug.examples.core.pda.model.PDAVariable"/>
                     </or>
                  </iterate>
               </with>            
            </or>
         </enablement>
      </toggleTargetFactory>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            id="org.eclipse.debug.examples.ui.pushCommand"
            name="Push">
      </command>
      <command
            id="org.eclipse.debug.examples.ui.popCommand"
            name="Pop">
      </command>
   </extension>
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.debug.examples.ui.pda.views.PushHandler"
            commandId="org.eclipse.debug.examples.ui.pushCommand">
         <enabledWhen>
            <and>
               <with variable="activePart">
                  <instanceof value="org.eclipse.debug.examples.ui.pda.views.DataStackView"/>
               </with>
               <with variable="debugContext">
                  <count value="1"/>
                  <iterate operator="and">
                     <test property="org.eclipse.debug.ui.getModelIdentifier"
                           value="pda.debugModel">
                     </test>
                     <test property="org.eclipse.debug.examples.ui.canPush"/>
                  </iterate>
               </with>
            </and>
         </enabledWhen>
      </handler>
      <handler
            class="org.eclipse.debug.examples.ui.pda.views.PopHandler"
            commandId="org.eclipse.debug.examples.ui.popCommand">
         <enabledWhen>
            <and>
               <with variable="activePart">
                  <instanceof value="org.eclipse.debug.examples.ui.pda.views.DataStackView"/>
               </with>
               <with variable="debugContext">
                  <count value="1"/>
                  <iterate>
                     <test property="org.eclipse.debug.ui.getModelIdentifier"
                           value="pda.debugModel">
                     </test>
                  </iterate>
               </with>
               <with variable="selection">
                  <count value="1"/>               
               </with>
            </and>
         </enabledWhen>
      </handler>
   </extension>
   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="org.eclipse.debug.examples.ui.pda.views.CanPushTester"
            id="org.eclipse.debug.examples.ui.canPushTester"
            namespace="org.eclipse.debug.examples.ui"
            properties="canPush"
            type="org.eclipse.core.runtime.IAdaptable">
      </propertyTester>
   </extension>
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="popup:pda.dataStackView?after=additions">
         <command
               commandId="org.eclipse.debug.examples.ui.pushCommand"
               disabledIcon="icons/full/dlcl16/push.gif"
               icon="icons/full/elcl16/push.gif"
               label="Push"
               style="push">
         </command>
         <command
               commandId="org.eclipse.debug.examples.ui.popCommand"
               disabledIcon="icons/full/dlcl16/pop.gif"
               icon="icons/full/elcl16/pop.gif"
               label="Pop"
               style="push">
         </command>
      </menuContribution>
      <menuContribution
            locationURI="toolbar:pda.dataStackView?after=additions">
         <command
               commandId="org.eclipse.debug.examples.ui.pushCommand"
               disabledIcon="icons/full/dlcl16/push.gif"
               icon="icons/full/elcl16/push.gif"
               label="Push"
               style="push">
         </command>
         <command
               commandId="org.eclipse.debug.examples.ui.popCommand"
               disabledIcon="icons/full/dlcl16/pop.gif"
               icon="icons/full/elcl16/pop.gif"
               label="Pop"
               style="push">
         </command>
      </menuContribution>
   </extension>
</plugin>
