I have cleaned a bit your code with something like:
doExecute: nodeElements
self start: nodeElements.
self isJobInstalled
ifTrue: [ self runLayoutInJob ]
ifFalse: [ self runLayoutSimply ].
alpha := 0.
nodes do: [ :e | translator translateTopLeftOf: e to: e position ]
It is in version .816 of Roassal2.
We should be able to run the layout without job. This is important for us
Thanks!
Alexandre
> On Apr 7, 2015, at 5:04 PM, Peter Uhnák <i.uhnak@gmail.com> wrote:
>
> _______________________________________________> Out of curiosity I dug a little deeper and was happy to learn about a Job and more about Pharo internals.
>
> In any case, try replacing RTForceBasedLayout>>doExecute: with this
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~
> doExecute: nodeElements
> self start: nodeElements.
> [ :job |
> job
> title: 'Laying out elements';
> min: 1 - alpha;
> max: 1.
> nbIterations = 0
> ifTrue: [ [ alpha := alpha * 0.99. alpha > 0.005 ] whileTrue: [ self step. job currentValue: 1 - alpha ] ]
> ifFalse: [ nbIterations timesRepeat: [ alpha := alpha * 0.99. self step. job currentValue: 1 - alpha ] ]
> ] asJob run.
> alpha := 0.
> nodes do: [ :e | translator translateTopLeftOf: e to: e position ].
> ~~~~~~~~~~~~~~~~~~~~~~~~~
>
> it's bit messy (and doesn't account for nbIterations), but its a proof of concept.
>
>
> I thing that it makes sense to create execution indicator without progress (with spinner for example)
>
> What can be done is to display alpha on progress bar. From current value to 0.005 or whatever there is.
> I was thinking more something like this http://www.barchart.com/shared/images/progress_bar.gif or thsi https://i.stack.imgur.com/gz9GK.gif
>
> Peter
> Moose-dev mailing list
> Moose-dev@iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev