<body><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
                                        SystemWindow in Morphic is the pendant for SystemView in ST80. We can only use #openAsTool in #openInWindow if we manage to lift that concept from Morphic into the independent ToolBuilder or Tools package. As long as "window" and "system window" are backed into Morphic framework, we should not use #openAsTool there.<div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div><blockquote class="history_container" type="cite" style="border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 11.04.2020 21:25:00 schrieb Jakob Reschke <forums.jakob@resfarm.de>:</p><div style="font-family:Arial,Helvetica,sans-serif">Aren't SystemWindows something ToolBuilder-specific anyway? But the<br>class is in Morphic, hmm...<br><br>Am Di., 7. Apr. 2020 um 13:32 Uhr schrieb <commits@source.squeak.org>:<br>><br>> Christoph Thiede uploaded a new version of Morphic to project The Inbox:<br>> http://source.squeak.org/inbox/Morphic-ct.1644.mcz<br>><br>> ==================== Summary ====================<br>><br>> Name: Morphic-ct.1644<br>> Author: ct<br>> Time: 7 April 2020, 1:32:26.01443 pm<br>> UUID: a0c6db46-f0e7-0c44-85c1-04826d179915<br>> Ancestors: Morphic-mt.1643<br>><br>> Proposal: Make #openInWindow... use #openAsTool rather than manual #addMorph.<br>><br>> Advantage: Things like [CalendarMorph new openInWindow] follow the #openToolsAttachedToMouseCursor preference.<br>><br>> 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 ...<br>><br>> =============== Diff against Morphic-mt.1643 ===============<br>><br>> Item was changed:<br>>   ----- Method: Morph>>openInWindowLabeled:inWorld: (in category 'initialization') -----<br>>   openInWindowLabeled: aString inWorld: aWorld<br>><br>> +       | window |<br>> +       window := self wrapIntoWindowLabeled: aString inWorld: aWorld.<br>> +       window openAsTool.<br>> +       ^ window!<br>> -       | window extent |<br>> -<br>> -       window := (SystemWindow labelled: aString) model: nil.<br>> -       window<br>> -               " guess at initial extent"<br>> -               bounds:  (RealEstateAgent initialFrameFor: window initialExtent: self fullBounds extent world: aWorld);<br>> -               addMorph: self frame: (0@0 extent: 1@1);<br>> -               updatePaneColors.<br>> -       " calculate extent after adding in case any size related attributes were changed.  Use<br>> -       fullBounds in order to trigger re-layout of layout morphs"<br>> -       extent := self fullBounds extent<br>> -               + (window extent - window layoutBounds extent).<br>> -       window extent: extent.<br>> -       aWorld addMorph: window.<br>> -       window beKeyWindow.<br>> -       aWorld startSteppingSubmorphsOf: window.<br>> -       ^window<br>> - !<br>><br>> Item was added:<br>> + ----- Method: Morph>>wrapIntoWindowLabeled:inWorld: (in category 'initialization') -----<br>> + wrapIntoWindowLabeled: aString inWorld: aWorld<br>> +<br>> +       | window extent |<br>> +       window := (SystemWindow labelled: aString) model: nil.<br>> +       window<br>> +               "Guess at initial extent"<br>> +               bounds: (RealEstateAgent initialFrameFor: window initialExtent: self fullBounds extent world: aWorld);<br>> +               addMorph: self frame: (0 @ 0 extent: 1 @ 1);<br>> +               updatePaneColors.<br>> +<br>> +       "Calculate extent after adding in case any size related attributes were changed.<br>> +       Use fullBounds in order to trigger re-layout of layout morphs."<br>> +       extent := self fullBounds extent<br>> +               + (window extent - window layoutBounds extent).<br>> +       window extent: extent.<br>> +<br>> +       aWorld startSteppingSubmorphsOf: window.<br>> +<br>> +       ^ window!<br>><br>><br><br></commits@source.squeak.org></div></blockquote>
                                        </div></body>