Hi, I've updated the step commands if the selected context is not the suspended one the code is executed to the selected context and the step command is executed.
Cheers, Gwen
>From fcdd06e6fb62d0c009c27270d407b3b248cd1758 Mon Sep 17 00:00:00 2001 From: Gwenael Casaccio <[email protected]> Date: Mon, 21 Oct 2013 11:50:17 +0200 Subject: [PATCH] Stepping while the selected context is not the suspended one; execute the code to the selected context and does the step command. --- packages/visualgst/ChangeLog | 5 +++++ packages/visualgst/Debugger/GtkDebugger.st | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/packages/visualgst/ChangeLog b/packages/visualgst/ChangeLog index addf608..124e0ce 100644 --- a/packages/visualgst/ChangeLog +++ b/packages/visualgst/ChangeLog @@ -1,5 +1,10 @@ 2013-10-21 Gwenael Casaccio <[email protected]> + * Debugger/GtkDebugger.st: If stepping while the last context is not selected it finishes the execution + up to the selected context and does the stepping command. + +2013-10-21 Gwenael Casaccio <[email protected]> + * Debugger/GtkDebugger.st: Code can be changed in the debugger. 2013-10-21 Gwenael Casaccio <[email protected]> diff --git a/packages/visualgst/Debugger/GtkDebugger.st b/packages/visualgst/Debugger/GtkDebugger.st index e629a29..6420e8d 100644 --- a/packages/visualgst/Debugger/GtkDebugger.st +++ b/packages/visualgst/Debugger/GtkDebugger.st @@ -285,6 +285,7 @@ GtkBrowsingTool subclass: GtkDebugger [ stepInto [ <category: 'execute events'> + self isLastContextSelected ifFalse: [ self stepToSelectedContext ]. debugger step. self updateContextWidget ] @@ -292,6 +293,7 @@ GtkBrowsingTool subclass: GtkDebugger [ stepOver [ <category: 'execute events'> + self isLastContextSelected ifFalse: [ self stepToSelectedContext ]. debugger next. self updateContextWidget ] @@ -299,6 +301,7 @@ GtkBrowsingTool subclass: GtkDebugger [ stepOut [ <category: 'execute events'> + self isLastContextSelected ifFalse: [ self stepToSelectedContext ]. debugger finish. self updateContextWidget ] @@ -310,6 +313,15 @@ GtkBrowsingTool subclass: GtkDebugger [ debugger continue ] + stepToSelectedContext [ + <category: 'execute events'> + + | ctxt | + ctxt := debugger suspendedContext. + [ ctxt parentContext == contextWidget selectedContext ] whileFalse: [ ctxt := ctxt parentContext ]. + debugger finish: ctxt + ] + codeSaved [ <category: 'method events'> @@ -438,6 +450,12 @@ GtkBrowsingTool subclass: GtkDebugger [ PrintItCommand executeOn: self ] + isLastContextSelected [ + <category: 'testing'> + + ^ contextWidget selectedContext == debugger suspendedContext + ] + hasChanged [ <category: 'testing'> -- 1.8.3.2
_______________________________________________ help-smalltalk mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-smalltalk
