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.!
packages@lists.squeakfoundation.org