[Pkg] The Trunk: MorphicExtras-ul.205.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Apr 24 12:21:54 UTC 2017

Levente Uzonyi uploaded a new version of MorphicExtras to project The Trunk:

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

Name: MorphicExtras-ul.205
Author: ul
Time: 24 April 2017, 1:05:03.685277 pm
UUID: fe46b749-0a60-4228-958e-7072da23108c
Ancestors: MorphicExtras-dtl.204

- rewrote senders of #clone to use #shallowCopy

=============== Diff against MorphicExtras-dtl.204 ===============

Item was changed:
  ----- Method: BookPageThumbnailMorph>>objectForDataStream: (in category 'fileIn/Out') -----
  objectForDataStream: refStrm
  	"I am about to be written on an object file.  It would be bad to write a whole BookMorph out.  Store a string that is the url of the book or page in my inst var."
  	| clone bookUrl bb stem ind |
  	(bookMorph isString) & (page isString) ifTrue: [
  		^ super objectForDataStream: refStrm].
  	(bookMorph isNil) & (page isString) ifTrue: [
  		^ super objectForDataStream: refStrm].
  	(bookMorph isNil) & (page url notNil) ifTrue: [
  		^ super objectForDataStream: refStrm].
  	(bookMorph isNil) & (page url isNil) ifTrue: [
  		self error: 'page should already have a url' translated.
  		"find page's book, and remember it"
  		"bookMorph := "].
+ 	clone := self shallowCopy.
- 	clone := self clone.
  	(bookUrl := bookMorph url)
  		ifNil: [bookUrl := self valueOfProperty: #futureUrl].
  		ifNil: [	bb := RectangleMorph new.	"write out a dummy"
  			bb bounds: bounds.
  			refStrm replace: self with: bb.
  			^ bb]
  		ifNotNil: [clone instVarNamed: 'bookMorph' put: bookUrl].
  	page url ifNil: [
  			"Need to assign a url to a page that will be written later.
  			It might have bookmarks too.  Don't want to recurse deeply.  
  			Have that page write out a dummy morph to save its url on the server."
  		stem := SqueakPage stemUrl: bookUrl.
  		ind := bookMorph pages identityIndexOf: page.
  		page reserveUrl: stem,(ind printString),'.sp'].
  	clone instVarNamed: 'page' put: page url.
  	refStrm replace: self with: clone.
  	^ clone!

Item was changed:
  ----- Method: SketchEditorMorph>>mouseDown: (in category 'morphic') -----
  mouseDown: evt
  	"Start a new stroke.  Check if any palette setting have changed.  6/11/97 20:30 tk"
  	| cur pfPen myAction |
  	"verify that we are in a good state"
  	self verifyState: evt.		"includes prepareToPaint and #scalingOrRotate"
  	pfPen := self get: #paintingFormPen for: evt.
  	paintingForm extent = undoBuffer extent ifTrue: [
  		paintingForm displayOn: undoBuffer at: 0 at 0 rule: Form over.
  	] ifFalse: [
  		undoBuffer := paintingForm deepCopy.	"know we will draw something"
  	pfPen place: (evt cursorPoint - bounds origin).
  	myAction := self getActionFor: evt.
  	palette colorable ifTrue:[
  		palette recentColor: (self getColorFor: evt)].
  	self set: #strokeOrigin for: evt to: evt cursorPoint.
  		"origin point for pickup: rect: ellispe: polygon: line: star:.  Always take it."
  	myAction == #pickup: ifTrue: [
+ 		cur := Cursor corner shallowCopy.
- 		cur := Cursor corner clone.
  		cur offset: 0 at 0  "cur offset abs".
  		evt hand showTemporaryCursor: cur].
  	myAction == #polygon: ifTrue: [self polyNew: evt].	"a mode lets you drag vertices"
  	self mouseMove: evt.!

Item was changed:
  ----- Method: SqueakPage>>copyForSaving (in category 'accessing') -----
  	"Make a copy and configure me to be put out on the disk.  When it is brought in and touched, it will turn into the object at the url."
  	| forDisk holder |
+ 	forDisk := self shallowCopy.
- 	forDisk := self clone.
  	holder := MorphObjectOut new xxxSetUrl: url page: forDisk.
  	forDisk contentsMorph: holder.
  	^ holder		"directly representing the object"!

More information about the Packages mailing list