[squeak-dev] The Trunk: Morphic-mt.1591.mcz

Marcel Taeumel marcel.taeumel at hpi.de
Thu Nov 21 08:09:13 UTC 2019


Also see BorderedMorph >> #linkSubmorphsToSplitters.

Best,
Marcel
Am 21.11.2019 09:01:40 schrieb commits at source.squeak.org <commits at source.squeak.org>:
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).!


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20191121/789955b0/attachment.html>


More information about the Squeak-dev mailing list