-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rename and move GToolkit-Pharo9-Debugger to the debugger repository [f…
- Loading branch information
1 parent
936da15
commit 55f8c44
Showing
4 changed files
with
93 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
29 changes: 29 additions & 0 deletions
29
src/GToolkit-Debugger-PharoOverrides/BlBlocUIManager.extension.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
Extension { #name : #BlBlocUIManager } | ||
|
||
{ #category : #'*GToolkit-Debugger-PharoOverrides' } | ||
BlBlocUIManager >> handleDebugRequest: aDebugRequest [ | ||
<debuggerCompleteToSender> | ||
|
||
OupsDebuggerSystem new gtOpenDebuggerOnRequest: aDebugRequest | ||
] | ||
|
||
{ #category : #'*GToolkit-Debugger-PharoOverrides' } | ||
BlBlocUIManager >> handleDebugRequest: aDebugRequest fromDebuggerSystem: anOupsDebuggerSystem [ | ||
<debuggerCompleteToSender> | ||
|
||
anOupsDebuggerSystem gtOpenDebuggerOnRequest: aDebugRequest | ||
] | ||
|
||
{ #category : #'*GToolkit-Debugger-PharoOverrides' } | ||
BlBlocUIManager >> handleWarningDebugRequest: aDebugRequest [ | ||
<debuggerCompleteToSender> | ||
|
||
OupsDebuggerSystem new gtOpenDebuggerOnRequest: aDebugRequest | ||
] | ||
|
||
{ #category : #'*GToolkit-Debugger-PharoOverrides' } | ||
BlBlocUIManager >> handleWarningDebugRequest: aDebugRequest fromDebuggerSystem: anOupsDebuggerSystem [ | ||
<debuggerCompleteToSender> | ||
|
||
anOupsDebuggerSystem gtOpenDebuggerOnRequest: aDebugRequest | ||
] |
61 changes: 61 additions & 0 deletions
61
src/GToolkit-Debugger-PharoOverrides/OupsDebuggerSystem.extension.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
Extension { #name : #OupsDebuggerSystem } | ||
|
||
{ #category : #'*GToolkit-Debugger-PharoOverrides' } | ||
OupsDebuggerSystem >> gtOpenDebuggerOnRequest: aDebugRequest [ | ||
|
||
"Prepare the opening of a debugger, and delegate the debugger selection and opening to a strategy" | ||
|
||
<debuggerCompleteToSender> | ||
| isForBlocUIProcess aBlocUniverseIfAny aDebuggerOpeningAction | | ||
|
||
aDebugRequest debugSession logStackToFileIfNeeded. | ||
self performPreDebugActionsIn: aDebugRequest. | ||
|
||
(self gtSpawnNewUIProcessIfNecessary: aDebugRequest) in: [ :values | | ||
isForBlocUIProcess := values first. | ||
aBlocUniverseIfAny := values second ]. | ||
self ensureExceptionIn: aDebugRequest debugSession. | ||
|
||
aDebuggerOpeningAction := [ | ||
GtMoldableDebugger | ||
openOn: aDebugRequest debugSession | ||
withFullView: nil | ||
andNotification: nil ]. | ||
|
||
"Perform the opening of the debugger in defer action to suspend the UI." | ||
isForBlocUIProcess | ||
ifTrue: [ self defaultUIManager defer: aDebuggerOpeningAction universe: aBlocUniverseIfAny ] | ||
ifFalse: [ aDebugRequest debugSession isAboutUIProcess | ||
ifTrue: [ self defaultUIManager defer: aDebuggerOpeningAction ] | ||
ifFalse: [ self defaultUIManager | ||
universeDo: [ :aBlocUniverse | self defaultUIManager defer: aDebuggerOpeningAction universe: aBlocUniverse ] | ||
ifAbsent: [ self defaultUIManager defer: aDebuggerOpeningAction ] ] ]. | ||
|
||
|
||
self suspendDebuggedProcess: aDebugRequest | ||
] | ||
|
||
{ #category : #'*GToolkit-Debugger-PharoOverrides' } | ||
OupsDebuggerSystem >> gtSpawnNewUIProcessIfNecessary: aDebugRequest [ | ||
|
||
"If aDebugRequest is about debugging the UI process, we must create a new UI process to take its place. Because the debugged process will be suspended at some point, and suspending the UI process means freezing the UI of the image" | ||
| isForBlocUIProcess aBlocUniverseIfAny | | ||
isForBlocUIProcess := false. | ||
aBlocUniverseIfAny := nil. | ||
|
||
self defaultUIManager | ||
universeForSession: aDebugRequest debugSession | ||
ifPresent: [ :aUniverse | | ||
isForBlocUIProcess := true. | ||
aBlocUniverseIfAny := aUniverse. | ||
aDebugRequest debugSession errorWasInUIProcess: true ] | ||
ifAbsent: []. | ||
|
||
aDebugRequest debugSession isAboutUIProcess ifTrue: [ | ||
DefaultExecutionEnvironment beActiveDuring: [ | ||
isForBlocUIProcess "Handle the case of the Bloc UI process" | ||
ifTrue: [ self defaultUIManager spawnNewBlocProcess: aBlocUniverseIfAny ] | ||
ifFalse: [ self defaultUIManager spawnNewProcess ] ] ]. | ||
|
||
^ { isForBlocUIProcess . aBlocUniverseIfAny } | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Package { #name : #'GToolkit-Debugger-PharoOverrides' } |