" I contain simple functionality used by Grafoscopio, Datavis or other related projects. " Class { #name : #GrafoscopioUtils, #superclass : #Object, #category : #'Grafoscopio-Utils' } { #category : #'graphical interface' } GrafoscopioUtils class >> downloadingFrom: downloadUrl withMessage: aString into: location [ | fileName | fileName := (downloadUrl splitOn: $/) last. (location / fileName) exists ifTrue: [ (location / fileName) ensureDelete ]. [: bar | bar title: aString. [ZnClient new enforceHttpSuccess: true; url: downloadUrl; downloadTo: location; signalProgress: true ] on: HTTPProgress do: [ :progress | progress isEmpty ifFalse: [ bar current: progress percentage ]. progress resume ]. ] asJob run. ]