[squeak-dev] The Inbox: Morphic-pre.1490.mcz

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Wed Jun 26 18:43:12 UTC 2019


Note that you do not need the ifNotNil: part

Le mer. 26 juin 2019 à 14:27, <commits at source.squeak.org> a écrit :

> Patrick Rein uploaded a new version of Morphic to project The Inbox:
> http://source.squeak.org/inbox/Morphic-pre.1490.mcz
>
> ==================== Summary ====================
>
> Name: Morphic-pre.1490
> Author: pre
> Time: 26 June 2019, 2:27:35.772055 pm
> UUID: 95570b89-47fd-8e4f-86ec-f075734e1fb0
> Ancestors: Morphic-pre.1489
>
> Fixes a defect preventing colored line items in pluggable tree morphs. The
> infrastructure was already in place (see StringMorph>>#contents:), however,
> the ListMorph overrides the determined color later. This changes this
> overriding to be more conservative to preserve any pre-determined color.
>
> =============== Diff against Morphic-pre.1489 ===============
>
> Item was changed:
>   ----- Method:
> SimpleHierarchicalListMorph>>addMorphsTo:from:allowSorting:withExpandedItems:atLevel:
> (in category 'private') -----
>   addMorphsTo: morphList from: aCollection allowSorting: sortBoolean
> withExpandedItems: expandedItems atLevel: newIndent
>
>         | priorMorph newCollection firstAddition |
>         priorMorph := nil.
>         newCollection := (sortBoolean and: [sortingSelector notNil])
> ifTrue: [
>                 aCollection sorted: [ :a :b |
>                         (a perform: sortingSelector) <= (b perform:
> sortingSelector)]
>         ] ifFalse: [
>                 aCollection
>         ].
>         firstAddition := nil.
>         newCollection do: [:item |
>                 priorMorph := self indentingItemClass basicNew
>                         initWithContents: item
>                         prior: priorMorph
>                         forList: self
>                         indentLevel: newIndent.
>                 priorMorph
> +                       color: (priorMorph color ifNil: [self textColor]
> ifNotNil: [:c | c]);
> -                       color: self textColor;
>                         font: self font;
>                         selectionColor: self selectionColor;
>                         selectionTextColor: self selectionTextColor;
>                         hoverColor: self hoverColor;
>                         highlightTextColor: self highlightTextColor;
>                         filterColor: self filterColor;
>                         filterTextColor: self filterTextColor.
>                 firstAddition ifNil: [firstAddition := priorMorph].
>                 morphList add: priorMorph.
>                 ((item hasEquivalentIn: expandedItems) or: [priorMorph
> isExpanded]) ifTrue: [
>                         priorMorph isExpanded: true.
>                         priorMorph
>                                 addChildrenForList: self
>                                 addingTo: morphList
>                                 withExpandedItems: expandedItems.
>                 ].
>         ].
>         ^firstAddition
>
>   !
>
> Item was changed:
>   ----- Method:
> SimpleHierarchicalListMorph>>addSubmorphsAfter:fromCollection:allowSorting:
> (in category 'private') -----
>   addSubmorphsAfter: parentMorph fromCollection: aCollection allowSorting:
> sortBoolean
>
>         | priorMorph morphList newCollection |
>         priorMorph := nil.
>         newCollection := (sortBoolean and: [sortingSelector notNil])
> ifTrue: [
>                 aCollection sorted: [ :a :b |
>                         (a perform: sortingSelector) <= (b perform:
> sortingSelector)]
>         ] ifFalse: [
>                 aCollection
>         ].
>         morphList := OrderedCollection new.
>         newCollection do: [:item |
>                 priorMorph := self indentingItemClass basicNew
>                         initWithContents: item
>                         prior: priorMorph
>                         forList: self
>                         indentLevel: parentMorph indentLevel + 1.
>                 priorMorph
> +                       color: (priorMorph color ifNil: [self textColor]
> ifNotNil: [:c | c]);
> -                       color: self textColor;
>                         font: self font;
>                         selectionColor: self selectionColor;
>                         selectionTextColor: self selectionTextColor;
>                         hoverColor: self hoverColor;
>                         highlightTextColor: self highlightTextColor;
>                         filterColor: self filterColor;
>                         filterTextColor: self filterTextColor.
>                 morphList add: priorMorph.
>         ].
>         scroller addAllMorphs: morphList after: parentMorph.
>         ^morphList
>
>   !
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190626/6de7eaf8/attachment.html>


More information about the Squeak-dev mailing list