[squeak-dev] The Trunk: Morphic-bf.621.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Jul 19 23:47:40 UTC 2012


Bert Freudenberg uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-bf.621.mcz

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

Name: Morphic-bf.621
Author: bf
Time: 19 July 2012, 4:46:28.191 pm
UUID: 35494a91-808a-4bc3-bb8c-0ebc2f0d2b26
Ancestors: Morphic-cmm.620

Fix filtering in AlternatePluggableListMorphOfMany. WTF do we even have subclasses of PluggableListMorph? It's supposed to be pluggable!

=============== Diff against Morphic-cmm.620 ===============

Item was removed:
- (PackageInfo named: 'Morphic') postscriptOfRemoval: 'nil'!

Item was removed:
- (PackageInfo named: 'Morphic') preamble: 'nil'!

Item was changed:
  ----- Method: AlternatePluggableListMorphOfMany>>itemSelectedAmongMultiple: (in category 'model access') -----
  itemSelectedAmongMultiple: index
+ 	^self listSelectionAt: (self modelIndexFor: index)!
- 	^model isMessageSelectedAt: index!

Item was changed:
  ----- Method: AlternatePluggableListMorphOfMany>>mouseDown: (in category 'event handling') -----
  mouseDown: event
  	| row |
  
  	event yellowButtonPressed ifTrue: [^ self yellowButtonActivity: event shiftPressed].
  
  	row := self rowAtLocation: event position.
  	
  	row = 0 ifTrue: [^super mouseDown: event].
  
  	model okToChange ifFalse: [^ self].  "No change if model is locked"
  
  	"Inform model of selected item and let it toggle."
  	self
+ 		changeModelSelection: (self modelIndexFor: row)
- 		changeModelSelection: row
  		shifted: event shiftPressed
  		controlled: event controlKeyPressed.
  
  
  "
  	event hand releaseMouseFocus: aMorph.
  	submorphs do: [ :each | each changed ]
  "!

Item was changed:
  ----- Method: AlternatePluggableListMorphOfMany>>mouseMove: (in category 'event handling') -----
  mouseMove: event 
  	"The mouse has moved, as characterized by the event provided.  Adjust the scrollbar, and alter the selection as appropriate"
  
  	| oldIndex oldVal row |
  	event position y < self top 
  		ifTrue: 
  			[scrollBar scrollUp: 1.
  			row := self rowAtLocation: scroller topLeft + (1 @ 1)]
  		ifFalse: 
  			[row := event position y > self bottom 
  				ifTrue: 
  					[scrollBar scrollDown: 1.
  					self rowAtLocation: scroller bottomLeft + (1 @ -1)]
  				ifFalse: [ self rowAtLocation: event position]].
  	row = 0 ifTrue: [^super mouseDown: event].
  
  	model okToChange ifFalse: [^self].	"No change if model is locked"
  
  	"Set meaning for subsequent dragging of selection"
  	oldIndex := self getCurrentSelectionIndex.
  	oldIndex ~= 0 ifTrue: [oldVal := self listSelectionAt: oldIndex].
  	"Need to restore the old one, due to how model works, and set new one."
  	oldIndex ~= 0 ifTrue: [self listSelectionAt: oldIndex put: oldVal].
  
  	"Inform model of selected item and let it toggle."
  	self 
+ 		changeModelSelection: (self modelIndexFor: row)
- 		changeModelSelection: row
  		shifted: true
  		controlled: event controlKeyPressed.
  	submorphs do: [:each | each changed]!



More information about the Squeak-dev mailing list