[squeak-dev] The Trunk: Tools-mt.565.mcz

Eliot Miranda eliot.miranda at gmail.com
Wed Apr 1 03:58:07 UTC 2015


Hi Marcel,

    this may have broken the FileList. At least after the latest update the
FileList no longer opens up the tree of directories in the left-hand pane
to the current directory.

On Sun, Mar 29, 2015 at 5:44 AM, <commits at source.squeak.org> wrote:

> Marcel Taeumel uploaded a new version of Tools to project The Trunk:
> http://source.squeak.org/trunk/Tools-mt.565.mcz
>
> ==================== Summary ====================
>
> Name: Tools-mt.565
> Author: mt
> Time: 29 March 2015, 2:44:29.709 pm
> UUID: f8216267-8713-0449-bef6-35fecc620960
> Ancestors: Tools-topa.564
>
> Refactored toggle/expand code in IndentingListItemMorph.
>
> =============== Diff against Tools-topa.564 ===============
>
> Item was changed:
> + ----- Method:
> IndentingListItemMorph>>addChildrenForList:addingTo:withExpandedItems: (in
> category 'container protocol - private') -----
> - ----- Method:
> IndentingListItemMorph>>addChildrenForList:addingTo:withExpandedItems: (in
> category 'private-container protocol') -----
>   addChildrenForList: hostList addingTo: morphList withExpandedItems:
> expandedItems
>
>         firstChild ifNotNil: [
>                 firstChild withSiblingsDo: [ :aNode | aNode delete].
>         ].
>         firstChild := nil.
>         complexContents hasContents ifFalse: [^self].
>         firstChild := hostList
>                 addMorphsTo: morphList
>                 from: complexContents contents
>                 allowSorting: true
>                 withExpandedItems: expandedItems
>                 atLevel: indentLevel + 1.
>         !
>
> Item was changed:
> + ----- Method: IndentingListItemMorph>>canExpand (in category 'testing')
> -----
> - ----- Method: IndentingListItemMorph>>canExpand (in category
> 'accessing') -----
>   canExpand
>
>         ^complexContents hasContents!
>
> Item was added:
> + ----- 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].
> +
> +       self changed.!
>
> Item was changed:
> + ----- Method: IndentingListItemMorph>>complexContents (in category
> 'accessing') -----
> - ----- Method: IndentingListItemMorph>>complexContents (in category
> 'private-container protocol') -----
>   complexContents
>
>         ^complexContents!
>
> Item was added:
> + ----- Method: IndentingListItemMorph>>expand (in category 'container
> protocol') -----
> + expand
> +
> +       | newChildren c |
> +
> +       (self isExpanded or: [self canExpand not])
> +               ifTrue: [^ self].
> +
> +       (c := self getChildren) ifEmpty: [
> +               "Due to the guessing in #canExpand, it may still fail
> here."
> +               ^ self].
> +
> +       self isExpanded: true.
> +
> +       newChildren := container
> +               addSubmorphsAfter: self
> +               fromCollection: c
> +               allowSorting: true.
> +
> +       firstChild := newChildren first.!
>
> Item was changed:
> + ----- Method: IndentingListItemMorph>>hasIcon (in category 'testing')
> -----
> - ----- Method: IndentingListItemMorph>>hasIcon (in category 'accessing')
> -----
>   hasIcon
>         "Answer whether the receiver has an icon."
>         ^ icon notNil!
>
> Item was changed:
> + ----- Method: IndentingListItemMorph>>highlight (in category 'container
> protocol - private') -----
> - ----- Method: IndentingListItemMorph>>highlight (in category
> 'private-container protocol') -----
>   highlight
>
>         (self valueOfProperty: #wasRefreshed ifAbsent: [false])
>                 ifFalse: [self color: complexContents highlightingColor]
>                 ifTrue: [self color: self color negated].
>
>         self changed.
>
>   !
>
> Item was changed:
> + ----- Method: IndentingListItemMorph>>isFirstItem (in category
> 'testing') -----
> - ----- Method: IndentingListItemMorph>>isFirstItem (in category
> 'accessing') -----
>   isFirstItem
>         ^owner submorphs first == self!
>
> Item was changed:
> + ----- Method: IndentingListItemMorph>>isSoleItem (in category 'testing')
> -----
> - ----- Method: IndentingListItemMorph>>isSoleItem (in category
> 'accessing') -----
>   isSoleItem
>         ^self isFirstItem and: [ owner submorphs size = 1 ]!
>
> Item was changed:
> + ----- Method: IndentingListItemMorph>>openPath: (in category 'container
> protocol - private') -----
> - ----- Method: IndentingListItemMorph>>openPath: (in category
> 'private-container protocol') -----
>   openPath: anArray
>         | found |
>         anArray isEmpty
>                 ifTrue: [^ container setSelectedMorph: nil].
>         found := nil.
>         self
>                 withSiblingsDo: [:each | found
>                                 ifNil: [(each complexContents asString =
> anArray first
>                                                         or: [anArray first
> isNil])
>                                                 ifTrue: [found := each]]].
>         found
>                 ifNil: ["try again with no case sensitivity"
>                         self
>                                 withSiblingsDo: [:each | found
>                                                 ifNil: [(each
> complexContents asString sameAs: anArray first)
>                                                                 ifTrue:
> [found := each]]]].
>         found
>                 ifNotNil: [found isExpanded
>                                 ifFalse: [found toggleExpandedState.
>                                         container adjustSubmorphPositions].
>                         found changed.
>                         anArray size = 1
>                                 ifTrue: [^ container setSelectedMorph:
> found].
>                         ^ found firstChild
>                                 ifNil: [container setSelectedMorph: nil]
>                                 ifNotNil: [found firstChild openPath:
> anArray allButFirst]].
>         ^ container setSelectedMorph: nil!
>
> Item was changed:
> + ----- Method: IndentingListItemMorph>>recursiveAddTo: (in category
> 'container protocol - private') -----
> - ----- Method: IndentingListItemMorph>>recursiveAddTo: (in category
> 'private-container protocol') -----
>   recursiveAddTo: aCollection
>
>         firstChild ifNotNil: [
>                 firstChild withSiblingsDo: [ :aNode | aNode
> recursiveAddTo: aCollection].
>         ].
>         aCollection add: self
>         !
>
> Item was changed:
> + ----- Method: IndentingListItemMorph>>recursiveDelete (in category
> 'container protocol - private') -----
> - ----- Method: IndentingListItemMorph>>recursiveDelete (in category
> 'private-container protocol') -----
>   recursiveDelete
>
>         firstChild ifNotNil: [
>                 firstChild withSiblingsDo: [ :aNode | aNode
> recursiveDelete].
>         ].
>         self delete
>         !
>
> Item was changed:
> + ----- Method: IndentingListItemMorph>>toggleExpandedState (in category
> 'container protocol') -----
> - ----- Method: IndentingListItemMorph>>toggleExpandedState (in category
> 'private-container protocol') -----
>   toggleExpandedState
>
> +       self isExpanded
> +               ifTrue: [self collapse]
> +               ifFalse: [self expand].!
> -       | newChildren toDelete c |
> -
> -       isExpanded := isExpanded not.
> -       toDelete := OrderedCollection new.
> -       firstChild ifNotNil: [
> -               firstChild withSiblingsDo: [ :aNode | aNode
> recursiveAddTo: toDelete].
> -       ].
> -       container noteRemovalOfAll: toDelete.
> -       (isExpanded and: [complexContents hasContents]) ifFalse: [
> -               ^self changed
> -       ].
> -       (c := self getChildren) isEmpty ifTrue: [^self changed].
> -       newChildren := container
> -               addSubmorphsAfter: self
> -               fromCollection: c
> -               allowSorting: true.
> -       firstChild := newChildren first.
> - !
>
>
>


-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20150331/43ab307e/attachment.htm


More information about the Squeak-dev mailing list