[squeak-dev] The Trunk: Morphic-mt.2091.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Feb 22 15:45:04 UTC 2023
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 at 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).!
More information about the Squeak-dev
mailing list
|