Marcel Taeumel uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-mt.2096.mcz
==================== Summary ====================
Name: Morphic-mt.2096 Author: mt Time: 10 March 2023, 10:32:31.326811 am UUID: 01b0d2b4-fd5f-6f4f-ae55-d36a0f05a72a Ancestors: Morphic-mt.2095
Move ClockMorph as important tool in the world-main docking-bar from #MorphicExtras to #Morphic package. Maybe it should even be in #Tools at some point?
=============== Diff against Morphic-mt.2095 ===============
Item was added: + StringMorph subclass: #ClockMorph + instanceVariableNames: 'showSeconds show24hr' + classVariableNames: '' + poolDictionaries: '' + category: 'Morphic-Demo'!
Item was added: + ----- Method: ClockMorph class>>authoringPrototype (in category 'scripting') ----- + authoringPrototype + ^ super authoringPrototype contents: Time now printString!
Item was added: + ----- Method: ClockMorph class>>descriptionForPartsBin (in category 'parts bin') ----- + descriptionForPartsBin + "Answer a description for use in parts bins." + + ^ self partName: 'Digital Clock' translatedNoop + categories: {'Just for Fun' translatedNoop} + documentation: 'A digital clock' translatedNoop!
Item was added: + ----- Method: ClockMorph class>>initialize (in category 'class initialization') ----- + initialize + + self registerInFlapsRegistry. !
Item was added: + ----- Method: ClockMorph class>>registerInFlapsRegistry (in category 'class initialization') ----- + registerInFlapsRegistry + "Register the receiver in the system's flaps registry" + self environment + at: #Flaps + ifPresent: [:cl | cl registerQuad: {#ClockMorph, #authoringPrototype. 'Clock' translatedNoop. 'A simple digital clock' translatedNoop} + forFlapNamed: 'Supplies'. + cl registerQuad: {#ClockMorph. #authoringPrototype. 'Clock' translatedNoop. 'A simple digital clock' translatedNoop} + forFlapNamed: 'PlugIn Supplies'.]!
Item was added: + ----- Method: ClockMorph class>>unload (in category 'class initialization') ----- + unload + "Unload the receiver from global registries" + + self environment at: #Flaps ifPresent: [:cl | + cl unregisterQuadsWithReceiver: self] !
Item was added: + ----- Method: ClockMorph>>addCustomMenuItems:hand: (in category 'menu') ----- + addCustomMenuItems: aCustomMenu hand: aHandMorph + "Add toggles for showing-seconds and display-24-hrs to the halo menu" + + "NB: intentionallyi no super call here!!" + + aCustomMenu add: 'change font' translated action: #changeFont. + + aCustomMenu addUpdating: #showingSecondsString action: #toggleShowingSeconds. + aCustomMenu addUpdating: #displaying24HourString action: #toggleShowing24hr!
Item was added: + ----- Method: ClockMorph>>balloonText (in category 'accessing') ----- + balloonText + + ^ Date current weekday, ', ', Date current printString!
Item was added: + ----- Method: ClockMorph>>initialize (in category 'initialization') ----- + initialize + "initialize the state of the receiver" + + super initialize. + + showSeconds := true. + show24hr := false. + self font: Preferences standardMenuFont emphasis: 1. + self step!
Item was added: + ----- Method: ClockMorph>>initializeToStandAlone (in category 'parts bin') ----- + initializeToStandAlone + super initializeToStandAlone. + showSeconds := false. + self font: (Preferences standardMenuFont emphasized: 1). + self step!
Item was added: + ----- Method: ClockMorph>>show24hr: (in category '24hr') ----- + show24hr: aBoolean + show24hr := aBoolean!
Item was added: + ----- Method: ClockMorph>>showSeconds: (in category 'seconds') ----- + showSeconds: aBoolean + showSeconds := aBoolean!
Item was added: + ----- Method: ClockMorph>>step (in category 'stepping and presenter') ----- + step + + | time | + super step. + time := String streamContents: [ :stream | + | t | + t := Time now. + t seconds: t asSeconds. "ignore nanoSeconds" + t + print24: (show24hr == true) + showSeconds: (showSeconds == true) + on: stream]. + self contents: time!
Item was added: + ----- Method: ClockMorph>>stepTime (in category 'stepping and presenter') ----- + stepTime + "Answer the desired time between steps in milliseconds." + + ^999!
Item was added: + ----- Method: ClockMorph>>toggleShowing24hr (in category '24hr') ----- + toggleShowing24hr + show24hr := (show24hr == true) not + !
Item was added: + ----- Method: ClockMorph>>toggleShowingSeconds (in category 'seconds') ----- + toggleShowingSeconds + showSeconds := (showSeconds == true) not + !
packages@lists.squeakfoundation.org