David T. Lewis uploaded a new version of EToys to project The Trunk:
http://source.squeak.org/trunk/EToys-dtl.320.mcz ==================== Summary ==================== Name: EToys-dtl.320 Author: dtl Time: 18 February 2018, 4:27:25.556073 pm UUID: 20a128db-1e69-4ab6-aa02-5bd0facd67e3 Ancestors: EToys-eem.319 When opening an EventRecordingSpace, do not initialize flaps in the Worldlet until after opening in world (but before calling show). This allows displayWorld to find the outermost containing world for a worldlet by querying the owner of the worldlet. Earlier implementations relied on direct access to the global World, which is now discouraged. See discussion in [squeak-dev] Event Theatre in Object Catalog sparks DNU in 6.0-trunk =============== Diff against EToys-eem.319 =============== Item was changed: ----- Method: EventRecordingSpace class>>open (in category 'instance creation') ----- open "Open up a new instance of the receiver." | anInst | anInst := self new. anInst visible: false. anInst openInWorldOrWorldlet. + anInst initializeFlaps. "after placing anInst in its world" anInst center: anInst owner center. anInst show " EventRecordingSpace open. "! Item was changed: ----- Method: EventRecordingSpace>>initialize (in category 'initialization') ----- initialize "Initialize the receiver to be a complete mentoring space" super initialize. eventRecorder := MentoringEventRecorder new. eventRecorder recordingSpace: self. self beSticky. self listDirection: #topToBottom; hResizing: #shrinkWrap; vResizing: #shrinkWrap. self extent: 1@1. self borderWidth: 2; borderColor: Color gray. self useRoundedCorners. showingSoundPanel := false. (contentArea := Worldlet new) setNameTo: 'tutorial'; color: Color white; setProperty: #automaticPhraseExpansion toValue: true; beSticky. self addMorphBack: contentArea. controlsPanel := AlignmentMorph newRow. controlsPanel hResizing: #spaceFill. controlsPanel listCentering: #center. controlsPanel listSpacing: #equal. controlsPanel cellInset: 4. controlsPanel minHeight: 32. self addMorphBack: controlsPanel. soundPanel := AlignmentMorph newRow. soundPanel hResizing: #spaceFill. soundPanel listCentering: #center. soundPanel listSpacing: #equal. soundPanel cellInset: 4. soundPanel minHeight: 32. soundPanel color: (Color r: 1.0 g: 0.839 b: 0.645). self makeStatusButtons. state := #readyToRecord. self populateControlsPanel. + "initializeFlaps will be called later, after opening in world" + + ! - SugarNavigatorBar showSugarNavigator - ifTrue: - [self addSugarNavigatorFlap] - ifFalse: - [self addSuppliesFlap. - self addNavigatorFlap]! Item was added: + ----- Method: EventRecordingSpace>>initializeFlaps (in category 'initialization') ----- + initializeFlaps + + SugarNavigatorBar showSugarNavigator + ifTrue: + [self addSugarNavigatorFlap] + ifFalse: + [self addSuppliesFlap. + self addNavigatorFlap]! |
Free forum by Nabble | Edit this page |