1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-15 13:05:22 +02:00

Bug 372032 - [reverse] Reverse debug buttons should handle the new debug

global toolbar

Change-Id: I509928798950ee216d1be340d94aca4a34604af6
Reviewed-on: https://git.eclipse.org/r/5535
Reviewed-by: Pawel Piech <pawel.piech@windriver.com>
IP-Clean: Pawel Piech <pawel.piech@windriver.com>
Tested-by: Pawel Piech <pawel.piech@windriver.com>
This commit is contained in:
Pawel Piech 2012-05-01 06:45:08 -07:00
parent 8305c1daa0
commit f0a95edace
2 changed files with 136 additions and 93 deletions

View file

@ -2158,6 +2158,8 @@
</extension> </extension>
<extension <extension
point="org.eclipse.ui.menus"> point="org.eclipse.ui.menus">
<!-- Reverse debugging contributions to Debug view -->
<menuContribution <menuContribution
locationURI="toolbar:org.eclipse.debug.ui.DebugView?after=additions"> locationURI="toolbar:org.eclipse.debug.ui.DebugView?after=additions">
<command <command
@ -2165,11 +2167,11 @@
icon="icons/obj16/reverse_toggle.gif" icon="icons/obj16/reverse_toggle.gif"
label="%ReverseToggle.label" label="%ReverseToggle.label"
style="toggle"> style="toggle">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <and>
<reference <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingActionSetActive"/>
definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingActionSetActive"> <systemTest property="org.eclipse.debug.ui.debugViewToolbarVisible" value="true"/>
</reference> </and>
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
@ -2180,11 +2182,11 @@
icon="icons/obj16/reverse_resume.gif" icon="icons/obj16/reverse_resume.gif"
label="%ReverseResume.label" label="%ReverseResume.label"
style="push"> style="push">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <and>
<reference <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"> <systemTest property="org.eclipse.debug.ui.debugViewToolbarVisible" value="true"/>
</reference> </and>
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
@ -2195,11 +2197,11 @@
icon="icons/obj16/reverse_stepinto.gif" icon="icons/obj16/reverse_stepinto.gif"
label="%ReverseStepInto.label" label="%ReverseStepInto.label"
style="push"> style="push">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <and>
<reference <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"> <systemTest property="org.eclipse.debug.ui.debugViewToolbarVisible" value="true"/>
</reference> </and>
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
@ -2210,11 +2212,11 @@
icon="icons/obj16/reverse_stepover.gif" icon="icons/obj16/reverse_stepover.gif"
label="%ReverseStepOver.label" label="%ReverseStepOver.label"
style="push"> style="push">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <and>
<reference <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"> <systemTest property="org.eclipse.debug.ui.debugViewToolbarVisible" value="true"/>
</reference> </and>
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
@ -2225,14 +2227,16 @@
icon="icons/obj16/uncall.gif" icon="icons/obj16/uncall.gif"
label="%Uncall.label" label="%Uncall.label"
style="push"> style="push">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <and>
<reference <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"> <systemTest property="org.eclipse.debug.ui.debugViewToolbarVisible" value="true"/>
</reference> </and>
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
<!-- Reverse debugging contributions to Run menu -->
<menuContribution <menuContribution
locationURI="menu:org.eclipse.ui.run?before=stepGroup"> locationURI="menu:org.eclipse.ui.run?before=stepGroup">
<command <command
@ -2240,26 +2244,20 @@
icon="icons/obj16/reverse_toggle.gif" icon="icons/obj16/reverse_toggle.gif"
label="%ReverseToggle.label" label="%ReverseToggle.label"
style="toggle"> style="toggle">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingActionSetActive"/>
<reference
definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingActionSetActive">
</reference>
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
<menuContribution <menuContribution
locationURI="menu:org.eclipse.ui.run?after=stepGroup"> locationURI="menu:org.eclipse.ui.run?before=threadGroup">
<command <command
commandId="org.eclipse.cdt.debug.ui.command.reverseResume" commandId="org.eclipse.cdt.debug.ui.command.reverseResume"
icon="icons/obj16/reverse_resume.gif" icon="icons/obj16/reverse_resume.gif"
label="%ReverseResume.label" label="%ReverseResume.label"
style="push"> style="push">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
<reference
definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled">
</reference>
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
@ -2270,11 +2268,8 @@
icon="icons/obj16/reverse_stepinto.gif" icon="icons/obj16/reverse_stepinto.gif"
label="%ReverseStepInto.label" label="%ReverseStepInto.label"
style="push"> style="push">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
<reference
definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled">
</reference>
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
@ -2285,11 +2280,8 @@
icon="icons/obj16/reverse_stepover.gif" icon="icons/obj16/reverse_stepover.gif"
label="%ReverseStepOver.label" label="%ReverseStepOver.label"
style="push"> style="push">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
<reference
definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled">
</reference>
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
@ -2300,14 +2292,13 @@
icon="icons/obj16/uncall.gif" icon="icons/obj16/uncall.gif"
label="%Uncall.label" label="%Uncall.label"
style="push"> style="push">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
<reference
definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled">
</reference>
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
<!-- Reverse debugging contributions to Debug view popup -->
<menuContribution <menuContribution
locationURI="popup:org.eclipse.debug.ui.DebugView?before=stepGroup"> locationURI="popup:org.eclipse.debug.ui.DebugView?before=stepGroup">
<command <command
@ -2315,11 +2306,8 @@
icon="icons/obj16/reverse_toggle.gif" icon="icons/obj16/reverse_toggle.gif"
label="%ReverseToggle.label" label="%ReverseToggle.label"
style="toggle"> style="toggle">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingActionSetActive"/>
<reference
definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingActionSetActive">
</reference>
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
@ -2330,11 +2318,8 @@
icon="icons/obj16/reverse_resume.gif" icon="icons/obj16/reverse_resume.gif"
label="%ReverseResume.label" label="%ReverseResume.label"
style="push"> style="push">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
<reference
definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled">
</reference>
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
@ -2345,11 +2330,8 @@
icon="icons/obj16/reverse_stepinto.gif" icon="icons/obj16/reverse_stepinto.gif"
label="%ReverseStepInto.label" label="%ReverseStepInto.label"
style="push"> style="push">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
<reference
definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled">
</reference>
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
@ -2360,11 +2342,8 @@
icon="icons/obj16/reverse_stepover.gif" icon="icons/obj16/reverse_stepover.gif"
label="%ReverseStepOver.label" label="%ReverseStepOver.label"
style="push"> style="push">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
<reference
definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled">
</reference>
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
@ -2375,11 +2354,8 @@
icon="icons/obj16/uncall.gif" icon="icons/obj16/uncall.gif"
label="%Uncall.label" label="%Uncall.label"
style="push"> style="push">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
<reference
definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled">
</reference>
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
@ -2390,11 +2366,8 @@
icon="icons/obj16/start_tracing_obj.gif" icon="icons/obj16/start_tracing_obj.gif"
label="%StartTracing.name" label="%StartTracing.name"
style="push"> style="push">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
<reference
definitionId="org.eclipse.cdt.debug.ui.testIsTracepointActionSetActive">
</reference>
</visibleWhen> </visibleWhen>
</command> </command>
<command <command
@ -2402,14 +2375,75 @@
icon="icons/obj16/stop_tracing_obj.gif" icon="icons/obj16/stop_tracing_obj.gif"
label="%StopTracing.name" label="%StopTracing.name"
style="push"> style="push">
<visibleWhen <visibleWhen checkEnabled="false">
checkEnabled="false"> <reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
<reference
definitionId="org.eclipse.cdt.debug.ui.testIsTracepointActionSetActive">
</reference>
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
<!-- Reverse debugging contributions to Main Debug Menu -->
<menuContribution
locationURI="toolbar:org.eclipse.debug.ui.main.toolbar?after=additions">
<command
commandId="org.eclipse.cdt.debug.ui.command.reverseToggle"
icon="icons/obj16/reverse_toggle.gif"
label="%ReverseToggle.label"
style="toggle">
<visibleWhen checkEnabled="false">
<reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingActionSetActive"/>
</visibleWhen>
</command>
</menuContribution>
<menuContribution
locationURI="toolbar:org.eclipse.debug.ui.main.toolbar?before=threadGroup">
<command
commandId="org.eclipse.cdt.debug.ui.command.reverseResume"
icon="icons/obj16/reverse_resume.gif"
label="%ReverseResume.label"
style="push">
<visibleWhen checkEnabled="false">
<reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
</visibleWhen>
</command>
</menuContribution>
<menuContribution
locationURI="toolbar:org.eclipse.debug.ui.main.toolbar?before=stepIntoGroup">
<command
commandId="org.eclipse.cdt.debug.ui.command.reverseStepInto"
icon="icons/obj16/reverse_stepinto.gif"
label="%ReverseStepInto.label"
style="push">
<visibleWhen checkEnabled="false">
<reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
</visibleWhen>
</command>
</menuContribution>
<menuContribution
locationURI="toolbar:org.eclipse.debug.ui.main.toolbar?before=stepOverGroup">
<command
commandId="org.eclipse.cdt.debug.ui.command.reverseStepOver"
icon="icons/obj16/reverse_stepover.gif"
label="%ReverseStepOver.label"
style="push">
<visibleWhen checkEnabled="false">
<reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
</visibleWhen>
</command>
</menuContribution>
<menuContribution
locationURI="toolbar:org.eclipse.debug.ui.main.toolbar?before=stepReturnGroup">
<command
commandId="org.eclipse.cdt.debug.ui.command.uncall"
icon="icons/obj16/uncall.gif"
label="%Uncall.label"
style="push">
<visibleWhen checkEnabled="false">
<reference definitionId="org.eclipse.cdt.debug.ui.testIsReverseDebuggingEnabled"/>
</visibleWhen>
</command>
</menuContribution>
<!-- Group context contributions to Debug view toolbar -->
<menuContribution <menuContribution
locationURI="popup:org.eclipse.debug.ui.DebugView?after=emptyStepGroup"> locationURI="popup:org.eclipse.debug.ui.DebugView?after=emptyStepGroup">
<command <command
@ -2457,6 +2491,7 @@
</visibleWhen> </visibleWhen>
</command> </command>
</menuContribution> </menuContribution>
</extension> </extension>
<!-- Cast to Type / Display as Array --> <!-- Cast to Type / Display as Array -->

