You can create a morph that steps until the process is terminated. Attached is an example class:
====================
StepForProcessMorph new
process: [ 10 seconds asDelay wait ];
extent: 200 asPoint;
openCenteredInWorld
====================
Best regards,
Henrik
-----Opprinnelig melding-----
Fra: Pharo-dev [mailto:[email protected]] På vegne av Yuriy
Tymchuk
Sendt: 05 February 2017 20:33
Til: Pharo Development List <[email protected]>
Emne: Re: [Pharo-dev] How can I create a trivial "spinner" etc, to see if image
is busy?
This is a really nice solution for STON, thank you!
But in general terms, imagine I have some task and it’s not the trivial to add
a progress bar. I could spawn a string morph and make circle the digits with
some interval, but maybe there is something easier. For example Kommiter had a
spinner morph that you could just open and it would be spinning. So when you
run a task you can easily see that the task is still running
Uko
> On 5 Feb 2017, at 20:01, Sven Van Caekenberghe <[email protected]> wrote:
>
> A bit off topic, but I would do the STON writing as follows:
>
> [
> (FileLocator temp / 'file.ston') writeStreamDo: [ :out | (STON writer
> on: out) in: [ :stonWriter |
> 30 timesRepeat: [
> stonWriter nextPut: Smalltalk allClasses ] ] ].
> ] timeToRun. "0:00:00:02.176"
>
> But in light of alternative streams and some optimisation, this works too:
>
> [
> | file |
> file := (File named: '/tmp/file.ston') openForWrite.
> [
> ZnBufferedWriteStream on: (ZnCharacterWriteStream on: file) do: [ :out |
> (STON writer on: out) in: [ :stonWriter |
> 30 timesRepeat: [
> stonWriter nextPut: Smalltalk allClasses ] ] ] ] ensure: [ file
> close ].
> ] timeToRun. "0:00:00:00.385"
>
> Which is faster.
>
> Total file size is ~1.2MB.
>
> BTW, we need #readStreamDo: and #writeStreamDo: on File I think, as it
> encourages proper resource management.
>
>> On 5 Feb 2017, at 19:16, Henrik Nergaard <[email protected]> wrote:
>>
>> http://smalltalkhub.com/#!/~Latsabben/GafletFremgangFremviser
>>
>> ---------------------
>> | ston file|
>>
>> ston := (1 to: 30) flatCollect: [:ix |STON toStringPretty: Smalltalk
>> allClasses].
>> file := (FileStream fileNamed: 'file.ston').
>>
>> ston whileDisplayingProgress
>> action: [ :stream | file nextPutAll: stream ] whenDone: [ file close ];
>> open;
>> fillOwner
>> ---------------------
>>
>> Best regards,
>> Henrik
>>
>> -----Opprinnelig melding-----
>> Fra: Pharo-dev [mailto:[email protected]] På vegne av
>> Yuriy Tymchuk
>> Sendt: 05 February 2017 16:56
>> Til: Pharo Development List <[email protected]>
>> Emne: [Pharo-dev] How can I create a trivial "spinner" etc, to see if image
>> is busy?
>>
>> Hi all,
>>
>> is there an easy was to do some thing that is constantly changing? so if my
>> image freezes (to export a 1gb ston file for example) I can see when it’s
>> done. Or maybe there is a way to send a mac notification from Pharo?
>>
>> Cheers.
>> Uko
>
>
StepForProcessMorph.st
Description: StepForProcessMorph.st
