Tobias Pape uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-topa.1091.mcz
==================== Summary ====================
Name: Morphic-topa.1091 Author: topa Time: 2 March 2016, 12:24:01.676712 am UUID: eb8276fa-d3ef-42e6-925f-9dd92ba97121 Ancestors: Morphic-topa.1090
Wee tiny cosmetic change to trees: Start tree-lines at indent-level 1, so tress with no children beyond the roots whatsoever look very similar to lists.
=============== Diff against Morphic-topa.1090 ===============
Item was removed: - ----- Method: IndentingListItemMorph>>drawLinesOn:lineColor: (in category 'drawing') ----- - drawLinesOn: aCanvas lineColor: lineColor - | hasToggle | - hasToggle := self hasToggle. - "Draw line from toggle to text" - self drawLineToggleToTextOn: aCanvas lineColor: lineColor hasToggle: hasToggle. - - "Draw the line from my toggle to the nextSibling's toggle" - self nextVisibleSibling ifNotNil: [ self drawLinesToNextSiblingOn: aCanvas lineColor: lineColor hasToggle: hasToggle ]. - - "If I have children and am expanded, draw a line to my first child" - (self firstVisibleChild notNil and: [ self isExpanded ]) - ifTrue: [ self drawLinesToFirstChildOn: aCanvas lineColor: lineColor]!
Item was added: + ----- Method: IndentingListItemMorph>>drawLinesOn:lineColor:indentThreshold: (in category 'drawing') ----- + drawLinesOn: aCanvas lineColor: lineColor indentThreshold: aNumber + self indentLevel > aNumber ifTrue: [ + | hasToggle | + hasToggle := self hasToggle. + "Draw line from toggle to text" + self drawLineToggleToTextOn: aCanvas lineColor: lineColor hasToggle: hasToggle. + + "Draw the line from my toggle to the nextSibling's toggle" + self nextVisibleSibling ifNotNil: [ self drawLinesToNextSiblingOn: aCanvas lineColor: lineColor hasToggle: hasToggle ]]. + + "If I have children and am expanded, draw a line to my first child" + ((self firstVisibleChild notNil + and: [self isExpanded]) + and: [self firstVisibleChild indentLevel > aNumber]) + ifTrue: [ self drawLinesToFirstChildOn: aCanvas lineColor: lineColor ]!
Item was changed: ----- Method: IndentingListItemMorph>>drawOn: (in category 'drawing') ----- drawOn: aCanvas | tRect sRect columnScanner columnLeft | 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 := bounds withLeft: tRect right + 4. sRect := sRect top: sRect top + sRect bottom - self fontToUse height // 2. (container columns isNil or: [(contents asString indexOf: Character tab) = 0]) ifTrue: [ icon ifNotNil: [ aCanvas translucentImage: icon at: sRect left @ (self top + (self height - icon height // 2)). sRect := sRect left: sRect left + icon width + 2. ]. aCanvas drawString: contents asString in: sRect font: self fontToUse color: color. ] ifFalse: [ columnLeft := sRect left. columnScanner := ReadStream on: contents asString. container columns withIndexDo: [ :widthSpec :column | | columnRect columnData columnWidth | "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]].
columnWidth := self widthOfColumn: column. columnRect := columnLeft @ sRect top extent: columnWidth @ sRect height. columnData := columnScanner upTo: Character tab. "Draw string." columnData ifNotEmpty: [ aCanvas drawString: columnData in: columnRect font: self fontToUse color: color].
"Compute next column offset." columnLeft := columnRect right + 5. column = 1 ifTrue: [columnLeft := columnLeft - tRect right + self left]. ]. ]!
Item was changed: ----- Method: IndentingListItemMorph>>hMargin (in category 'accessing') ----- hMargin
^ 3!
Item was changed: ----- Method: SimpleHierarchicalListMorph>>drawLinesOn: (in category 'drawing') ----- drawLinesOn: aCanvas
| lColor | lColor := self lineColor. aCanvas transformBy: scroller transform clippingTo: scroller innerBounds during:[:clippedCanvas | scroller submorphs select: [:submorph | submorph visible] thenDo: [ :submorph | ((submorph isExpanded or: [clippedCanvas isVisible: submorph fullBounds] ) or: [ submorph nextSibling notNil and: [clippedCanvas isVisible: submorph nextSibling]]) + ifTrue: [submorph drawLinesOn: clippedCanvas lineColor: lColor indentThreshold: 0] ] ] - ifTrue: [submorph drawLinesOn: clippedCanvas lineColor: lColor] ] ] smoothing: scroller smoothing. !
squeak-dev@lists.squeakfoundation.org