'From etoys2.1 of 8 August 2007 [latest update: #1633] on 13 September 2007 at 2:37:18 pm'! "Change Set: DifferentSavingFeedback-tak Date: 13 September 2007 Author: Based on Takashi's idea, written by Yoshiki Ohshima Python friendly feedback while saving."! !Project methodsFor: 'menu messages' stamp: 'yo 9/13/2007 14:36'! displayProgressWithJump: aMessage "Answer a block to display progress while some time-consuming action is going on; the message provided is shown within a tableau of special chars. This is basically Andreas's code." | done b pp guy guys c text idx | done := false. b := ScriptableButton new. guy _ TextMorph new. guys _ #('\o/ _I_ ' '_o_ I / \' 'o / I \ | |' '_o_ I / \'). b color: Color yellow. b borderWidth: 1; borderColor: Color black. pp := [ idx _ 0. [done] whileFalse:[ c _ Display getCanvas. b label: aMessage font: (Preferences standardEToysFont emphasized: 1). b extent: 200@100. b center: Display center. b fullDrawOn: Display getCanvas. guy beAllFont: (Preferences standardEToysFont emphasized: 1). text _ (guys atWrap: (idx := idx + 1)) asText. text addAttribute: (TextAlignment centered) from: 1 to: text string size. guy contents: text. guy center: b position + (30@50); top: b top + 20. guy fullDrawOn: c. guy center: b position + (170@50); top: b top + 20. guy fullDrawOn: c. (Delay forMilliseconds: 500) wait. ]. ] forkAt: Processor userInterruptPriority. ^[done := true]! ! !Project methodsFor: 'menu messages' stamp: 'yo 9/13/2007 14:31'! displaySavingProgress "Display progress for fonts" ^ self displayProgressWithJump: 'Saving' translated! !