[squeak-dev] The Trunk: Morphic-cmm.740.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Aug 24 17:03:20 UTC 2014


Chris Muller uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-cmm.740.mcz

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

Name: Morphic-cmm.740
Author: cmm
Time: 24 August 2014, 12:01:36.047 pm
UUID: 7d546524-daff-4d6f-b92c-f7d794c0de5c
Ancestors: Morphic-cmm.738

Re-fixed the Morphic ancestry mess.  Please do not re-adopt anything from kfr.732 to mt.742.  All changes which didn't break something have already been manually included.  It's too bad we lost the historical record for those changes, but its better than a broken trunk.

=============== Diff against Morphic-cmm.738 ===============

Item was changed:
  ----- Method: AlternatePluggableListMorphOfMany>>mouseUp: (in category 'event handling') -----
  mouseUp: event
+ 	
+ 	event hand newKeyboardFocus: self. 
+ 	hasFocus := true.
+ 	^self!
- 	"Not needed.  Overridden to do nothing."!

Item was changed:
  ----- Method: Morph>>addAllMorphs: (in category 'submorphs-add/remove') -----
  addAllMorphs: aCollection
+ 	^self addAllMorphsBack: aCollection!
- 	^self privateAddAllMorphs: aCollection atIndex: submorphs size!

Item was changed:
  ----- Method: Morph>>addAllMorphs:after: (in category 'submorphs-add/remove') -----
  addAllMorphs: aCollection after: anotherMorph
+ 	^self addAllMorphs: aCollection behind: anotherMorph!
- 	^self privateAddAllMorphs: aCollection 
- 			atIndex: (submorphs indexOf: anotherMorph ifAbsent: [submorphs size])!

Item was added:
+ ----- Method: Morph>>addAllMorphs:behind: (in category 'submorphs-add/remove') -----
+ addAllMorphs: aCollection behind: anotherMorph
+ 	^self privateAddAllMorphs: aCollection 
+ 			atIndex: (submorphs indexOf: anotherMorph) + 1!

Item was added:
+ ----- Method: Morph>>addAllMorphs:inFrontOf: (in category 'submorphs-add/remove') -----
+ addAllMorphs: aCollection inFrontOf: anotherMorph
+ 	^self privateAddAllMorphs: aCollection
+ 			atIndex: ((submorphs indexOf: anotherMorph) max: 1)!

Item was added:
+ ----- Method: Morph>>addAllMorphsBack: (in category 'submorphs-add/remove') -----
+ addAllMorphsBack: aCollection
+ 	^self privateAddAllMorphs: aCollection atIndex: submorphs size + 1!

Item was added:
+ ----- Method: Morph>>addAllMorphsFront: (in category 'submorphs-add/remove') -----
+ addAllMorphsFront: aCollection
+ 	^self privateAddAllMorphs: aCollection atIndex: 1!

Item was changed:
  ----- Method: Morph>>addMorph:after: (in category 'submorphs-add/remove') -----
  addMorph: newMorph after: aMorph
+ 	^self addMorph: newMorph behind: aMorph!
- 	"Add the given morph as one of my submorphs, inserting it after anotherMorph"
- 	^self privateAddMorph: newMorph atIndex: (submorphs indexOf: aMorph)+1!

Item was changed:
  ----- Method: Morph>>privateAddAllMorphs:atIndex: (in category 'private') -----
  privateAddAllMorphs: aCollection atIndex: index
  	"Private. Add aCollection of morphs to the receiver"
+ 	| myWorld otherSubmorphs offset |
+ 	(index between: 1 and: submorphs size+1)
+ 		ifFalse: [^ self error: 'index out of range'].
- 	| myWorld otherSubmorphs |
  	myWorld := self world.
  	otherSubmorphs := submorphs copyWithoutAll: aCollection.
