Hi martin can you open a bug entry? Stef
I didn't mention that my question comes from trying and finding bugs in the method BlockClosure>>silentlyValue, in Pharo 2.0 (should be in 1.4 also):
silentlyValue "evaluates the receiver but avoiding progress bar notifications to show up."
^[ self value ] on: ProgressInitiationException do: [ :ex | ex sendNotificationsTo: [ :min :max :curr | self traceCr: min printString,' ',max printString,' ',curr printString; cr ]. ].
----> "; cr" has to be removed from code. After this easy fix, the other bug makes visible: #silentlyValue is not that silently with nested progress bars. Try:
[ 'main task' displayProgressFrom: 0 to: 5 during: [ :bar | 0 to: 5 do: [:x | bar value: x. (Delay forMilliseconds: 200) wait.
'nested task ' , x printString displayProgressFrom: 5 to: 10 during: [ :bar2 | 5 to: 10 do: [:x2 | bar2 value: x2. (Delay forMilliseconds: 200) wait] ] ] ].
] silentlyValue.
Cheers. MartÃn
On Tue, May 8, 2012 at 12:28 AM, Martin Dias <tinchodias@gmail.com> wrote:
Hi all.
Given the next code, could you explain me why nested progress bars are not handled by my #on:do:? How can I achieve that?
[ 'main task' displayProgressFrom: 0 to: 5 during: [ :bar | 0 to: 5 do: [:x | bar value: x. (Delay forMilliseconds: 200) wait.
'nested task ' , x printString displayProgressFrom: 5 to: 10 during: [ :bar2 | 5 to: 10 do: [:x2 | bar2 value: x2. (Delay forMilliseconds: 200) wait] ] ] ]
] on: ProgressInitiationException do: [ :ex | ex sendNotificationsTo: [ :min :max :curr | self traceCr: curr ] ].
Thanks in advance. MartÃn