<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
Can we avoid #respondsTo: by just implementing #<span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">makeMeVisible in Morph?</span><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px"><br></span></div><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">Best,</span></div><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">Marcel</span></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;min-width: 500px">
<p style="color: #AAAAAA; margin-top: 10px;">Am 24.08.2022 12:16:17 schrieb commits@source.squeak.org <commits@source.squeak.org>:</p><div style="font-family:Arial,Helvetica,sans-serif">A new version of Morphic was added to project The Inbox:<br>http://source.squeak.org/inbox/Morphic-ct.2032.mcz<br><br>==================== Summary ====================<br><br>Name: Morphic-ct.2032<br>Author: ct<br>Time: 24 August 2022, 12:15:59.039424 pm<br>UUID: 385fbab8-ecc3-9f42-8b04-5ce73768f082<br>Ancestors: Morphic-ct.2031<br><br>Proposal: After resizing the display, also make all open dialog windows and progress morphs visible.<br><br>=============== Diff against Morphic-ct.2031 ===============<br><br>Item was added:<br>+ ----- Method: DialogWindow>>makeMeVisible (in category 'updating') -----<br>+ makeMeVisible<br>+ "Assure that the receiver is visible within the current world bounds."<br>+ <br>+ self world extent > (0 @ 0) ifFalse: [^ self].<br>+ <br>+ ((self world bounds insetBy: (0 @ 0 corner: self firstSubmorph height asPoint))<br>+ containsPoint: self position) ifTrue: [^ self "OK -- at least my top left is visible"].<br>+ <br>+ "window not on screen (probably due to reframe) -- move it now"<br>+ self position: (RealEstateAgent initialFrameFor: self initialExtent: self extent world: self world) topLeft.!<br><br>Item was changed:<br> ----- Method: PasteUpMorph>>fullRepaintNeeded (in category 'world state') -----<br> fullRepaintNeeded<br> <br> worldState doFullRepaint.<br>+ self submorphsDo: [:morph |<br>+ (morph respondsTo: #makeMeVisible)<br>+ ifTrue: [morph makeMeVisible]].<br>+ SystemProgressMorph fullRepaintNeeded.!<br>- SystemWindow windowsIn: self<br>- satisfying: [:w | w makeMeVisible. false].<br>- <br>- !<br><br>Item was added:<br>+ ----- Method: SystemProgressMorph class>>fullRepaintNeeded (in category 'class initialization') -----<br>+ fullRepaintNeeded<br>+ <br>+ UniqueInstance ifNotNil: [UniqueInstance recenter].!<br><br>Item was changed:<br>+ ----- Method: SystemWindow>>makeMeVisible (in category 'updating') -----<br>+ makeMeVisible<br>+ "Assure that the receiver is visible within the current world bounds."<br>- ----- Method: SystemWindow>>makeMeVisible (in category 'drawing') -----<br>- makeMeVisible <br> <br>+ self world extent > (0 @ 0) ifFalse: [^ self].<br>- self world extent > (0@0) ifFalse: [^ self].<br> <br>+ ((self world bounds insetBy: (0 @ 0 corner: self labelHeight asPoint))<br>- ((self world bounds insetBy: (0@0 corner: self labelHeight asPoint))<br> containsPoint: self position) ifTrue: [^ self "OK -- at least my top left is visible"].<br> <br> "window not on screen (probably due to reframe) -- move it now"<br>+ self position: (self isCollapsed<br>+ ifTrue: [RealEstateAgent assignCollapsePointFor: self]<br>+ ifFalse: [(RealEstateAgent initialFrameFor: self initialExtent: self extent world: self world) topLeft]).!<br>- self isCollapsed<br>- ifTrue: [self position: (RealEstateAgent assignCollapsePointFor: self)]<br>- ifFalse: [self position: (RealEstateAgent initialFrameFor: self initialExtent: self extent world: self world) topLeft].<br>- <br>- !<br><br><br></div></blockquote></div>