<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
             
    <extension point="org.eclipse.core.runtime.adapters">
        <factory class="org.eclipse.ocl.examples.debug.ui.actions.CompleteOCLRetargettableActionAdapterFactory"
            adaptableType="org.eclipse.ocl.xtext.completeocl.ui.CompleteOCLEditor">
            	<adapter type="org.eclipse.debug.ui.actions.IToggleBreakpointsTarget"/>
            	<adapter type="org.eclipse.debug.ui.actions.IRunToLineTarget"/>
        </factory>    
        <factory class="org.eclipse.ocl.examples.debug.ui.actions.OCLinEcoreRetargettableActionAdapterFactory"
            adaptableType="org.eclipse.ocl.xtext.oclinecore.ui.OCLinEcoreEditor">
            	<adapter type="org.eclipse.debug.ui.actions.IToggleBreakpointsTarget"/>
            	<adapter type="org.eclipse.debug.ui.actions.IRunToLineTarget"/>
        </factory>    
    </extension>
    
	<extension point="org.eclipse.ui.commands">
	  <command id="org.eclipse.ocl.examples.debug.ui.EnableDisableBreakpointCommand"
	    name="%EnableBreakpoint.label" description="%EnableBreakpoint.description"/>
	  <command id="org.eclipse.ocl.examples.debug.ui.AddRemoveBreakpointCommand"
	    name="%AddBreakpoint.label" description="%AddBreakpoint.description"/>
	  <command id="org.eclipse.ocl.examples.debug.ui.OCLBreakpointPropertiesCommand"
	    name="%OCLBreakpointProperties.label" description="%OCLBreakpointProperties.description"/>
	  <!--command id="org.eclipse.ocl.examples.debug.ui.RunToLineCommand"
	    name="%RunToLine.label" description="%RunToLine.description"/-->
	</extension>
	<extension point="org.eclipse.ui.handlers">
	  <handler commandId="org.eclipse.ocl.examples.debug.ui.EnableDisableBreakpointCommand"
	    class="org.eclipse.ocl.examples.debug.vm.ui.actions.VMEnableDisableBreakpointHandler"/>
	  <handler commandId="org.eclipse.ocl.examples.debug.ui.AddRemoveBreakpointCommand"
	    class="org.eclipse.ocl.examples.debug.vm.ui.actions.VMToggleBreakpointHandler"/>
	  <handler commandId="org.eclipse.ocl.examples.debug.ui.OCLBreakpointPropertiesCommand"
	    class="org.eclipse.ocl.examples.debug.vm.ui.actions.VMBreakpointPropertiesHandler"/>
	  <!--handler commandId="org.eclipse.ocl.examples.debug.ui.RunToLineCommand"
	    Since I have never used this for JDT, I cannot justofy spending time making it work for OCL
	    class="org.eclipse.ocl.examples.debug.vm.ui.actions.VMRunToLineHandler"/-->
	</extension>
	<extension point="org.eclipse.ui.menus">
	  <menuContribution locationURI="popup:#CompleteOCLRulerContext?after=additions">
	    <command commandId="org.eclipse.ocl.examples.debug.ui.EnableDisableBreakpointCommand"
	      label="%EnableBreakpoint.label"/>
	    <command commandId="org.eclipse.ocl.examples.debug.ui.AddRemoveBreakpointCommand"
	      label="%AddBreakpoint.label" icon="icons/brkp_obj.gif"/>
	    <command commandId="org.eclipse.ocl.examples.debug.ui.OCLBreakpointPropertiesCommand"
	      label="%OCLBreakpointProperties.label"/>
	  </menuContribution>
	  <menuContribution locationURI="popup:#EssentialOCLRulerContext?after=additions">
	    <command commandId="org.eclipse.ocl.examples.debug.ui.EnableDisableBreakpointCommand"
	      label="%EnableBreakpoint.label"/>
	    <command commandId="org.eclipse.ocl.examples.debug.ui.AddRemoveBreakpointCommand"
	      label="%AddBreakpoint.label" icon="icons/brkp_obj.gif"/>
	    <command commandId="org.eclipse.ocl.examples.debug.ui.OCLBreakpointPropertiesCommand"
	      label="%OCLBreakpointProperties.label"/>
	  </menuContribution>
	  <menuContribution locationURI="popup:#OCLinEcoreRulerContext?after=additions">
	    <command commandId="org.eclipse.ocl.examples.debug.ui.EnableDisableBreakpointCommand"
	      label="%EnableBreakpoint.label"/>
	    <command commandId="org.eclipse.ocl.examples.debug.ui.AddRemoveBreakpointCommand"
	      label="%AddBreakpoint.label" icon="icons/brkp_obj.gif"/>
	    <command commandId="org.eclipse.ocl.examples.debug.ui.OCLBreakpointPropertiesCommand"
	      label="%OCLBreakpointProperties.label"/>
	  </menuContribution>
	  <menuContribution locationURI="popup:#OCLstdlibRulerContext?after=additions">
	    <command commandId="org.eclipse.ocl.examples.debug.ui.EnableDisableBreakpointCommand"
	      label="%EnableBreakpoint.label"/>
	    <command commandId="org.eclipse.ocl.examples.debug.ui.AddRemoveBreakpointCommand"
	      label="%AddBreakpoint.label" icon="icons/brkp_obj.gif"/>
	    <command commandId="org.eclipse.ocl.examples.debug.ui.OCLBreakpointPropertiesCommand"
	      label="%OCLBreakpointProperties.label"/>
	  </menuContribution>
	</extension>
	 <!--extension point="org.eclipse.ui.popupMenus">	
		 <viewerContribution id="org.eclipse.ocl.examples.debug.ui.OCLEditorRulerPopupActions"
				targetID="#OCLRulerContext">
	         <action id="org.eclipse.ocl.examples.debug.ui.RulerEnableDisableBreakpointActionDelegate"
	               label="%EnableBreakpoint.label"
	               class="org.eclipse.debug.ui.actions.RulerEnableDisableBreakpointActionDelegate"
	               menubarPath="debug"/>
	         <action id="org.eclipse.debug.ui.BreakpointRulerActionDelegate"
	               label="%AddBreakpoint.label"
	               class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
	               menubarPath="debug"
	               icon="icons/brkp_obj.gif"/>
	      </viewerContribution>    
	      
		<viewerContribution id="org.eclipse.ocl.examples.debug.ui.OCLEditorRunToLine"
			targetID="#OCLEditorContext">
		 <action id="org.eclipse.ocl.examples.debug.ui.actions.RunToLineAction"
               class="org.eclipse.debug.ui.actions.RunToLineActionDelegate"
               label="%RunToLine.label"
               definitionId="org.eclipse.debug.ui.commands.RunToLine"
               menubarPath="additions"/>	            
         <visibility>
               <systemProperty
                     name="org.eclipse.ocl.examples.debug.debuggerActive"
                     value="true"/>
         </visibility>
		</viewerContribution>
		
       <viewerContribution
            id="org.eclipse.ocl.examples.debug.ui.OCLEditorWatch"
            targetID="#TextEditorContext">
         <action
               class="org.eclipse.m2m.internal.qvt.oml.debug.ui.actions.OCLWatchAction"
               label="%watch"
               enablesFor="+"
               icon="icons/watch_exp_enabled.gif"
               id="org.eclipse.ocl.examples.debug.ui.actions.WatchAction"
               menubarPath="additions">
            <enablement>
               <and>
                  <systemProperty
                        name="org.eclipse.ocl.examples.debug.debuggerActive"
                        value="true"/>
                  <objectClass name="org.eclipse.jface.text.ITextSelection"/>
               </and>
            </enablement>
         </action>
         <visibility>
            <and>
               <systemProperty
                     name="org.eclipse.ocl.examples.debug.debuggerActive"
                     value="true"/>
               <objectClass name="org.eclipse.jface.text.ITextSelection"/>
            </and>
         </visibility>
      </viewerContribution>
 
      <objectContribution id="org.eclipse.ocl.examples.debug.ui.OCLBreakpointObjectActions"
			objectClass="org.eclipse.ocl.examples.debug.OCLBreakpoint">
         <action id="org.eclipse.ocl.examples.debug.ui.actions.OCLBreakpointProperties"
               class="org.eclipse.ocl.examples.debug.ui.actions.OCLBreakpointPropertiesAction"
               enablesFor="1"
               label="%OCLBreakpointProperties.label"
               menubarPath="additions"/>
      </objectContribution>
		
    </extension-->

  <extension point = "org.eclipse.emf.ecore.validation_delegate">
    <delegate uri = "http://www.eclipse.org/emf/2002/Ecore/OCL/Debug"
       class = "org.eclipse.ocl.examples.debug.ui.delegate.OCLDebugValidationDelegateFactory$Global" />
  </extension>

  <extension point = "org.eclipse.emf.ecore.setting_delegate">
    <factory uri = "http://www.eclipse.org/emf/2002/Ecore/OCL/Debug"
       class = "org.eclipse.ocl.examples.debug.ui.delegate.OCLDebugSettingDelegateFactory$Global" />
  </extension>

  <extension point = "org.eclipse.emf.ecore.invocation_delegate">
    <factory uri = "http://www.eclipse.org/emf/2002/Ecore/OCL/Debug"
       class = "org.eclipse.ocl.examples.debug.ui.delegate.OCLDebugInvocationDelegateFactory$Global" />
  </extension>
 
  <extension point = "org.eclipse.emf.ecore.query_delegate">
    <factory uri = "http://www.eclipse.org/emf/2002/Ecore/OCL/Debug"
       class = "org.eclipse.ocl.examples.debug.ui.delegate.OCLDebugQueryDelegateFactory$Global" />
  </extension>
    
   <!-- See Bug 455985 requesting replacements for actionID="RulerDoubleClick"-->
   <extension point="org.eclipse.ui.editorActions">
      <editorContribution id="org.eclipse.debug.ui.CompleteOCLBreakpointRulerActions"
            targetID="org.eclipse.ocl.xtext.completeocl.CompleteOCL">
		<action id="org.eclipse.ocl.examples.debug.ui.actions.CompleteOCLRulerToggleBreakpointAction"
			label="%AddBreakpoint.label"
			class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
			actionID="RulerDoubleClick"/>
      </editorContribution>
      <editorContribution id="org.eclipse.debug.ui.OCLinEcoreBreakpointRulerActions"
            targetID="org.eclipse.ocl.xtext.oclinecore.OCLinEcore">
		<action id="org.eclipse.ocl.examples.debug.ui.actions.OCLinEcoreRulerToggleBreakpointAction"
			label="%AddBreakpoint.label"
			class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
			actionID="RulerDoubleClick"/>
      </editorContribution>
    </extension>
          
   <extension point="org.eclipse.ui.propertyPages">
      <page id="org.eclipse.ocl.examples.debug.ui.propertypages.LineBreakpoints"
            name="%OCLBreakpointPropertiesPage.name"
            class="org.eclipse.ocl.examples.debug.ui.pages.OCLLineBreakpointPage">
         <enabledWhen>
            <or>
               <instanceof value="org.eclipse.ocl.examples.debug.core.OCLLineBreakpoint"/>
               <adapt type="org.eclipse.ocl.examples.debug.core.OCLLineBreakpoint"/>
            </or>
         </enabledWhen>
      </page>
   </extension>
          
    <extension point="org.eclipse.debug.ui.debugModelPresentations">
       <debugModelPresentation id="org.eclipse.ocl.examples.debug"
             class="org.eclipse.ocl.examples.debug.ui.pages.OCLDebugModelPresentation"/>
    </extension>     
    
   <extension point="org.eclipse.debug.ui.debugModelContextBindings">
      <modelContextBinding
            contextId="org.eclipse.debug.ui.debugging"
            debugModelId="org.eclipse.ocl.examples.debug"/>
   </extension>    


   <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
      <launchConfigurationTypeImage
            configTypeID="org.eclipse.ocl.examples.debug.launching.OCLLaunchConfigurationDelegate"
            icon="icons/OCLModelFile.gif"
            id="OCL Debug"/>
   </extension>
   
   <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup id="org.eclipse.ocl.examples.debug.launching.OCLLaunchConfigurationTabGroup"
            class="org.eclipse.ocl.examples.debug.ui.launching.LaunchConfigurationTabGroup"
            description="Create a configuration to run an OCL expression"
            type="org.eclipse.ocl.examples.debug.launching.OCLLaunchConfigurationDelegate">
            <launchMode 
                  mode="debug"
                  perspective="org.eclipse.debug.ui.DebugPerspective"
                  description="%localJavaApplicationTabGroupDescription.debug">
            </launchMode>
            <launchMode
                  mode="run"
                  description="%localJavaApplicationTabGroupDescription.run">
            </launchMode>
        </launchConfigurationTabGroup>
   </extension>

   <extension point="org.eclipse.debug.core.launchDelegates">
       <launchDelegate id="org.eclipse.ocl.examples.debug.ui.DebugLaunchDelegate"
             delegate="org.eclipse.ocl.examples.debug.launching.OCLVMLaunchConfigurationDelegate"
             modes="debug"
             name="%MF_OCLExpressionDebug"
             sourceLocatorId="org.eclipse.ocl.examples.debug.srclookup.OCLSourceLookupDirector"
             sourcePathComputerId="org.eclipse.ocl.examples.debug.srclookup.OCLSourcePathComputer"
             type="org.eclipse.ocl.examples.debug.launching.OCLLaunchConfigurationDelegate">
             
          <modeCombination modes="debug" perspective="org.eclipse.debug.ui.DebugPerspective"/>
       </launchDelegate>
    </extension>
    <!--extension point="org.eclipse.ui.views">
       <category id="org.eclipse.ocl.examples.debug"
            name="%qvtoCategoryName"/>
       <view id="org.eclipse.ocl.examples.debug.ui.views.trace"
            category="org.eclipse.m2m.qvt.oml"
            class="org.eclipse.m2m.internal.qvt.oml.debug.ui.views.TraceViewPart"
            icon="icons/trace-view.gif"
            name="%traceView"/>
    </extension>
    <extension
          point="org.eclipse.ui.perspectiveExtensions">
       <perspectiveExtension
             targetID="org.eclipse.debug.ui.DebugPerspective">
          <view id="org.eclipse.ocl.examples.debug.ui.views.trace"
                minimized="false"
                relationship="stack"
                relative="org.eclipse.debug.ui.VariableView"
                visible="true">
          </view>
       </perspectiveExtension>
    </extension-->   
   	
	<!-- OCL->Debug action -->
	<extension point="org.eclipse.ui.handlers">
		<handler commandId="org.eclipse.ocl.examples.debug.ui.DebugHandler"
			class="org.eclipse.ocl.examples.debug.ui.actions.DebugHandler"/>
	</extension>
	<extension point="org.eclipse.ui.commands">
		<command id="org.eclipse.ocl.examples.debug.ui.DebugHandler"
			description="%MF_Debug"
			name="%MF_Debug">
		</command>
	</extension>
	<extension point="org.eclipse.ui.menus">
		<menuContribution locationURI="popup:org.eclipse.ocl.examples.ui.Menu?after=show">
			<command commandId="org.eclipse.ocl.examples.debug.ui.DebugHandler"
         icon="icons/debug_exc.gif"
         style="push"
         tooltip="%MF_Debug">
				<visibleWhen checkEnabled="false">
					<test property="org.eclipse.ocl.examples.ui.resourceSetAvailable" forcePluginActivation="true"/>
				</visibleWhen>
			</command>
		</menuContribution>
	</extension>

</plugin>
