<body><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
Also see BorderedMorph >> #linkSubmorphsToSplitters.<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 21.11.2019 09:01:40 schrieb commits@source.squeak.org <commits@source.squeak.org>:</p><div style="font-family:Arial,Helvetica,sans-serif">Marcel Taeumel uploaded a new version of Morphic to project The Trunk:<br>http://source.squeak.org/trunk/Morphic-mt.1591.mcz<br><br>==================== Summary ====================<br><br>Name: Morphic-mt.1591<br>Author: mt<br>Time: 21 November 2019, 9:01:23.586593 am<br>UUID: f1318c24-447a-cd4f-b557-b2f8ac23d7a6<br>Ancestors: Morphic-mt.1590<br><br>Fixes the same bug about splitter positioning. :-) The issue was that the splitter's position did not match its internal state (leftOrTop or rightOrBottom).<br><br>=============== Diff against Morphic-mt.1590 ===============<br><br>Item was changed:<br> ----- Method: BorderedMorph>>addPaneHSplitterAtBottomOfRow: (in category 'resize handling') -----<br> addPaneHSplitterAtBottomOfRow: someMorphs<br> <br> | targetY minX maxX splitter |<br> targetY := someMorphs first layoutFrame bottomFraction.<br> <br> minX := (someMorphs detectMin: [:each | each layoutFrame leftFraction]) layoutFrame leftFraction.<br> maxX := (someMorphs detectMax: [:each | each layoutFrame rightFraction]) layoutFrame rightFraction.<br> <br> splitter := ProportionalSplitterMorph new beSplitsTopAndBottom; yourself.<br> splitter layoutFrame: (LayoutFrame<br> fractions: (minX @ targetY corner: maxX @ targetY)<br>+ offsets: ((someMorphs first layoutFrame leftOffset ifNil: [0]) @ 0 <br>+ corner: (someMorphs first layoutFrame rightOffset ifNil: [0]) @ AbstractResizerMorph gripThickness)).<br>- offsets: (((someMorphs first layoutFrame leftOffset ifNil: [0]) @ 0 <br>- corner: (someMorphs first layoutFrame rightOffset ifNil: [0]) @ AbstractResizerMorph gripThickness) <br>- translateBy: 0 @ (someMorphs first layoutFrame bottomOffset ifNil: [0]))).<br> <br> self addMorphBack: (splitter position: self position).!<br><br>Item was changed:<br> ----- Method: BorderedMorph>>addPaneVSplitterAtRightOfColumn: (in category 'resize handling') -----<br> addPaneVSplitterAtRightOfColumn: someMorphs<br> <br> | targetX minY maxY splitter |<br> targetX := someMorphs first layoutFrame rightFraction.<br>+ <br> minY := (someMorphs detectMin: [:each | each layoutFrame topFraction]) layoutFrame topFraction.<br> maxY := (someMorphs detectMax: [:each | each layoutFrame bottomFraction]) layoutFrame bottomFraction.<br> <br>+ splitter := ProportionalSplitterMorph new beSplitsLeftAndRight; yourself.<br>- splitter := ProportionalSplitterMorph new.<br> splitter layoutFrame: (LayoutFrame<br> fractions: (targetX @ minY corner: targetX @ maxY)<br>+ offsets: (0 @ (someMorphs first layoutFrame topOffset ifNil: [0])<br>+ corner: (AbstractResizerMorph gripThickness@ (someMorphs first layoutFrame bottomOffset ifNil: [0])))).<br>- offsets: ((0 @ (someMorphs first layoutFrame topOffset ifNil: [0]) corner: (AbstractResizerMorph gripThickness@ (someMorphs first layoutFrame bottomOffset ifNil: [0]))) translateBy: (someMorphs first layoutFrame rightOffset ifNil: [0]) @ 0)).<br> <br> self addMorphBack: (splitter position: self position).!<br><br><br></div></blockquote>
</div></body>