[Pkg] The Trunk: Morphic-mt.1544.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Sep 26 09:26:18 UTC 2019


Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1544.mcz

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

Name: Morphic-mt.1544
Author: mt
Time: 26 September 2019, 11:26:14.016433 am
UUID: c3372aee-2104-9049-a6ef-4faa1f0eb079
Ancestors: Morphic-mt.1543

If you happen to end up with a TransformationMorph that has no children, you can now:

- open a halo on it to move/resize/delete it
- drag-and-drop it around in the world without a debugger nagging you

=============== Diff against Morphic-mt.1543 ===============

Item was changed:
  ----- Method: HaloMorph>>addScaleHandle: (in category 'handles') -----
  addScaleHandle: haloSpec
+ 	
+ 	(target isFlexMorph and: [target renderedMorph ~~ target])
+ 		ifTrue: [(self addHandle: haloSpec
+ 					on: #mouseDown send: #startScale:with: to: self)
+ 					on: #mouseMove send: #doScale:with: to: self]
+ 		ifFalse: [(self addHandle: haloSpec
+ 					on: #mouseDown send: #startGrow:with: to: self)
+ 					on: #mouseMove send: #doGrow:with: to: self].
- 	target isFlexMorph ifTrue: 
- 		[(self addHandle: haloSpec
- 				on: #mouseDown send: #startScale:with: to: self)
- 				on: #mouseMove send: #doScale:with: to: self].
- 	"This or addGrowHandle:, but not both, will prevail at any one time"
  !

Item was changed:
  ----- Method: HaloMorph>>addSimpleHandlesTo:box: (in category 'halos and balloon help') -----
  addSimpleHandlesTo: aHaloMorph box: aBox
  	| aHandle |
  	simpleMode := true.
  
  	target isWorldMorph ifTrue: [^ self addSimpleHandlesForWorldHalos].
  
  	self removeAllMorphs.  "remove old handles, if any"
  	
  	self bounds: target renderedMorph worldBoundsForHalo.  "update my size"
  	
  	self addHandleAt: (((aBox topLeft + aBox leftCenter) // 2) + self simpleFudgeOffset) color: Color paleBuff icon: 'Halo-MoreHandles'
  		on: #mouseDown send: #addFullHandles to: self.
  
  	aHandle := self addGraphicalHandle: #Rotate at: aBox bottomLeft on: #mouseDown send: #startRot:with: to: self.
  	aHandle on: #mouseMove send: #doRot:with: to: self.
  
+ 	(target isFlexMorph and: [target renderedMorph ~~ target])
- 	target isFlexMorph
  		ifTrue: [(self addGraphicalHandle: #Scale at: aBox bottomRight  on: #mouseDown send: #startScale:with: to: self)
  				on: #mouseMove send: #doScale:with: to: self]
  		ifFalse: [(self addGraphicalHandle: #Scale at: aBox bottomRight on: #mouseDown send: #startGrow:with: to: self)
  				on: #mouseMove send: #doGrow:with: to: self].
  
  	innerTarget wantsSimpleSketchMorphHandles ifTrue:
  		[self addSimpleSketchMorphHandlesInBox: aBox].
  
  	growingOrRotating := false.
  	self layoutChanged.
  	self changed.
  !

Item was changed:
  ----- Method: TransformationMorph>>extent: (in category 'geometry') -----
  extent: newExtent
+ 
+ 	self renderedMorph == self
+ 		ifTrue: [super extent: newExtent]
+ 		ifFalse: [
+ 			self adjustAfter: [
+ 				| scaleFactor |
+ 				scaleFactor := (self scale * newExtent r / self fullBounds extent r) max: 0.1.
+ 				self scale: (scaleFactor detentBy: 0.1 atMultiplesOf: 1.0 snap: false)]].!
- 	
- 	self adjustAfter:
- 		[ | scaleFactor |
- 		scaleFactor := (self scale * newExtent r / self fullBounds extent r) max: 0.1.
- 		self scale: (scaleFactor detentBy: 0.1 atMultiplesOf: 1.0 snap: false)]!

Item was added:
+ ----- Method: TransformationMorph>>initialize (in category 'initialization') -----
+ initialize
+ 
+ 	super initialize.
+ 	
+ 	self
+ 		color: ((Color gray: 0.7) alpha: 0.5);
+ 		borderStyle: (DashedBorder color: (Color gray: 0.4) width: 1).!

Item was changed:
  ----- Method: TransformationMorph>>shouldDropOnMouseUp (in category 'dropping/grabbing') -----
  shouldDropOnMouseUp
+ 	
+ 	^ self renderedMorph in: [:target |
+ 		target == self
+ 			ifTrue: [super shouldDropOnMouseUp]
+ 			ifFalse: [target shouldDropOnMouseUp]]!
- 	"check if my submorph should drop "
- 	^self firstSubmorph shouldDropOnMouseUp!

Item was added:
+ ----- Method: TransformationMorph>>wantsHaloFromClick (in category 'halos and balloon help') -----
+ wantsHaloFromClick
+ 
+ 	^ self renderedMorph == self!



More information about the Packages mailing list