View file

@ -127,14 +127,22 @@ public class ReverseToggleCommandHandler extends DebugCommandHandler implements
@Override @Override
protected void postExecute(IRequest request, Object[] targets) { protected void postExecute(IRequest request, Object[] targets) {
super.postExecute(request, targets); super.postExecute(request, targets);
// request re-evaluation of property "org.eclipse.cdt.debug.ui.isReverseDebuggingEnabled"
new WorkbenchJob("") { //$NON-NLS-1$ new WorkbenchJob("") { //$NON-NLS-1$
@Override @Override
public IStatus runInUIThread(IProgressMonitor monitor) { public IStatus runInUIThread(IProgressMonitor monitor) {
// Request re-evaluation of property "org.eclipse.cdt.debug.ui.isReverseDebuggingEnabled" to update
// visibility of reverse stepping commands.
IEvaluationService exprService = (IEvaluationService) PlatformUI.getWorkbench().getService(IEvaluationService.class); IEvaluationService exprService = (IEvaluationService) PlatformUI.getWorkbench().getService(IEvaluationService.class);
if (exprService != null) { if (exprService != null) {
exprService.requestEvaluation("org.eclipse.cdt.debug.ui.isReverseDebuggingEnabled"); //$NON-NLS-1$ exprService.requestEvaluation("org.eclipse.cdt.debug.ui.isReverseDebuggingEnabled"); //$NON-NLS-1$
} }
// Refresh reverse toggle commands with the new state of reverse enabled.
// This is in order to keep multiple toggle actions in UI in sync.
ICommandService commandService = (ICommandService) PlatformUI.getWorkbench().getService(ICommandService.class);
if (commandService != null) {
commandService.refreshElements(REVERSE_TOGGLE_COMMAND_ID, null);
}
return Status.OK_STATUS; return Status.OK_STATUS;
} }
}.schedule(); }.schedule();