<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
    Copyright (c) 2023 Willink Transformations and others.
   
    This program and the accompanying materials
    are made available under the terms of the Eclipse Public License 2.0
    which accompanies this distribution, and is available at
    https://www.eclipse.org/legal/epl-2.0/
   
    SPDX-License-Identifier: EPL-2.0
   
    Contributors:
        E.D.Willink - initial API and implementation
 -->

<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>
