[squeak-dev] The Trunk: Morphic-mt.2084.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Jan 30 13:34:32 UTC 2023


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

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

Name: Morphic-mt.2084
Author: mt
Time: 30 January 2023, 2:34:29.833867 pm
UUID: 05b36277-e56f-0146-b5b9-218981302f8b
Ancestors: Morphic-mt.2083

Complement ToolBuilder-Morphic-mt.333

=============== Diff against Morphic-mt.2083 ===============

Item was added:
+ ----- Method: IndentingListItemMorph class>>filterBackgroundColor (in category 'defaults') -----
+ filterBackgroundColor
+ 
+ 	^ FilterBackgroundColor!

Item was changed:
  ----- Method: IndentingListItemMorph>>applyFilter: (in category 'filtering') -----
  applyFilter: filter
  
+ 	(container matchesPattern: filter contents: contents)
- 	(self matches: filter in: complexContents)
  		ifTrue: [backgroundColor := FilterBackgroundColor. ^ true]
  		ifFalse: [self hideByFilter. ^ false].!

Item was added:
+ ----- Method: IndentingListItemMorph>>applyFilter:column: (in category 'filtering') -----
+ applyFilter: filter column: index
+ 
+ 	index ifNil: [^ self applyFilter: filter].
+ 
+ 	(container matchesPattern: filter contents: contents column: index)
+ 		ifTrue: [backgroundColor := FilterBackgroundColor. ^ true]
+ 		ifFalse: [self hideByFilter. ^ false].!

Item was changed:
  ----- Method: IndentingListItemMorph>>drawLabelInColumnsOn:in: (in category 'drawing') -----
  drawLabelInColumnsOn: aCanvas in: drawBounds
  	"Draw the receiver appearing in multiple columns. Use TAB character to move between columns."
  		
  	| columnScanner columnLeft columnRect columnData updateFilter |
  	self assert: [container columns size > 1].
  
  	columnScanner := ReadStream on: contents asString.
  	
  	"Update filter matches"
  	updateFilter := backgroundColor notNil and: [filterOffsets isNil].
  	filterOffsets ifNil: [filterOffsets := OrderedCollection new].
  
  	1 to: container columns size do: [ :column |
  		| columnWidth |
  		"Compute first/next column offset."
  		column = 1
  			ifTrue: [columnLeft := drawBounds left]
  			ifFalse: [columnLeft := columnRect right + 5 px].
  		"Draw icon."
  		column = self class iconColumnIndex ifTrue: [
  			icon ifNotNil: [
  				aCanvas
  					translucentImage: icon
  					at: columnLeft @ (self top + (self height - icon height // 2)).
  				columnLeft := columnLeft + icon width + 2 px]].
  		"Compute drawing bounds for label portion."
  		columnWidth := self widthOfColumn: column.
  		column = 1 ifTrue: [ "Reduce width by indentation present in first column only"
  			columnWidth := columnWidth - (drawBounds left - self left) + self hMargin].
  		columnRect := columnLeft @ drawBounds top extent: columnWidth @ drawBounds height.
  		columnData := columnScanner upTo: Character tab.
  		"Draw label portion."
  		columnData ifNotEmpty: [
  			aCanvas drawString: columnData in: columnRect font: self fontToUse color: self colorToUse.
  			updateFilter ifTrue: [
+ 				(container shouldFilterColumnIndex: column)
- 				(column = 1 or: [PluggableTreeMorph filterByLabelsOnly not])
  					ifTrue: [filterOffsets addAll: (self getFilterOffsetsFor: columnData column: column)]] ] ].
  
  	"Handle trailing TAB issue in string representation."
  	columnScanner upToEnd ifNotEmpty: [:rest |
  		columnRect := columnLeft + (self fontToUse widthOfString: columnData) @ drawBounds top extent: columnRect extent.
  		columnData := String tab, rest.
  		aCanvas drawString: columnData in: columnRect font: self fontToUse color: self colorToUse.
  		updateFilter ifTrue: [
+ 			(container shouldFilterColumnIndex: container columns size)
- 			"column > 1" PluggableTreeMorph filterByLabelsOnly not 
  				ifTrue: [filterOffsets addAll: (self getFilterOffsetsFor: columnData column: container columns size)]] ].!

Item was removed:
- ----- Method: IndentingListItemMorph>>matches:in: (in category 'filtering') -----
- matches: pattern in: wrapper 
- 	^ ((PluggableTreeMorph filterByLabelsOnly
- 		ifTrue: [ wrapper itemName ]
- 		ifFalse: [ contents ])
- 			findString: pattern
- 			startingAt: 1
- 			caseSensitive: false) > 0!

Item was added:
+ ----- Method: SimpleHierarchicalListMorph>>drawBackgroundOn: (in category 'drawing') -----
+ drawBackgroundOn: aCanvas !

Item was changed:
  ----- Method: SimpleHierarchicalListMorph>>drawOn: (in category 'drawing') -----
  drawOn: aCanvas 
  	
  	super drawOn: aCanvas.
+ 
+ 	self drawBackgroundOn: aCanvas.
  	
  	self drawHoverOn: aCanvas.
  	self drawSelectionOn: aCanvas.
  	self drawLinesOn: aCanvas.!



More information about the Squeak-dev mailing list