+ 	offset := aCollection count: [:m | (submorphs indexOf: m) between: 1 and: index - 1].
+ 	submorphs := otherSubmorphs copyReplaceFrom: index-offset to: index-offset-1 with: aCollection.
- 	(index between: 0 and: otherSubmorphs size)
- 		ifFalse: [^ self error: 'index out of range'].
- 	index = 0
- 		ifTrue:[	submorphs := aCollection asArray, otherSubmorphs]
- 		ifFalse:[	index = otherSubmorphs size
- 			ifTrue:[	submorphs := otherSubmorphs, aCollection]
- 			ifFalse:[	submorphs := otherSubmorphs copyReplaceFrom: index + 1 to: index with: aCollection ]].
  	aCollection do: [:m | | itsOwner itsWorld |
  		itsOwner := m owner.
  		itsOwner ifNotNil: [
  			itsWorld := m world.
  			(itsWorld == myWorld) ifFalse: [
  				itsWorld ifNotNil: [self privateInvalidateMorph: m].
  				m outOfWorld: itsWorld].
  			(itsOwner ~~ self) ifTrue: [
  				m owner privateRemove: m.
  				m owner removedMorph: m ]].
  		m privateOwner: self.
  		myWorld ifNotNil: [self privateInvalidateMorph: m].
  		(myWorld == itsWorld) ifFalse: [m intoWorld: myWorld].
  		itsOwner == self ifFalse: [
  			self addedMorph: m.
  			m noteNewOwner: self ].
  	].
  	self layoutChanged.
  !

Item was added:
+ ScrollPane subclass: #PluggableScrollPane
+ 	instanceVariableNames: 'morph morphClass'
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'Morphic-Pluggable Widgets'!

Item was added:
+ ----- Method: PluggableScrollPane class>>on: (in category 'instance creation') -----
+ on: morph
+ 
+ 	^ self new
+ 		morph: morph;
+ 		yourself!

Item was added:
+ ----- Method: PluggableScrollPane class>>onClass: (in category 'instance creation') -----
+ onClass: morphClass
+ 
+ 	^ self new
+ 		morphClass: morphClass;
+ 		updateMorph;
+ 		yourself!

Item was added:
+ ----- Method: PluggableScrollPane>>morph (in category 'accessing') -----
+ morph
+ 
+ 	^ morph ifNil: [
+ 		self morph: self morphClass new.
+ 		morph]!

Item was added:
+ ----- Method: PluggableScrollPane>>morph: (in category 'accessing') -----
+ morph: morphToScroll
+ 
+ 	morphToScroll topLeft: 0 at 0.
+ 	morph := morphToScroll.
+ 	morphClass := morphToScroll class.
+ 
+ 	self scroller
+ 		removeAllMorphs;
+ 		addMorph: morph.
+ 	
+ 	self updateMorph.!

Item was added:
+ ----- Method: PluggableScrollPane>>morphClass (in category 'accessing') -----
+ morphClass
+ 
+ 	^ morphClass ifNil: [Morph]!

Item was added:
+ ----- Method: PluggableScrollPane>>morphClass: (in category 'accessing') -----
+ morphClass: aMorphClass
+ 
+ 	morphClass := aMorphClass.!

Item was added:
+ ----- Method: PluggableScrollPane>>updateMorph (in category 'updating') -----
+ updateMorph
+ 
+ 	self morph fullBounds.
+ 	self setScrollDeltas.
+ 	
+ 	scrollBar setValue: 0.0.
+ 	hScrollBar setValue: 0.0.!

Item was changed:
  ----- Method: TextMorphForEditView>>mouseDown: (in category 'event handling') -----
  mouseDown: event
  
  	event yellowButtonPressed ifTrue: [
+ 		(self editor yellowButtonDown: event) ifTrue:[^self].
- 		(editor yellowButtonDown: event) ifTrue:[^self].
  		^ editView yellowButtonActivity: event shiftPressed].
  	^ super mouseDown: event
  !



More information about the Squeak-dev mailing list