A new version of Morphic was added to project The Inbox: http://source.squeak.org/inbox/Morphic-ct.1496.mcz
==================== Summary ====================
Name: Morphic-ct.1496 Author: ct Time: 30 July 2019, 7:10:57.257625 pm UUID: 271f51ee-4c31-e846-a326-9769dfab5c5f Ancestors: Morphic-ct.1492, Morphic-mt.1495, Morphic-cmm.1489
Introduce 'debug invocation' of DialogWindow
Also refine context search to reduce displayed stack size.
(After opening debugger, useful applications might be: step over, answer the dialog and continue debugging; return entered value to fake user's response)
[I had some trouble saving the version. Please let me know if I my merging was incorrect ...]
=============== Diff against Morphic-ct.1492 ===============
Item was added: + ----- Method: DialogWindow>>debugInvocation (in category 'running') ----- + debugInvocation + + [Processor activeProcess + debug: self findInvocationContext + title: 'Dialog invocation'] + ifCurtailed: [self closeDialog].!
Item was changed: ----- Method: DialogWindow>>exploreInvocation (in category 'running') ----- exploreInvocation
| result context | self exclusive: false. "We want to explore."
result := OrderedCollection new. + context := self findInvocationContext. - context := thisContext. - [context method selector = #getUserResponse] - whileFalse: [context := context sender]. - [context sender] whileNotNil: [ result add: context method. context := context sender]. result add: context method.
result explore.!
Item was added: + ----- Method: DialogWindow>>findInvocationContext (in category 'running') ----- + findInvocationContext + + | context | + context := thisContext. + [context method selector = #getUserResponse and: [context isMethodContext]] + whileFalse: [context := context sender]. + ^ context!
Item was changed: ----- Method: DialogWindow>>offerDialogMenu (in category 'running') ----- offerDialogMenu
| menu | menu := MenuMorph new defaultTarget: self. menu add: (exclusive == true ifTrue: ['<yes>'] ifFalse: ['<no>']), 'be modally exclusive' translated + action: #toggleExclusive; - action: #toggleExclusive; addLine; add: 'explore dialog invocation' translated + action: #exploreInvocation; + add: 'debug dialog invocation' translated + action: #debugInvocation. - action: #exploreInvocation. menu popUpEvent: self currentEvent in: self world. [menu isInWorld] whileTrue: [self world doOneSubCycle]. self exclusive ifTrue: [self activeHand newMouseFocus: self].!
squeak-dev@lists.squeakfoundation.org