From 04960d4dea96533595bf4552521a48a0d334a871 Mon Sep 17 00:00:00 2001 From: Yann Le Goff Date: Tue, 25 Nov 2025 16:48:13 +0100 Subject: [PATCH] better_padding_and_margin --- .../BlElement.extension.st | 57 ++++-- .../BlLayoutCommonConstraints.extension.st | 13 +- .../BlocSerializationChildrenTests.class.st | 174 +++++++++--------- 3 files changed, 134 insertions(+), 110 deletions(-) diff --git a/src/Bloc-Serialization-Stash/BlElement.extension.st b/src/Bloc-Serialization-Stash/BlElement.extension.st index 101c819..b48aac8 100644 --- a/src/Bloc-Serialization-Stash/BlElement.extension.st +++ b/src/Bloc-Serialization-Stash/BlElement.extension.st @@ -41,35 +41,23 @@ BlElement >> allSetterAndGettersForMyStashLayout [ ] { #category : #'*Bloc-Serialization-Stash' } -BlElement >> allSetterAndGettersForMyStashTransformation [ +BlElement >> allSetterAndGettersForMyStashMargin [ - self transformation isIdentity ifFalse: [ - ^ { #transformDo: -> #transformation } ]. + self margin = BlInsets empty ifFalse: [ + ^ { #margin } ]. ^ { } ] { #category : #'*Bloc-Serialization-Stash' } -BlElement >> allSetterAndGettersForMyStashVisuals [ +BlElement >> allSetterAndGettersForMyStashOtherProperties [ | settersAndGetters | settersAndGetters := OrderedCollection new. - self background == BlElementVisuals defaultBackground ifFalse: [ - settersAndGetters add: #background ]. - self border == BlElementVisuals defaultBorder ifFalse: [ - settersAndGetters add: #border ]. - self geometry == BlElementVisuals defaultGeometry ifFalse: [ - settersAndGetters add: #geometry ]. - self effect == (BlElementVisuals classPool at: #DefaultEffect) - ifFalse: [ settersAndGetters add: #effect ]. - self opacity == (BlElementVisuals classPool at: #DefaultOpacity) - ifFalse: [ settersAndGetters add: #opacity ]. self visibility == (BlElementVisuals classPool at: #DefaultVisibility) ifFalse: [ settersAndGetters add: #visibility ]. - self outskirts == (BlElementVisuals classPool at: #DefaultOutskirts) - ifFalse: [ settersAndGetters add: #outskirts ]. self clipChildren == (BlElementVisuals classPool at: #DefaultClipChildren) ifFalse: [ settersAndGetters add: #clipChildren ]. @@ -84,5 +72,42 @@ BlElement >> allSetterAndGettersForMyStashVisuals [ == (BlElementVisuals classPool at: #DefaultMouseCursor) ifFalse: [ settersAndGetters add: #mouseCursor ]. ^ settersAndGetters +] + +{ #category : #'*Bloc-Serialization-Stash' } +BlElement >> allSetterAndGettersForMyStashPadding [ + + + self padding = BlInsets empty ifFalse: [ ^ { #padding } ]. + ^ { } +] + +{ #category : #'*Bloc-Serialization-Stash' } +BlElement >> allSetterAndGettersForMyStashTransformation [ + + self transformation isIdentity ifFalse: [ + ^ { #transformDo: -> #transformation } ]. + ^ { } +] + +{ #category : #'*Bloc-Serialization-Stash' } +BlElement >> allSetterAndGettersForMyStashVisuals [ + + + | settersAndGetters | + settersAndGetters := OrderedCollection new. + self background == BlElementVisuals defaultBackground ifFalse: [ + settersAndGetters add: #background ]. + self border == BlElementVisuals defaultBorder ifFalse: [ + settersAndGetters add: #border ]. + self geometry == BlElementVisuals defaultGeometry ifFalse: [ + settersAndGetters add: #geometry ]. + self effect == (BlElementVisuals classPool at: #DefaultEffect) + ifFalse: [ settersAndGetters add: #effect ]. + self opacity == (BlElementVisuals classPool at: #DefaultOpacity) + ifFalse: [ settersAndGetters add: #opacity ]. + self outskirts == (BlElementVisuals classPool at: #DefaultOutskirts) + ifFalse: [ settersAndGetters add: #outskirts ]. + ^ settersAndGetters ] diff --git a/src/Bloc-Serialization-Stash/BlLayoutCommonConstraints.extension.st b/src/Bloc-Serialization-Stash/BlLayoutCommonConstraints.extension.st index c502ae4..430357b 100644 --- a/src/Bloc-Serialization-Stash/BlLayoutCommonConstraints.extension.st +++ b/src/Bloc-Serialization-Stash/BlLayoutCommonConstraints.extension.st @@ -2,10 +2,11 @@ Extension { #name : #BlLayoutCommonConstraints } { #category : #'*Bloc-Serialization-Stash' } BlLayoutCommonConstraints >> stashAccessorsForCommonConstraints [ + | settersAndGetters | settersAndGetters := OrderedCollection new. - + self flow allSetterAndGettersForMyStash ifNotEmpty: [ settersAndGetters add: #flow onlyGetOnStash ]. self frame allSetterAndGettersForMyStash ifNotEmpty: [ @@ -20,12 +21,8 @@ BlLayoutCommonConstraints >> stashAccessorsForCommonConstraints [ settersAndGetters add: #relative onlyGetOnStash ]. self zoomable allSetterAndGettersForMyStash ifNotEmpty: [ settersAndGetters add: #zoomable onlyGetOnStash ]. - + self position = (0 @ 0) ifFalse: [ settersAndGetters add: #position ]. - self padding = BlInsets empty ifFalse: [ - settersAndGetters add: #padding ]. - self margin = BlInsets empty ifFalse: [ - settersAndGetters add: #margin ]. self maxHeight = Float infinity ifFalse: [ settersAndGetters add: #maxHeight ]. @@ -35,8 +32,8 @@ BlLayoutCommonConstraints >> stashAccessorsForCommonConstraints [ self minWidth = 0 ifFalse: [ settersAndGetters add: #minWidth ]. accountTransformation ifTrue: [ - settersAndGetters add: - ([ :c | #accountTransformation ] -> self) onlySetOnStash ]. + settersAndGetters add: + ([ :c | #accountTransformation ] -> self) onlySetOnStash ]. ^ settersAndGetters ] diff --git a/src/Bloc-Serialization-Tests/BlocSerializationChildrenTests.class.st b/src/Bloc-Serialization-Tests/BlocSerializationChildrenTests.class.st index 874d047..4f274e4 100644 --- a/src/Bloc-Serialization-Tests/BlocSerializationChildrenTests.class.st +++ b/src/Bloc-Serialization-Tests/BlocSerializationChildrenTests.class.st @@ -19,17 +19,17 @@ BlocSerializationChildrenTests >> testChildren [ e3 }. self test: origin on: [ :element | - self assert: element parent equals: nil. - self assert: element children size equals: 3. - self assert: (element childAt: 1) parent equals: element. - self assert: (element childAt: 1) isFirstChild equals: true. - self assert: (element childAt: 1) isLastChild equals: false. - self assert: (element childAt: 2) parent equals: element. - self assert: (element childAt: 2) isFirstChild equals: false. - self assert: (element childAt: 2) isLastChild equals: false. - self assert: (element childAt: 3) owner equals: element. - self assert: (element childAt: 3) isFirstChild equals: false. - self assert: (element childAt: 3) isLastChild equals: true ] + self assert: element parent equals: nil. + self assert: element children size equals: 3. + self assert: (element childAt: 1) parent equals: element. + self assert: (element childAt: 1) isFirstChild equals: true. + self assert: (element childAt: 1) isLastChild equals: false. + self assert: (element childAt: 2) parent equals: element. + self assert: (element childAt: 2) isFirstChild equals: false. + self assert: (element childAt: 2) isLastChild equals: false. + self assert: (element childAt: 3) parent equals: element. + self assert: (element childAt: 3) isFirstChild equals: false. + self assert: (element childAt: 3) isLastChild equals: true ] ] { #category : #tests } @@ -45,7 +45,7 @@ BlocSerializationChildrenTests >> testChildren1 [ background: Color blue; yourself. e2 := BlElement new - size: 50 @ 10; + extent: 50 @ 10; background: Color green; yourself. e3 := BlElement new @@ -59,17 +59,17 @@ BlocSerializationChildrenTests >> testChildren1 [ e3 }. self test: origin on: [ :element | - self assert: element parent equals: nil. - self assert: element children size equals: 3. - self assert: (element childAt: 1) owner equals: element. - self assert: (element childAt: 1) isFirstChild equals: true. - self assert: (element childAt: 1) isLastChild equals: false. - self assert: (element childAt: 2) owner equals: element. - self assert: (element childAt: 2) isFirstChild equals: false. - self assert: (element childAt: 2) isLastChild equals: false. - self assert: (element childAt: 3) owner equals: element. - self assert: (element childAt: 3) isFirstChild equals: false. - self assert: (element childAt: 3) isLastChild equals: true ] + self assert: element parent equals: nil. + self assert: element children size equals: 3. + self assert: (element childAt: 1) owner equals: element. + self assert: (element childAt: 1) isFirstChild equals: true. + self assert: (element childAt: 1) isLastChild equals: false. + self assert: (element childAt: 2) owner equals: element. + self assert: (element childAt: 2) isFirstChild equals: false. + self assert: (element childAt: 2) isLastChild equals: false. + self assert: (element childAt: 3) owner equals: element. + self assert: (element childAt: 3) isFirstChild equals: false. + self assert: (element childAt: 3) isLastChild equals: true ] ] { #category : #tests } @@ -85,7 +85,7 @@ BlocSerializationChildrenTests >> testChildren2 [ background: Color blue; yourself. e2 := BlElement new - size: 50 @ 10; + extent: 50 @ 10; background: Color green; yourself. e3 := BlElement new @@ -99,26 +99,28 @@ BlocSerializationChildrenTests >> testChildren2 [ e3 }. self test: origin on: [ :element | - self assert: element constraints horizontal resizer size equals: 300. - self assert: element constraints vertical resizer size equals: 500. - self - assert: (element childAt: 1) constraints horizontal resizer size - equals: 200. - self - assert: (element childAt: 2) constraints horizontal resizer size - equals: 50. - self - assert: (element childAt: 3) constraints horizontal resizer size - equals: 80. - self - assert: (element childAt: 1) constraints vertical resizer size - equals: 100. - self - assert: (element childAt: 2) constraints vertical resizer size - equals: 10. - self - assert: (element childAt: 3) constraints vertical resizer size - equals: 600 ] + self + assert: element constraints horizontal resizer size + equals: 300. + self assert: element constraints vertical resizer size equals: 500. + self + assert: (element childAt: 1) constraints horizontal resizer size + equals: 200. + self + assert: (element childAt: 2) constraints horizontal resizer size + equals: 50. + self + assert: (element childAt: 3) constraints horizontal resizer size + equals: 80. + self + assert: (element childAt: 1) constraints vertical resizer size + equals: 100. + self + assert: (element childAt: 2) constraints vertical resizer size + equals: 10. + self + assert: (element childAt: 3) constraints vertical resizer size + equals: 600 ] ] { #category : #tests } @@ -134,7 +136,7 @@ BlocSerializationChildrenTests >> testChildren3 [ background: Color blue; yourself. e2 := BlElement new - size: 50 @ 10; + extent: 50 @ 10; background: Color green; yourself. e3 := BlElement new @@ -148,16 +150,16 @@ BlocSerializationChildrenTests >> testChildren3 [ e3 }. self test: origin on: [ :element | - self assert: element background paint color equals: Color red. - self - assert: (element childAt: 1) background paint color - equals: Color blue. - self - assert: (element childAt: 2) background paint color - equals: Color green. - self - assert: (element childAt: 3) background paint color - equals: Color yellow ] + self assert: element background paint color equals: Color red. + self + assert: (element childAt: 1) background paint color + equals: Color blue. + self + assert: (element childAt: 2) background paint color + equals: Color green. + self + assert: (element childAt: 3) background paint color + equals: Color yellow ] ] { #category : #tests } @@ -175,17 +177,17 @@ BlocSerializationChildrenTests >> testChildrenBasic1 [ e3 }. self test: origin on: [ :element | - self assert: element parent equals: nil. - self assert: element children size equals: 3. - self assert: (element childAt: 1) parent equals: element. - self assert: (element childAt: 1) isFirstChild equals: true. - self assert: (element childAt: 1) isLastChild equals: false. - self assert: (element childAt: 2) parent equals: element. - self assert: (element childAt: 2) isFirstChild equals: false. - self assert: (element childAt: 2) isLastChild equals: false. - self assert: (element childAt: 3) owner equals: element. - self assert: (element childAt: 3) isFirstChild equals: false. - self assert: (element childAt: 3) isLastChild equals: true ] + self assert: element parent equals: nil. + self assert: element children size equals: 3. + self assert: (element childAt: 1) parent equals: element. + self assert: (element childAt: 1) isFirstChild equals: true. + self assert: (element childAt: 1) isLastChild equals: false. + self assert: (element childAt: 2) parent equals: element. + self assert: (element childAt: 2) isFirstChild equals: false. + self assert: (element childAt: 2) isLastChild equals: false. + self assert: (element childAt: 3) parent equals: element. + self assert: (element childAt: 3) isFirstChild equals: false. + self assert: (element childAt: 3) isLastChild equals: true ] ] { #category : #tests } @@ -202,26 +204,26 @@ BlocSerializationChildrenTests >> testChildrenBasic2 [ e2 addChild: e3. self test: origin on: [ :element | - self assert: element parent equals: nil. - self assert: element children size equals: 1. - - self assert: (element childAt: 1) parent equals: element. - self assert: (element childAt: 1) children size equals: 1. - - self - assert: ((element childAt: 1) childAt: 1) children size - equals: 1. - self - assert: ((element childAt: 1) childAt: 1) parent - equals: (element childAt: 1). - - self - assert: - (((element childAt: 1) childAt: 1) childAt: 1) children size - equals: 0. - self - assert: (((element childAt: 1) childAt: 1) childAt: 1) owner - equals: ((element childAt: 1) childAt: 1) ] + self assert: element parent equals: nil. + self assert: element children size equals: 1. + + self assert: (element childAt: 1) parent equals: element. + self assert: (element childAt: 1) children size equals: 1. + + self + assert: ((element childAt: 1) childAt: 1) children size + equals: 1. + self + assert: ((element childAt: 1) childAt: 1) parent + equals: (element childAt: 1). + + self + assert: + (((element childAt: 1) childAt: 1) childAt: 1) children size + equals: 0. + self + assert: (((element childAt: 1) childAt: 1) childAt: 1) parent + equals: ((element childAt: 1) childAt: 1) ] ] { #category : #tests }