<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?><!--
     Copyright (c) 2005, 2010 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
         Patrick Chuong (Texas Instruments) - Checkbox support for Flexible Hierachy view (Bug 286310)
 -->

<plugin>
<!--#ifdef ex1 -->   
<!--#else -->
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            class="org.eclipse.debug.examples.ui.pda.launcher.PDATabGroup"
            description="%pda.launchConfigurationTabGroup.description"
            id="pda.tabGroup"
            type="pda.launchType"/>
      <launchConfigurationTabGroup
            class="org.eclipse.debug.examples.ui.midi.launcher.MidiTabGroup"
            description="%midi.launchConfigurationTabGroup.description"
            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.shortcut.label"
            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="%midi.shortcut.description"
            icon="icons/full/obj16/note.gif"
            id="midi.launchShortcut"
            label="%midi.shortcut.label"
            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.name"
            id="pda.editor"
            extensions="pda"/>
   </extension>
   <extension
         point="org.eclipse.ui.editorActions">
      <editorContribution
            targetID="pda.editor"
            id="pda.rulerActions">
         <action
               label="%notused.action.label"
               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="%data.stack.view.name"
            id="pda.dataStackView"/>
      <view
            class="org.eclipse.debug.examples.ui.pda.views.CheckboxView"
            id="org.eclipse.debug.examples.ui.checkboxView"
            name="%checkbox.view.name"
            restorable="true">
      </view>
   </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="%context.description"
              name="%context.name"
              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.bp.action.label"
               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.action.label"
               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.action.label"/>
      </objectContribution>
      <objectContribution
            adaptable="false"
            id="pda.addMemoryBlock"
            objectClass="org.eclipse.debug.examples.core.pda.model.PDADebugTarget">
         <action
               class="org.eclipse.debug.examples.ui.pda.adapters.AddPDAMemoryBlockAction"
               id="pda.addMemoryBlock"
               label="%add.memoryblock.action.label">
         </action>
      </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>
         <adapter
    	     type="org.eclipse.debug.internal.ui.viewers.model.provisional.IModelProxyFactory">
   		</adapter>
      </factory>      
      <factory
            adaptableType="javax.sound.midi.Track"
            class="org.eclipse.debug.examples.ui.midi.adapters.MidiAdapterFactory">
         <adapter
    	     type="org.eclipse.debug.internal.ui.viewers.model.provisional.IModelProxyFactory">
   		</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.name">
      </command>
      <command
            id="org.eclipse.debug.examples.ui.popCommand"
            name="%pop.command.name">
      </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.command.label"
               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.command.label"
               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.command.label2"
               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.command.label2"
               style="push">
         </command>
      </menuContribution>
   </extension>
   <extension
         point="org.eclipse.debug.ui.memoryRenderings">
      <renderingBindings
            defaultIds="org.eclipse.debug.ui.rendering.raw_memory"
            renderingIds="org.eclipse.debug.ui.rendering.raw_memory, org.eclipse.debug.ui.rendering.ascii">
         <enablement>
            <instanceof
                  value="org.eclipse.debug.examples.core.pda.model.PDAMemoryBlock">
            </instanceof>
         </enablement>
      </renderingBindings>
   </extension>
   <extension
         point="org.eclipse.debug.core.statusHandlers">
      <statusHandler
            class="org.eclipse.debug.examples.ui.midi.launcher.ExampleLaunchStatusHandler"
            code="303"
            id="org.eclipse.debug.examples.ui.status.handler.launch"
            plugin="org.eclipse.debug.examples.core">
      </statusHandler>
   </extension>
</plugin>
