[squeak-dev] The Trunk: Tools-cmm.572.mcz

Chris Muller asqueaker at gmail.com
Wed Apr 1 20:09:04 UTC 2015


Hi Marcel, I don't care for this code in #openExplorerFor: but I ran
out of time to understand why the window title would not update until
the model was set only AFTERward, not beforehand..

On Wed, Apr 1, 2015 at 2:44 PM,  <commits at source.squeak.org> wrote:
> Chris Muller uploaded a new version of Tools to project The Trunk:
> http://source.squeak.org/trunk/Tools-cmm.572.mcz
>
> ==================== Summary ====================
>
> Name: Tools-cmm.572
> Author: cmm
> Time: 1 April 2015, 2:43:55.003 pm
> UUID: cc792d4a-a258-496c-bffe-ad6db90b52b6
> Ancestors: Tools-cmm.571
>
> - Fix test for scrollbar presence for Vertical Smart Splitter support.
> - Fix "Reuse Windows" preference for ObjectExplorers.
>
> =============== Diff against Tools-cmm.571 ===============
>
> Item was changed:
>   ----- Method: IndentingListItemMorph>>charactersOccluded (in category 'private') -----
>   charactersOccluded
>         "Answer the number of characters occluded in my #visibleList by my right edge."
>         | listIndex leftEdgeOfRightmostColumn eachString indexOfLastVisible iconWidth totalWidth |
>         listIndex := 0.
>         leftEdgeOfRightmostColumn := container columns
>                 ifNil: [ 0 ]
>                 ifNotNil:
>                         [ : cols | (1 to: cols size - 1)
>                                 inject: 0
>                                 into:
>                                         [ : sum : each | sum + (self widthOfColumn: each) ] ].
>         eachString := container columns
>                 ifNil: [ self complexContents asString ]
>                 ifNotNil:
>                         [ : cols | self contentsAtColumn: container columns size ].
>         iconWidth := self icon
>                 ifNil: [ 0 ]
>                 ifNotNil:
>                         [ : icon | icon width + 2 ].
>         totalWidth := self toggleBounds right.
>         indexOfLastVisible := ((1 to: eachString size)
>                 detect:
>                         [ : stringIndex | (totalWidth:=totalWidth+(self fontToUse widthOf: (eachString at: stringIndex))) >
>                                 (container width -
> +                                       (container vIsScrollbarShowing
> +                                               ifTrue: [ container scrollBar width ]
> +                                               ifFalse: [ 0 ]) - iconWidth - leftEdgeOfRightmostColumn) ]
> -                                       (container scrollBar
> -                                               ifNil: [ 0 ]
> -                                               ifNotNil: [ container scrollBar width ]) - iconWidth - leftEdgeOfRightmostColumn) ]
>                 ifNone: [ eachString size + 1 ]) - 1.
>         ^ eachString size - indexOfLastVisible!
>
> Item was changed:
>   ----- Method: ObjectExplorer>>openExplorerFor:withLabel: (in category 'user interface') -----
>   openExplorerFor: anObject withLabel: label
> +       "ObjectExplorer new openExplorerFor: Smalltalk withLabel: 'Smalltalk'"
> +       "Model must be set to support Reuse Windows preference."
> +       self rootObject: anObject.
> +       ToolBuilder
> +               open: self
> +               label: label.
> +       "Set model again to ensure window title updated (hmm, why not the first time?)."
> +       self rootObject: anObject!
> -      "ObjectExplorer new openExplorerFor: Smalltalk withLabel: 'Smalltalk'"
> -
> -       ToolBuilder open: self label: label.
> -       self rootObject: anObject.!
>
>


More information about the Squeak-dev mailing list