[squeak-dev] The Inbox: Morphic-pre.1330.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Mar 15 15:26:06 UTC 2017

Patrick Rein uploaded a new version of Morphic to project The Inbox:

==================== Summary ====================

Name: Morphic-pre.1330
Author: pre
Time: 15 March 2017, 4:25:43.265757 pm
UUID: b45d89f0-eef3-f54c-abb7-d9636b0a42d7
Ancestors: Morphic-pre.1329

Improved version of dropping behavior of the world to open the morph for a dropped object where it was dropped which also accounts for not moving around morphs which are already in the world.

=============== Diff against Morphic-pre.1329 ===============

Item was changed:
  ----- Method: PasteUpMorph>>acceptDroppingMorph:event: (in category 'dropping/grabbing') -----
  acceptDroppingMorph: dropped event: evt
  	"The supplied morph, known to be acceptable to the receiver, is now to be assimilated; the precipitating event is supplied"
  	| aMorph |
  	aMorph := self morphToDropFrom: dropped.
  	self isWorldMorph
  		ifTrue:["Add the given morph to this world and start stepping it if it wants to be."
+ 				aMorph isInWorld not ifTrue: [aMorph position: evt position].
- 				aMorph position: evt position.	
  				self addMorphFront: aMorph.
  				(aMorph fullBounds intersects: self viewBox) ifFalse:
  					[Beeper beep.  aMorph position: self bounds center]]
  		ifFalse:[super acceptDroppingMorph: aMorph event: evt].
  	aMorph submorphsDo: [:m | (m isKindOf: HaloMorph) ifTrue: [m delete]].
  	aMorph allMorphsDo:  "Establish any penDown morphs in new world"
  		[:m | | tfm mm |
  		m player ifNotNil:
  			[m player getPenDown ifTrue:
  				[((mm := m player costume) notNil and: [(tfm := mm owner transformFrom: self) notNil])
  					ifTrue: [self noteNewLocation: (tfm localPointToGlobal: mm referencePosition)
  									forPlayer: m player]]]].
  	self isPartsBin
  			[aMorph isPartsDonor: true.
  			aMorph stopSteppingSelfAndSubmorphs.
  			aMorph suspendEventHandler]
  			[self world startSteppingSubmorphsOf: aMorph].
  "	self presenter morph: aMorph droppedIntoPasteUpMorph: self."
  	self griddingOn ifTrue: [aMorph position: (self gridPoint: aMorph position)].
  	self showingListView ifTrue:
  		[self sortSubmorphsBy: (self valueOfProperty: #sortOrder).
  		self currentWorld abandonAllHalos].
  	self bringTopmostsToFront.

More information about the Squeak-dev mailing list