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