The Trunk: Morphic-mt.1591.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Morphic-mt.1591.mcz

commits-2
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).!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Morphic-mt.1591.mcz

marcel.taeumel
Also see BorderedMorph >> #linkSubmorphsToSplitters.

Best,
Marcel

Am 21.11.2019 09:01:40 schrieb [hidden email] <[hidden email]>:

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).!