[squeak-dev] How to force selection update in the debugger?
Bob Arning
arning315 at comcast.net
Thu Nov 15 20:44:39 UTC 2012
This is fun! If you use #send rather than #doStep, you can watch code
run like a movie.
doStepSeveral
| n |
n := 500.
n timesRepeat: [
self send.
self changed: #contentsSelection.
World displayWorldSafely.
(Delay forMilliseconds: 250) wait.
].
Cheers,
Bob
On 11/15/12 8:39 AM, Bert Freudenberg wrote:
> But this is how Morphic drawing works. If only your text morph
> changed, then only that morph will be redrawn. And since no events are
> processed in that loop, this should be the case.
>
> - Bert -
>
> On 15.11.2012, at 09:16, Eliot Miranda <eliot.miranda at gmail.com
> <mailto:eliot.miranda at gmail.com>> wrote:
>
>> Hi Bob,
>>
>> thanks, but no thanks <blush>. I want to see the update as fast
>> as possible, even if it flickers like crazy. I don't want to display
>> the whole world, just the text morph in question.
>>
>>
>> On Wed, Nov 14, 2012 at 11:13 AM, Bob Arning <arning315 at comcast.net
>> <mailto:arning315 at comcast.net>> wrote:
>>
>> This works for me:
>>
>> doStepSeveral
>>
>> 10 timesRepeat: [
>> self doStep.
>> self changed: #contentsSelection.
>> World displayWorldSafely.
>> (Delay forMilliseconds: 100) wait. "in case you want
>> to see each step"
>> ]
>>
>>
>> Cheers,
>> Bob
>>
>> On 11/14/12 1:26 PM, Eliot Miranda wrote:
>>> Hi All,
>>>
>>> I submitted a run until feature for the debugger to the
>>> Squeak inbox recently and would commit it to trunk except that
>>> I'd like the option of having the selection update on each step.
>>> But I can't see how to do that. I *think* selection update is
>>> done with a callback here in Debugger>>contents:selection:
>>>
>>>
>>> Smalltalk isMorphic ifTrue:
>>> [World
>>> addAlarm: #changed:
>>> withArguments: #(contentsSelection)
>>> for: self
>>> at: (Time millisecondClockValue + 200)].
>>>
>>> And I'm not sure how this causes the selection to update. Is it
>>> part of text morph draw or a separate thing? This is too
>>> convoluted to look through. So perhaps someone can help e. If
>>> I want the selection to redraw what's the minimum action
>>> necessary. This is as part of a loop that looks like
>>>
>>> [self selectedContext == context
>>> and: [(value := receiver with: context executeMethod: method) ==
>>> false]] whileTrue:
>>> [self doStep].
>>>
>>> i.e. after the doStep I'd like to force the code pane to update
>>> its selection.
>>>
>>> AdvThanksance
>>> --
>>> best,
>>> Eliot
>>>
>>>
>>>
>>
>>
>>
>>
>>
>>
>>
>> --
>> best,
>> Eliot
>>
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20121115/b12ebbd4/attachment.htm
More information about the Squeak-dev
mailing list
|