[squeak-dev] The Inbox: Morphic-ct.1644.mcz

Jakob Reschke forums.jakob at resfarm.de
Sat Apr 11 19:24:39 UTC 2020


Aren't SystemWindows something ToolBuilder-specific anyway? But the
class is in Morphic, hmm...

Am Di., 7. Apr. 2020 um 13:32 Uhr schrieb <commits at source.squeak.org>:
>
> Christoph Thiede uploaded a new version of Morphic to project The Inbox:
> http://source.squeak.org/inbox/Morphic-ct.1644.mcz
>
> ==================== Summary ====================
>
> Name: Morphic-ct.1644
> Author: ct
> Time: 7 April 2020, 1:32:26.01443 pm
> UUID: a0c6db46-f0e7-0c44-85c1-04826d179915
> Ancestors: Morphic-mt.1643
>
> Proposal: Make #openInWindow... use #openAsTool rather than manual #addMorph.
>
> Advantage: Things like [CalendarMorph new openInWindow] follow the #openToolsAttachedToMouseCursor preference.
>
> Possible disadvantage: Dependency from Morphic to ToolBuilder-Morphic. Do we want this dependency? There is already a small number of dependencies in the same direction ...
>
> =============== Diff against Morphic-mt.1643 ===============
>
> Item was changed:
>   ----- Method: Morph>>openInWindowLabeled:inWorld: (in category 'initialization') -----
>   openInWindowLabeled: aString inWorld: aWorld
>
> +       | window |
> +       window := self wrapIntoWindowLabeled: aString inWorld: aWorld.
> +       window openAsTool.
> +       ^ window!
> -       | window extent |
> -
> -       window := (SystemWindow labelled: aString) model: nil.
> -       window
> -               " guess at initial extent"
> -               bounds:  (RealEstateAgent initialFrameFor: window initialExtent: self fullBounds extent world: aWorld);
> -               addMorph: self frame: (0 at 0 extent: 1 at 1);
> -               updatePaneColors.
> -       " calculate extent after adding in case any size related attributes were changed.  Use
> -       fullBounds in order to trigger re-layout of layout morphs"
> -       extent := self fullBounds extent
> -               + (window extent - window layoutBounds extent).
> -       window extent: extent.
> -       aWorld addMorph: window.
> -       window beKeyWindow.
> -       aWorld startSteppingSubmorphsOf: window.
> -       ^window
> - !
>
> Item was added:
> + ----- Method: Morph>>wrapIntoWindowLabeled:inWorld: (in category 'initialization') -----
> + wrapIntoWindowLabeled: aString inWorld: aWorld
> +
> +       | window extent |
> +       window := (SystemWindow labelled: aString) model: nil.
> +       window
> +               "Guess at initial extent"
> +               bounds: (RealEstateAgent initialFrameFor: window initialExtent: self fullBounds extent world: aWorld);
> +               addMorph: self frame: (0 @ 0 extent: 1 @ 1);
> +               updatePaneColors.
> +
> +       "Calculate extent after adding in case any size related attributes were changed.
> +       Use fullBounds in order to trigger re-layout of layout morphs."
> +       extent := self fullBounds extent
> +               + (window extent - window layoutBounds extent).
> +       window extent: extent.
> +
> +       aWorld startSteppingSubmorphsOf: window.
> +
> +       ^ window!
>
>


More information about the Squeak-dev mailing list