The Trunk: Morphic-topa.1091.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Morphic-topa.1091.mcz

commits-2
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.
  !