Marcel Taeumel uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-mt.2091.mcz
==================== Summary ====================
Name: Morphic-mt.2091 Author: mt Time: 22 February 2023, 4:45:02.96655 pm UUID: 2d5c67db-4fbf-1e47-9d70-7854a92de154 Ancestors: Morphic-mt.2090
Minor fixes in tree items. Well, #children does now actually work but is not used at the moment. Just like #isFilterMatch. Both are currently documentation-only...
=============== Diff against Morphic-mt.2090 ===============
Item was changed: ----- Method: IndentingListItemMorph>>children (in category 'accessing') ----- children
^ Array streamContents: [:stream | + self childrenDo: [:each | stream nextPut: each]]! - self childrenDo: [:each | stream add: each]]!
Item was changed: ----- Method: IndentingListItemMorph>>collapse (in category 'container protocol') ----- collapse
self isExpanded ifFalse: [^ self]. self isExpanded: false. firstChild ifNotNil: [:collapsingNode | | toDelete | toDelete := OrderedCollection new. collapsingNode withSiblingsDo: [:aNode | aNode recursiveAddTo: toDelete]. + container noteRemovalOfAll: toDelete. + firstChild := nil]. - container noteRemovalOfAll: toDelete]. self changed.!
Item was changed: ----- Method: IndentingListItemMorph>>drawFilterOn:in: (in category 'drawing') ----- drawFilterOn: aCanvas in: drawBounds "Draw filter matches if any. Based on LazyListMorph >> #displayFilterOn:for:in:font:." | fillStyle fillHeight leading columnOffsets o cw | filterOffsets ifEmpty: [^ self]. fillHeight := font lineGridForMorphs. fillStyle := container filterColor isColor ifTrue: [SolidFillStyle color: container filterColor] ifFalse: [container filterColor]. fillStyle isGradientFill ifTrue: [ fillStyle origin: drawBounds topLeft. fillStyle direction: 0@ fillHeight]. leading := font lineGapSliceForMorphs. columnOffsets := (container columns isNil or: [container columns size = 1]) ifTrue: [ o := drawBounds left. icon ifNotNil: [o := o + icon width + 2 px]. { o }] ifFalse: [ (0 to: container columns size - 1) collect: [ :column | column = 0 ifTrue: [o := drawBounds left] ifFalse: [ cw := self widthOfColumn: column. column = 1 ifTrue: [ "Reduce width by indentation present in first column only" cw := cw - (drawBounds left - self left) + self hMargin]. column + 1 = self class iconColumnIndex ifTrue: [ icon ifNotNil: [o := o + icon width + 2 px]]. o := o + cw + 5 px]] ]. filterOffsets do: [:offset | | highlightRectangle | highlightRectangle := (((columnOffsets at: offset third) + offset first first) @ drawBounds top corner: ((columnOffsets at: offset third) + offset first last) @ (drawBounds top + fillHeight)). aCanvas + frameAndFillRoundRect: (highlightRectangle outsetBy: 1 px @ 0) - frameAndFillRoundRect: (highlightRectangle outsetBy: 1@0) radius: 3 px fillStyle: fillStyle borderWidth: 1 px borderColor: fillStyle asColor twiceDarker. aCanvas drawString: offset second in: (highlightRectangle origin + (0 @ leading) corner: highlightRectangle corner) font: font color: container filterTextColor].!
Item was changed: ----- Method: IndentingListItemMorph>>drawOn: (in category 'drawing') ----- drawOn: aCanvas | tRect sRect | self backgroundColor ifNotNil: [:c | aCanvas fillRectangle: self innerBounds color: c].
tRect := self toggleRectangle. self drawToggleOn: aCanvas in: tRect.
sRect := bounds withLeft: tRect right + self hMargin. + sRect := sRect top: sRect top + self fontToUse lineGapSliceForMorphs. - sRect := sRect top: sRect top + sRect bottom - self fontToUse height // 2. (container columns isNil or: [(contents asString indexOf: Character tab) = 0]) ifTrue: [self drawLabelOn: aCanvas in: sRect] ifFalse: [self drawLabelInColumnsOn: aCanvas in: sRect]. self drawFilterOn: aCanvas in: (bounds withLeft: tRect right + self hMargin).!
packages@lists.squeakfoundation.org