From a94779a6380424514e88b81378162f0893bc8b7a Mon Sep 17 00:00:00 2001 From: Pierre Laborde Date: Fri, 4 Jul 2025 17:27:00 +0200 Subject: [PATCH 01/21] add pharo 13 CI + update readme file --- .github/workflows/{Pharo11CI.yml => CI.yml} | 62 +++++++++++---------- .github/workflows/Pharo12CI.yml | 29 ---------- README.md | 11 ++-- 3 files changed, 40 insertions(+), 62 deletions(-) rename .github/workflows/{Pharo11CI.yml => CI.yml} (61%) delete mode 100644 .github/workflows/Pharo12CI.yml diff --git a/.github/workflows/Pharo11CI.yml b/.github/workflows/CI.yml similarity index 61% rename from .github/workflows/Pharo11CI.yml rename to .github/workflows/CI.yml index 308f4804..c0b69327 100644 --- a/.github/workflows/Pharo11CI.yml +++ b/.github/workflows/CI.yml @@ -1,29 +1,33 @@ -name: 'Pharo 11 CI' - -env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - -on: - push: - branches: - - 'main' - pull_request: - types: [assigned, opened, synchronize, reopened] - -jobs: - build: - strategy: - matrix: - os: [ ubuntu-latest, macos-latest, windows-latest ] - smalltalk: [ Pharo64-11 ] - runs-on: ${{ matrix.os }} - name: ${{ matrix.smalltalk }} on ${{ matrix.os }} - steps: - - uses: actions/checkout@v3 - - uses: hpi-swa/setup-smalltalkCI@v1 - with: - smalltalk-image: ${{ matrix.smalltalk }} - - name: Load in New Image and Run Tests - run: smalltalkci -s ${{ matrix.smalltalk }} ${{ matrix.ston }} - shell: bash - timeout-minutes: 15 +name: 'CI' + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +on: + push: + branches: + - 'main' + pull_request: + types: [assigned, opened, synchronize, reopened] + +jobs: + test: + strategy: + matrix: + os: [ ubuntu-latest, macos-latest, windows-latest ] + smalltalk: [ Pharo64-11, Pharo64-12, Pharo64-13 ] + ston: [ .smalltalkci.default.ston ] + runs-on: ${{ matrix.os }} + name: > + ${{ matrix.smalltalk }} • ${{ matrix.os }} + steps: + - uses: actions/checkout@v3 + + - uses: hpi-swa/setup-smalltalkCI@v1 + with: + smalltalk-image: ${{ matrix.smalltalk }} + + - name: Run ${{ matrix.ston == '.smalltalkci.default.ston' && 'Full' || 'Core' }} tests + run: smalltalkci -s ${{ matrix.smalltalk }} ${{ matrix.ston }} + shell: bash + timeout-minutes: 30 \ No newline at end of file diff --git a/.github/workflows/Pharo12CI.yml b/.github/workflows/Pharo12CI.yml deleted file mode 100644 index 966431f4..00000000 --- a/.github/workflows/Pharo12CI.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: 'Pharo 12 CI' - -env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - -on: - push: - branches: - - 'main' - pull_request: - types: [assigned, opened, synchronize, reopened] - -jobs: - build: - strategy: - matrix: - os: [ ubuntu-latest, macos-latest, windows-latest ] - smalltalk: [ Pharo64-12 ] - runs-on: ${{ matrix.os }} - name: ${{ matrix.smalltalk }} on ${{ matrix.os }} - steps: - - uses: actions/checkout@v3 - - uses: hpi-swa/setup-smalltalkCI@v1 - with: - smalltalk-image: ${{ matrix.smalltalk }} - - name: Load in New Image and Run Tests - run: smalltalkci -s ${{ matrix.smalltalk }} ${{ matrix.ston }} - shell: bash - timeout-minutes: 15 diff --git a/README.md b/README.md index 1c605b3f..cfbddb9e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ -[![License](https://img.shields.io/github/license/openSmock/Pyramid.svg)](./LICENSE) -[![Pharo 11 CI](https://github.com/OpenSmock/Pyramid/actions/workflows/Pharo11CI.yml/badge.svg)](https://github.com/OpenSmock/Pyramid/actions/workflows/Pharo11CI.yml) -[![Pharo 12 CI](https://github.com/OpenSmock/Pyramid/actions/workflows/Pharo12CI.yml/badge.svg)](https://github.com/OpenSmock/Pyramid/actions/workflows/Pharo12CI.yml) +[![Pharo 11](https://img.shields.io/badge/Pharo-11-%23aac9ff.svg)](https://pharo.org/download) +[![Pharo 12](https://img.shields.io/badge/Pharo-12-%23aac9ff.svg)](https://pharo.org/download) +[![Pharo 13](https://img.shields.io/badge/Pharo-13-%23aac9ff.svg)](https://pharo.org/download) + +[![License](https://img.shields.io/github/license/OpenSmock/Pyramid.svg)](./LICENSE) +[![Unit tests](https://github.com/OpenSmock/Pyramid/actions/workflows/CI.yml/badge.svg)](https://github.com/OpenSmock/Pyramid/actions/workflows/CI.yml) # Pyramid @@ -59,7 +62,7 @@ We advise you to use dependencies committed at the date of the Pyramid release ( ```st Metacello new baseline: 'Pyramid'; - repository: 'github://OpenSmock/Pyramid:alpha4'; + repository: 'github://OpenSmock/Pyramid:alpha7'; load ``` From bfb857067ec8fb0863a9924b125170e227455445 Mon Sep 17 00:00:00 2001 From: Pierre Laborde Date: Fri, 4 Jul 2025 17:29:45 +0200 Subject: [PATCH 02/21] update ston file --- .smalltalkci.default.ston | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .smalltalkci.default.ston diff --git a/.smalltalkci.default.ston b/.smalltalkci.default.ston new file mode 100644 index 00000000..b061e401 --- /dev/null +++ b/.smalltalkci.default.ston @@ -0,0 +1,16 @@ +SmalltalkCISpec { + + #preLoading: '.github/ci/preLoading.st', + + #loading : [ + SCIMetacelloLoadSpec { + #baseline : 'Pyramid', + #directory : 'src', + #platforms : [ #pharo ] + } + ], + #testing : { + #categories : [ 'Pyramid*' ], + #packages : [ 'Bloc-Serialization.*' ] + } +} From a9552c0134e1db96ecb9dc705fda8156b81637e9 Mon Sep 17 00:00:00 2001 From: Sully Millet <119430426+SullyMLT@users.noreply.github.com> Date: Wed, 9 Jul 2025 16:33:22 +0200 Subject: [PATCH 03/21] Fix CI Baseline error - Update .smalltalk.ston --- .smalltalk.ston | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.smalltalk.ston b/.smalltalk.ston index b061e401..69bf48aa 100644 --- a/.smalltalk.ston +++ b/.smalltalk.ston @@ -6,6 +6,9 @@ SmalltalkCISpec { SCIMetacelloLoadSpec { #baseline : 'Pyramid', #directory : 'src', + #onConflict : #useLoaded, + #onUpgrade : #useLoaded, + #onWarningLog : true, #platforms : [ #pharo ] } ], From a7f056beec5c7cc3e8f9ca930a4b3a9f7c03c97f Mon Sep 17 00:00:00 2001 From: Sully Millet <119430426+SullyMLT@users.noreply.github.com> Date: Wed, 9 Jul 2025 16:36:33 +0200 Subject: [PATCH 04/21] Fix Metacello Baseline problem - Update README.md --- README.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cfbddb9e..4142b5d3 100644 --- a/README.md +++ b/README.md @@ -39,10 +39,16 @@ To install a version of Pyramid, use one of the following scripts inside a playg ### Latest development version ```st -Metacello new +[[ + Metacello new baseline: 'Pyramid'; - repository: 'github://OpenSmock/Pyramid:main/src'; - load + repository: 'github://OpenSmock/Pyramid:dev-p13/src'; + onConflict: [ :ex :loaded :incoming | ex useLoaded ]; + onUpgrade: [ :ex :loaded :incoming | ex useLoaded ]; + ignoreImage; + load. + ] on: MCMergeOrLoadWarning do: [ :warning | warning load ] +] on: Warning do: [ :w | w resume ]. ``` Only with Bloc (without Toplo features): From f270c1099d111b35ac0ca999d44aa0c17d6400dd Mon Sep 17 00:00:00 2001 From: Sully Millet <119430426+SullyMLT@users.noreply.github.com> Date: Wed, 9 Jul 2025 16:42:17 +0200 Subject: [PATCH 05/21] Fix CI Baseline - Update .smalltalkci.default.ston --- .smalltalkci.default.ston | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.smalltalkci.default.ston b/.smalltalkci.default.ston index b061e401..69bf48aa 100644 --- a/.smalltalkci.default.ston +++ b/.smalltalkci.default.ston @@ -6,6 +6,9 @@ SmalltalkCISpec { SCIMetacelloLoadSpec { #baseline : 'Pyramid', #directory : 'src', + #onConflict : #useLoaded, + #onUpgrade : #useLoaded, + #onWarningLog : true, #platforms : [ #pharo ] } ], From e607194be3ac1affd4c331f82f496d98f535549a Mon Sep 17 00:00:00 2001 From: SullyMLT Date: Thu, 10 Jul 2025 11:18:00 +0200 Subject: [PATCH 06/21] Fix the two test --- ...PyramidElementsManipulationHelper.class.st | 6 +- .../PyramidLayoutBlocCommandTest.class.st | 68 ++++++++++++++++--- 2 files changed, 63 insertions(+), 11 deletions(-) diff --git a/src/Pyramid-Bloc/PyramidElementsManipulationHelper.class.st b/src/Pyramid-Bloc/PyramidElementsManipulationHelper.class.st index b1afef44..e13dbd5c 100644 --- a/src/Pyramid-Bloc/PyramidElementsManipulationHelper.class.st +++ b/src/Pyramid-Bloc/PyramidElementsManipulationHelper.class.st @@ -28,10 +28,10 @@ PyramidElementsManipulationHelper class >> accumulateParentsOf: aCollectionOfBlE nextCollection := OrderedCollection new. onCollection do: [ :each | - (each hasParent: elementToTest) ifFalse: [ + (each allParentsInclude: elementToTest) ifFalse: [ nextCollection add: each ]. - (shouldKeepIt and: [ elementToTest hasParent: each ]) ifTrue: [ - shouldKeepIt := false ] ]. + (shouldKeepIt and: [ elementToTest allParentsInclude: each ]) + ifTrue: [ shouldKeepIt := false ] ]. shouldKeepIt ifTrue: [ result add: elementToTest ]. self accumulateParentsOf: nextCollection in: result ] diff --git a/src/Pyramid-Tests/PyramidLayoutBlocCommandTest.class.st b/src/Pyramid-Tests/PyramidLayoutBlocCommandTest.class.st index 9482a8d8..eff49bc4 100644 --- a/src/Pyramid-Tests/PyramidLayoutBlocCommandTest.class.st +++ b/src/Pyramid-Tests/PyramidLayoutBlocCommandTest.class.st @@ -14,26 +14,78 @@ PyramidLayoutBlocCommandTest >> command [ { #category : #'as yet unclassified' } PyramidLayoutBlocCommandTest >> targetContainers [ - + | flowLayoutVertical basicLayout proportionalLayout | + + flowLayoutVertical := BlFlowLayout vertical. + basicLayout := BlBasicLayout new. + proportionalLayout := BlProportionalLayout new. + ^ { (PyramidCommandTestContainer no: BlElement new with: (BlElement new - layout: BlFlowLayout vertical; + layout: flowLayoutVertical; yourself) - prop: BlFlowLayout vertical). + prop: flowLayoutVertical). (PyramidCommandTestContainer no: (BlElement new - layout: BlFlowLayout vertical; + layout: flowLayoutVertical; yourself) with: (BlElement new - layout: BlBasicLayout new; + layout: basicLayout; yourself) - prop: BlBasicLayout new). + prop: basicLayout). (PyramidCommandTestContainer no: BlElement new with: (BlElement new - layout: BlProportionalLayout new; + layout: proportionalLayout; yourself) - prop: BlProportionalLayout new) } + prop: proportionalLayout) } +] + +{ #category : #tests } +PyramidLayoutBlocCommandTest >> testHistory [ + "Do once. + undo + redo + undo + redo" + + | history commandExecutor targets | + targets := self targetsCanBeUsedFor. + history := PyramidHistory new. + commandExecutor := PyramidHistoryCommandExecutor new + history: history; + wrappee: PyramidMainCommandExecutor new; + yourself. + + "Do once" + self argumentsForHistory do: [ :each | + commandExecutor use: self command on: targets with: each ]. + + "Undo all" + self argumentsForHistory reverseDo: [ :argument | + targets do: [ :target | + self + assert: (self command getValueFor: target) class + equals: argument class ]. + history canUndo ifTrue: [ history undo ] ]. + + "Redo all" + self argumentsForHistory do: [ :argument | + history canRedo ifTrue: [ history redo ]. + targets do: [ :target | + self assert: (self command getValueFor: target) class equals: argument class] ]. + + "Undo all" + self argumentsForHistory reverseDo: [ :argument | + targets do: [ :target | + self assert: (self command getValueFor: target) class equals: argument class]. + history canUndo ifTrue: [ history undo ] ]. + + "Redo all" + self argumentsForHistory do: [ :argument | + history canRedo ifTrue: [ history redo ]. + targets do: [ :target | + self assert: (self command getValueFor: target) class equals: argument class ] ] ] From 7f03656c9f55ca5c01c6cc4a59454d67e18020ba Mon Sep 17 00:00:00 2001 From: Sully Millet <119430426+SullyMLT@users.noreply.github.com> Date: Thu, 10 Jul 2025 11:22:55 +0200 Subject: [PATCH 07/21] Back from update - Update README.md --- README.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 4142b5d3..cfbddb9e 100644 --- a/README.md +++ b/README.md @@ -39,16 +39,10 @@ To install a version of Pyramid, use one of the following scripts inside a playg ### Latest development version ```st -[[ - Metacello new +Metacello new baseline: 'Pyramid'; - repository: 'github://OpenSmock/Pyramid:dev-p13/src'; - onConflict: [ :ex :loaded :incoming | ex useLoaded ]; - onUpgrade: [ :ex :loaded :incoming | ex useLoaded ]; - ignoreImage; - load. - ] on: MCMergeOrLoadWarning do: [ :warning | warning load ] -] on: Warning do: [ :w | w resume ]. + repository: 'github://OpenSmock/Pyramid:main/src'; + load ``` Only with Bloc (without Toplo features): From bc9ffba96d46e80124b87416e3dd1eb5775a1fa7 Mon Sep 17 00:00:00 2001 From: SullyMLT Date: Tue, 29 Jul 2025 13:58:01 +0200 Subject: [PATCH 08/21] Fix test for Pharo 13 only --- .../PyramidColorInputMultiLinesPresenterTest.class.st | 4 ++-- .../PyramidColorInputSingleLinePresenterTest.class.st | 4 ++-- ...ColorInputSingleLineWithPickupButtonPresenterTest.class.st | 4 ++-- ...ramidHorizontalFrameConstraintsInputPresenterTest.class.st | 4 ++-- src/Pyramid-Tests/PyramidInsetsInputPresenterTest.class.st | 4 ++-- .../PyramidNumberArrayInputPresenterTest.class.st | 4 ++-- src/Pyramid-Tests/PyramidNumberInputPresenterTest.class.st | 4 ++-- src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st | 4 ++-- src/Pyramid-Tests/PyramidTextInputPresenterTest.class.st | 4 ++-- ...PyramidVerticalFrameConstraintsInputPresenterTest.class.st | 4 ++-- 10 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/Pyramid-Tests/PyramidColorInputMultiLinesPresenterTest.class.st b/src/Pyramid-Tests/PyramidColorInputMultiLinesPresenterTest.class.st index 2f26fe58..d3bd49be 100644 --- a/src/Pyramid-Tests/PyramidColorInputMultiLinesPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidColorInputMultiLinesPresenterTest.class.st @@ -37,6 +37,6 @@ PyramidColorInputMultiLinesPresenterTest >> makeNewInput [ { #category : #'as yet unclassified' } PyramidColorInputMultiLinesPresenterTest >> triggerValueChangedOf: anInput [ - anInput hexaInput hexInput textInput contextKeyBindings keymaps do: [ :bind | - bind action value ] + anInput hexaInput hexInput textInput ensureInternalActions + decoratedGroup entries do: [ :bind | bind execute ] ] diff --git a/src/Pyramid-Tests/PyramidColorInputSingleLinePresenterTest.class.st b/src/Pyramid-Tests/PyramidColorInputSingleLinePresenterTest.class.st index 6c1bd946..b238ac0e 100644 --- a/src/Pyramid-Tests/PyramidColorInputSingleLinePresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidColorInputSingleLinePresenterTest.class.st @@ -37,6 +37,6 @@ PyramidColorInputSingleLinePresenterTest >> makeNewInput [ { #category : #'as yet unclassified' } PyramidColorInputSingleLinePresenterTest >> triggerValueChangedOf: anInput [ - anInput hexInput textInput contextKeyBindings keymaps do: [ :bind | - bind action value ] + anInput hexInput textInput ensureInternalActions decoratedGroup + entries do: [ :bind | bind execute ] ] diff --git a/src/Pyramid-Tests/PyramidColorInputSingleLineWithPickupButtonPresenterTest.class.st b/src/Pyramid-Tests/PyramidColorInputSingleLineWithPickupButtonPresenterTest.class.st index c8cfa5c3..7b9d6788 100644 --- a/src/Pyramid-Tests/PyramidColorInputSingleLineWithPickupButtonPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidColorInputSingleLineWithPickupButtonPresenterTest.class.st @@ -37,6 +37,6 @@ PyramidColorInputSingleLineWithPickupButtonPresenterTest >> makeNewInput [ { #category : #'as yet unclassified' } PyramidColorInputSingleLineWithPickupButtonPresenterTest >> triggerValueChangedOf: anInput [ - anInput singleLineInput hexInput textInput contextKeyBindings keymaps do: [ :bind | - bind action value ] + anInput singleLineInput hexInput textInput ensureInternalActions + decoratedGroup entries do: [ :bind | bind execute ] ] diff --git a/src/Pyramid-Tests/PyramidHorizontalFrameConstraintsInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidHorizontalFrameConstraintsInputPresenterTest.class.st index e50b71f6..a68a3485 100644 --- a/src/Pyramid-Tests/PyramidHorizontalFrameConstraintsInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidHorizontalFrameConstraintsInputPresenterTest.class.st @@ -40,6 +40,6 @@ PyramidHorizontalFrameConstraintsInputPresenterTest >> makeNewInput [ { #category : #'as yet unclassified' } PyramidHorizontalFrameConstraintsInputPresenterTest >> triggerValueChangedOf: anInput [ - anInput inputRelative inputNumber contextKeyBindings keymaps do: [ :bind | - bind action value ] + anInput inputRelative inputNumber ensureInternalActions + decoratedGroup entries do: [ :bind | bind execute ] ] diff --git a/src/Pyramid-Tests/PyramidInsetsInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidInsetsInputPresenterTest.class.st index 54a093d6..3848b998 100644 --- a/src/Pyramid-Tests/PyramidInsetsInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidInsetsInputPresenterTest.class.st @@ -36,6 +36,6 @@ PyramidInsetsInputPresenterTest >> makeNewInput [ { #category : #'as yet unclassified' } PyramidInsetsInputPresenterTest >> triggerValueChangedOf: anInput [ - anInput inputArray inputArray contextKeyBindings keymaps do: [ :bind | - bind action value ] + anInput inputArray inputArray ensureInternalActions decoratedGroup + entries do: [ :bind | bind execute ] ] diff --git a/src/Pyramid-Tests/PyramidNumberArrayInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidNumberArrayInputPresenterTest.class.st index cb1df03e..46730cee 100644 --- a/src/Pyramid-Tests/PyramidNumberArrayInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidNumberArrayInputPresenterTest.class.st @@ -39,6 +39,6 @@ PyramidNumberArrayInputPresenterTest >> makeNewInput [ { #category : #'as yet unclassified' } PyramidNumberArrayInputPresenterTest >> triggerValueChangedOf: anInput [ - anInput inputArray contextKeyBindings keymaps do: [ :bind | - bind action value ] + anInput inputArray ensureInternalActions decoratedGroup entries do: [ + :bind | bind execute ] ] diff --git a/src/Pyramid-Tests/PyramidNumberInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidNumberInputPresenterTest.class.st index 85744a89..f0f2997c 100644 --- a/src/Pyramid-Tests/PyramidNumberInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidNumberInputPresenterTest.class.st @@ -40,6 +40,6 @@ PyramidNumberInputPresenterTest >> makeNewInput [ { #category : #'as yet unclassified' } PyramidNumberInputPresenterTest >> triggerValueChangedOf: anInput [ - anInput inputNumber contextKeyBindings keymaps do: [ :bind | - bind action value ] + anInput inputNumber ensureInternalActions decoratedGroup entries do: [ + :bind | bind execute ] ] diff --git a/src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st index 9e0170ed..98e664b3 100644 --- a/src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st @@ -39,6 +39,6 @@ PyramidPointInputPresenterTest >> makeNewInput [ { #category : #'as yet unclassified' } PyramidPointInputPresenterTest >> triggerValueChangedOf: anInput [ - anInput inputX inputNumber contextKeyBindings keymaps do: [ :bind | - bind action value ] + anInput inputX inputNumber ensureInternalActions decoratedGroup + entries do: [ :bind | bind execute ] ] diff --git a/src/Pyramid-Tests/PyramidTextInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidTextInputPresenterTest.class.st index 6ca9d02b..9e4ac9f5 100644 --- a/src/Pyramid-Tests/PyramidTextInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidTextInputPresenterTest.class.st @@ -33,6 +33,6 @@ PyramidTextInputPresenterTest >> makeNewInput [ { #category : #'as yet unclassified' } PyramidTextInputPresenterTest >> triggerValueChangedOf: anInput [ - anInput textInput contextKeyBindings keymaps do: [ :bind | - bind action value ] + anInput textInput ensureInternalActions decoratedGroup entries do: [ + :bind | bind execute ] ] diff --git a/src/Pyramid-Tests/PyramidVerticalFrameConstraintsInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidVerticalFrameConstraintsInputPresenterTest.class.st index 54377d79..e41964d9 100644 --- a/src/Pyramid-Tests/PyramidVerticalFrameConstraintsInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidVerticalFrameConstraintsInputPresenterTest.class.st @@ -54,6 +54,6 @@ PyramidVerticalFrameConstraintsInputPresenterTest >> makeNewInput [ { #category : #'as yet unclassified' } PyramidVerticalFrameConstraintsInputPresenterTest >> triggerValueChangedOf: anInput [ - anInput inputRelative inputNumber contextKeyBindings keymaps do: [ :bind | - bind action value ] + anInput inputRelative inputNumber ensureInternalActions + decoratedGroup entries do: [ :bind | bind execute ] ] From aa858fe5570ae150f1e7e8525443e2e837dc3b6c Mon Sep 17 00:00:00 2001 From: SullyMLT Date: Tue, 29 Jul 2025 14:24:30 +0200 Subject: [PATCH 09/21] Fix last test for pharo 13, some test are not stable --- src/Pyramid-Bloc/PyramidSavingService.class.st | 8 ++++---- .../PyramidCornerRadiiInputPresenterTest.class.st | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Pyramid-Bloc/PyramidSavingService.class.st b/src/Pyramid-Bloc/PyramidSavingService.class.st index 488da55c..e3177725 100644 --- a/src/Pyramid-Bloc/PyramidSavingService.class.st +++ b/src/Pyramid-Bloc/PyramidSavingService.class.st @@ -63,7 +63,7 @@ PyramidSavingService class >> stash [ classifier: #'pyramid-serialized-bloc'; comment: [ 'This class has been generated using Pyramid.By: <1s><2s> <3s>' - expandMacrosWith: Author uniqueInstance fullName + expandMacrosWith: '' with: Date today yyyymmdd with: Time now print24 ]; pragma: 'pyStash'; @@ -81,9 +81,9 @@ PyramidSavingService class >> ston [ classifier: #'pyramid-serialized-bloc'; comment: [ 'This class has been generated using Pyramid.By: <1s><2s> <3s>' - expandMacrosWith: Author uniqueInstance fullName - with: Date today yyyymmdd - with: Time now print24 ]; + expandMacrosWith: '' + with: Date today yyyymmdd + with: Time now print24 ]; pragma: 'pySTON'; serializeBlock: [ :collection | '<1p>' expandMacrosWith: diff --git a/src/Pyramid-Tests/PyramidCornerRadiiInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidCornerRadiiInputPresenterTest.class.st index cf93277f..6789a0d1 100644 --- a/src/Pyramid-Tests/PyramidCornerRadiiInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidCornerRadiiInputPresenterTest.class.st @@ -40,6 +40,6 @@ PyramidCornerRadiiInputPresenterTest >> makeNewInput [ { #category : #'as yet unclassified' } PyramidCornerRadiiInputPresenterTest >> triggerValueChangedOf: anInput [ - anInput inputArray inputArray contextKeyBindings keymaps do: [ :bind | - bind action value ] + anInput inputArray inputArray ensureInternalActions + decoratedGroup entries do: [ :bind | bind execute ] ] From a9b89c3e65b02bf742527b81dc447ac6fa947fb7 Mon Sep 17 00:00:00 2001 From: Pierre Laborde Date: Tue, 29 Jul 2025 15:56:05 +0200 Subject: [PATCH 10/21] fix conflicts with main branch --- .smalltalk.ston | 19 ------------------- .smalltalkci.default.ston | 2 +- README.md | 1 + 3 files changed, 2 insertions(+), 20 deletions(-) delete mode 100644 .smalltalk.ston diff --git a/.smalltalk.ston b/.smalltalk.ston deleted file mode 100644 index 69bf48aa..00000000 --- a/.smalltalk.ston +++ /dev/null @@ -1,19 +0,0 @@ -SmalltalkCISpec { - - #preLoading: '.github/ci/preLoading.st', - - #loading : [ - SCIMetacelloLoadSpec { - #baseline : 'Pyramid', - #directory : 'src', - #onConflict : #useLoaded, - #onUpgrade : #useLoaded, - #onWarningLog : true, - #platforms : [ #pharo ] - } - ], - #testing : { - #categories : [ 'Pyramid*' ], - #packages : [ 'Bloc-Serialization.*' ] - } -} diff --git a/.smalltalkci.default.ston b/.smalltalkci.default.ston index 69bf48aa..e2c3f733 100644 --- a/.smalltalkci.default.ston +++ b/.smalltalkci.default.ston @@ -16,4 +16,4 @@ SmalltalkCISpec { #categories : [ 'Pyramid*' ], #packages : [ 'Bloc-Serialization.*' ] } -} +} \ No newline at end of file diff --git a/README.md b/README.md index cfbddb9e..cb574a2b 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,7 @@ We advise you to use dependencies committed at the date of the Pyramid release ( Metacello new baseline: 'Pyramid'; repository: 'github://OpenSmock/Pyramid:alpha7'; + onConflictUseLoaded; load ``` From 7824425e47216191620c9b37b1a59234b4a484c2 Mon Sep 17 00:00:00 2001 From: Pierre Laborde Date: Tue, 29 Jul 2025 15:57:48 +0200 Subject: [PATCH 11/21] fix second try --- .smalltalk.ston | 17 +++++++++++++++++ README.md | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 .smalltalk.ston diff --git a/.smalltalk.ston b/.smalltalk.ston new file mode 100644 index 00000000..a7c2ae6d --- /dev/null +++ b/.smalltalk.ston @@ -0,0 +1,17 @@ +SmalltalkCISpec { + + #preLoading: '.github/ci/preLoading.st', + + #loading : [ + SCIMetacelloLoadSpec { + #baseline : 'Pyramid', + #directory : 'src', + #onConflict : #useLoaded, + #platforms : [ #pharo ] + } + ], + #testing : { + #categories : [ 'Pyramid*' ], + #packages : [ 'Bloc-Serialization.*' ] + } +} diff --git a/README.md b/README.md index cb574a2b..2a88df88 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ We advise you to use dependencies committed at the date of the Pyramid release ( ```st Metacello new baseline: 'Pyramid'; - repository: 'github://OpenSmock/Pyramid:alpha7'; + repository: 'github://OpenSmock/Pyramid:alpha4'; onConflictUseLoaded; load ``` From 558bde084854d5ca86e5eaeae8e3540d316ab4af Mon Sep 17 00:00:00 2001 From: Pierre Laborde Date: Tue, 29 Jul 2025 16:19:44 +0200 Subject: [PATCH 12/21] remove old file --- .smalltalk.ston | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 .smalltalk.ston diff --git a/.smalltalk.ston b/.smalltalk.ston deleted file mode 100644 index a7c2ae6d..00000000 --- a/.smalltalk.ston +++ /dev/null @@ -1,17 +0,0 @@ -SmalltalkCISpec { - - #preLoading: '.github/ci/preLoading.st', - - #loading : [ - SCIMetacelloLoadSpec { - #baseline : 'Pyramid', - #directory : 'src', - #onConflict : #useLoaded, - #platforms : [ #pharo ] - } - ], - #testing : { - #categories : [ 'Pyramid*' ], - #packages : [ 'Bloc-Serialization.*' ] - } -} From 1fbff85b63534d554105a98bb66c4faf4bcf61ee Mon Sep 17 00:00:00 2001 From: Pierre Laborde Date: Tue, 29 Jul 2025 16:36:39 +0200 Subject: [PATCH 13/21] Add Toplo-Serialization tests --- .smalltalkci.default.ston | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.smalltalkci.default.ston b/.smalltalkci.default.ston index e2c3f733..e7ad92fc 100644 --- a/.smalltalkci.default.ston +++ b/.smalltalkci.default.ston @@ -14,6 +14,7 @@ SmalltalkCISpec { ], #testing : { #categories : [ 'Pyramid*' ], - #packages : [ 'Bloc-Serialization.*' ] + #packages : [ 'Bloc-Serialization.*' ], + #packages : [ 'Toplo-Serialization.*' ] } } \ No newline at end of file From f274df56e85ce2c9c0e93a7329e24771939e26bc Mon Sep 17 00:00:00 2001 From: Pierre Laborde <49183340+labordep@users.noreply.github.com> Date: Tue, 29 Jul 2025 18:41:18 +0200 Subject: [PATCH 14/21] update baseline and readme to add PharoBackwardCompatibility project --- README.md | 2 ++ src/BaselineOfPyramid/BaselineOfPyramid.class.st | 13 ++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ce03f161..ba189ff6 100644 --- a/README.md +++ b/README.md @@ -148,6 +148,8 @@ https://github.com/OpenSmock/Pyramid/assets/49183340/0c66a3ac-7bea-48c1-b1e8-0b0 - [STON](https://github.com/svenvc/ston) - serializer for Pharo objects to Smalltalk Object Notation format. - [Stash](https://github.com/Nyan11/Stash) - serializer for Pharo objects to source code format. +**Pharo 12 compatibility:** On Pharo 12, [PharoBackwardCompatibility](https://github.com/jecisc/PharoBackwardCompatibility) is automatically loaded via the baseline to ensure compatibility. + ## License diff --git a/src/BaselineOfPyramid/BaselineOfPyramid.class.st b/src/BaselineOfPyramid/BaselineOfPyramid.class.st index b5d4c072..b2653530 100644 --- a/src/BaselineOfPyramid/BaselineOfPyramid.class.st +++ b/src/BaselineOfPyramid/BaselineOfPyramid.class.st @@ -9,7 +9,18 @@ BaselineOfPyramid >> baseline: spec [ "Common baseline for all Pharo versions" - spec for: #common do: [ self baselineForCommon: spec ] + spec for: #common do: [ + self baselineForCommon: spec. + + "Pharo backward compatibility: to preserve running from Pharo 12" + spec + for: #'pharo12.x' + do:[ + spec + baseline: 'PharoBackwardCompatibility' + with: [ spec repository: 'github://jecisc/PharoBackwardCompatibility:v1.12.0/src' ] + ]. + ] ] { #category : #baselines } From 96bef83bd1860ecf7b7515ebf83da5f063970ae4 Mon Sep 17 00:00:00 2001 From: Pierre Laborde <49183340+labordep@users.noreply.github.com> Date: Tue, 29 Jul 2025 19:07:04 +0200 Subject: [PATCH 15/21] update baseline --- .../BaselineOfPyramid.class.st | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/BaselineOfPyramid/BaselineOfPyramid.class.st b/src/BaselineOfPyramid/BaselineOfPyramid.class.st index b2653530..5a9bb7c9 100644 --- a/src/BaselineOfPyramid/BaselineOfPyramid.class.st +++ b/src/BaselineOfPyramid/BaselineOfPyramid.class.st @@ -9,18 +9,20 @@ BaselineOfPyramid >> baseline: spec [ "Common baseline for all Pharo versions" - spec for: #common do: [ - self baselineForCommon: spec. - - "Pharo backward compatibility: to preserve running from Pharo 12" - spec - for: #'pharo12.x' - do:[ - spec - baseline: 'PharoBackwardCompatibility' - with: [ spec repository: 'github://jecisc/PharoBackwardCompatibility:v1.12.0/src' ] - ]. - ] + spec + for: #common + do: [ + self baselineForCommon: spec. + + "Pharo backward compatibility: to preserve running from Pharo 12" + spec + for: #(#'pharo11.x' #'pharo12.x') + do:[ + spec + baseline: 'PharoBackwardCompatibility' + with: [ spec repository: 'github://jecisc/PharoBackwardCompatibility:master/src' ] + ]. + ] ] { #category : #baselines } From 84c3c07ba3dea0263211832380fb47f03d5519ce Mon Sep 17 00:00:00 2001 From: Pierre Laborde <49183340+labordep@users.noreply.github.com> Date: Tue, 29 Jul 2025 19:12:43 +0200 Subject: [PATCH 16/21] update baseline --- .../BaselineOfPyramid.class.st | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/src/BaselineOfPyramid/BaselineOfPyramid.class.st b/src/BaselineOfPyramid/BaselineOfPyramid.class.st index 5a9bb7c9..4f35f51d 100644 --- a/src/BaselineOfPyramid/BaselineOfPyramid.class.st +++ b/src/BaselineOfPyramid/BaselineOfPyramid.class.st @@ -9,20 +9,7 @@ BaselineOfPyramid >> baseline: spec [ "Common baseline for all Pharo versions" - spec - for: #common - do: [ - self baselineForCommon: spec. - - "Pharo backward compatibility: to preserve running from Pharo 12" - spec - for: #(#'pharo11.x' #'pharo12.x') - do:[ - spec - baseline: 'PharoBackwardCompatibility' - with: [ spec repository: 'github://jecisc/PharoBackwardCompatibility:master/src' ] - ]. - ] + spec for: #common do: [ self baselineForCommon: spec] ] { #category : #baselines } @@ -32,6 +19,15 @@ BaselineOfPyramid >> baselineForCommon: spec [ spec preLoadDoIt: #preload:package:. spec postLoadDoIt: #postload:package:. + "Pharo backward compatibility: to preserve running from Pharo 12" + spec + for: #(#'pharo11.x' #'pharo12.x') + do:[ + spec + baseline: 'PharoBackwardCompatibility' + with: [ spec repository: 'github://jecisc/PharoBackwardCompatibility:master/src' ] + ]. + "Dependencies" self blocDependencies: spec. self toploDependencies: spec. @@ -113,7 +109,7 @@ BaselineOfPyramid >> toploPackages: spec [ spec package: 'Pyramid-Toplo' - with: [ spec requires: #( 'ToploSerialization') ]. + with: [ spec requires: #( 'ToploSerialization' ) ]. spec package: 'Pyramid-Toplo-Tests' From fbcda7d799b5de1d398a1c7bf5ac115ac810f41d Mon Sep 17 00:00:00 2001 From: Pierre Laborde <49183340+labordep@users.noreply.github.com> Date: Tue, 29 Jul 2025 19:19:01 +0200 Subject: [PATCH 17/21] update baseline --- .../BaselineOfPyramid.class.st | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/BaselineOfPyramid/BaselineOfPyramid.class.st b/src/BaselineOfPyramid/BaselineOfPyramid.class.st index 4f35f51d..f2b9118a 100644 --- a/src/BaselineOfPyramid/BaselineOfPyramid.class.st +++ b/src/BaselineOfPyramid/BaselineOfPyramid.class.st @@ -9,7 +9,7 @@ BaselineOfPyramid >> baseline: spec [ "Common baseline for all Pharo versions" - spec for: #common do: [ self baselineForCommon: spec] + spec for: #common do: [ self baselineForCommon: spec ] ] { #category : #baselines } @@ -19,15 +19,11 @@ BaselineOfPyramid >> baselineForCommon: spec [ spec preLoadDoIt: #preload:package:. spec postLoadDoIt: #postload:package:. - "Pharo backward compatibility: to preserve running from Pharo 12" - spec - for: #(#'pharo11.x' #'pharo12.x') - do:[ - spec - baseline: 'PharoBackwardCompatibility' - with: [ spec repository: 'github://jecisc/PharoBackwardCompatibility:master/src' ] - ]. - + "Pharo backward compatibility: to preserve running from previous versions of Pharo" + spec + baseline: 'PharoBackwardCompatibility' + with: [ spec repository: 'github://jecisc/PharoBackwardCompatibility:master/src' ]. + "Dependencies" self blocDependencies: spec. self toploDependencies: spec. @@ -88,7 +84,9 @@ BaselineOfPyramid >> preload: loader package: packageSpec [ { #category : #packages } BaselineOfPyramid >> pyramidPackages: spec [ - spec package: 'Pyramid'. + spec + package: 'Pyramid' + with:[ spec requires: #( 'PharoBackwardCompatibility' ) ]. spec package: 'Pyramid-IDE' with: [ spec requires: #( 'Pyramid' ) ]. From 56b5434535590962430403d58dad9bfa017d1d4a Mon Sep 17 00:00:00 2001 From: Yann Le Goff Date: Wed, 30 Jul 2025 18:09:30 +0200 Subject: [PATCH 18/21] Add version control on input tests --- ...ColorInputMultiLinesPresenterTest.class.st | 7 +++ ...ColorInputSingleLinePresenterTest.class.st | 7 +++ ...LineWithPickupButtonPresenterTest.class.st | 7 +++ ...amidCornerRadiiInputPresenterTest.class.st | 7 +++ ...rameConstraintsInputPresenterTest.class.st | 7 +++ .../PyramidInsetsInputPresenterTest.class.st | 7 +++ .../PyramidLayoutBlocCommandTest.class.st | 51 +------------------ ...amidNumberArrayInputPresenterTest.class.st | 7 +++ .../PyramidNumberInputPresenterTest.class.st | 7 +++ .../PyramidPointInputPresenterTest.class.st | 11 +++- .../PyramidTextInputPresenterTest.class.st | 7 +++ ...rameConstraintsInputPresenterTest.class.st | 7 +++ .../TPyramidInputPresenterTest.trait.st | 16 +++++- src/Pyramid/PyramidAbstractMemento.class.st | 2 +- .../PyramidAddAllToCollectionCommand.class.st | 2 +- .../PyramidAddToCollectionCommand.class.st | 2 +- .../PyramidCallbackCommandExecutor.class.st | 2 +- src/Pyramid/PyramidCluster.class.st | 2 +- src/Pyramid/PyramidCollectionCommand.class.st | 2 +- .../PyramidCollectionWithCallbacks.class.st | 2 +- ...amidColorInputMultiLinesPresenter.class.st | 2 +- .../PyramidColorInputPresenter.class.st | 2 +- src/Pyramid/PyramidCommand.class.st | 2 +- src/Pyramid/PyramidCommandExecutor.class.st | 2 +- .../PyramidCommandExecutorDecorator.class.st | 2 +- src/Pyramid/PyramidCommandMemento.class.st | 2 +- src/Pyramid/PyramidCompositeMemento.class.st | 2 +- .../PyramidDynamicLayoutAllPanels.class.st | 2 +- .../PyramidDynamicLayoutOnlyCenter.class.st | 2 +- .../PyramidDynamicLayoutOnlyLeft.class.st | 2 +- .../PyramidDynamicLayoutOnlyRight.class.st | 2 +- .../PyramidDynamicLayoutStrategy.class.st | 2 +- src/Pyramid/PyramidDynamicWindow.class.st | 2 +- .../PyramidElementsChangedEvent.class.st | 2 +- src/Pyramid/PyramidEmptyValue.class.st | 2 +- src/Pyramid/PyramidError.class.st | 2 +- src/Pyramid/PyramidEvent.class.st | 2 +- ...midFirstLevelElementsChangedEvent.class.st | 2 +- .../PyramidHideEmptyPropertyStrategy.class.st | 2 +- src/Pyramid/PyramidHistory.class.st | 2 +- .../PyramidHistoryCommandExecutor.class.st | 2 +- src/Pyramid/PyramidMagicButtonModel.class.st | 2 +- .../PyramidMainCommandExecutor.class.st | 2 +- src/Pyramid/PyramidMementoInverser.class.st | 2 +- src/Pyramid/PyramidMementoVisitor.class.st | 2 +- src/Pyramid/PyramidMenuPanelBuilder.class.st | 2 +- src/Pyramid/PyramidMixedValues.class.st | 2 +- .../PyramidMultiplePluginsFoundError.class.st | 2 +- .../PyramidNoPluginFoundError.class.st | 2 +- src/Pyramid/PyramidPanelBuilder.class.st | 2 +- src/Pyramid/PyramidPanelModel.class.st | 2 +- src/Pyramid/PyramidPlaygroundView.class.st | 2 +- .../PyramidPluginDynamicLayout.class.st | 2 +- src/Pyramid/PyramidPluginManager.class.st | 2 +- src/Pyramid/PyramidPluginPlayground.class.st | 2 +- src/Pyramid/PyramidPopoverFactory.class.st | 2 +- .../PyramidPresenterPanelBuilder.class.st | 2 +- ...yramidPresenterPropertiesStrategy.class.st | 2 +- src/Pyramid/PyramidProjectModelEvent.class.st | 2 +- .../PyramidPropertyNotInstalledError.class.st | 2 +- .../PyramidPropertyPresenterBuilder.class.st | 2 +- ...midRemoveAllFromCollectionCommand.class.st | 2 +- ...yramidRemoveFromCollectionCommand.class.st | 2 +- .../PyramidSelectionChangedEvent.class.st | 2 +- src/Pyramid/PyramidSimpleWindow.class.st | 2 +- ...amidSortedCollectionWithCallbacks.class.st | 2 +- ...ramidSpCodeObjectInteractionModel.class.st | 2 +- src/Pyramid/PyramidSpPresenter.class.st | 2 +- src/Pyramid/PyramidTabItem.class.st | 2 +- src/Pyramid/PyramidTabPanelBuilder.class.st | 2 +- src/Pyramid/PyramidToolbarItem.class.st | 2 +- .../PyramidToolbarPanelBuilder.class.st | 2 +- src/Pyramid/PyramidUnknowState.class.st | 2 +- src/Pyramid/PyramidWindow.class.st | 2 +- src/Pyramid/SpTActionContainer.extension.st | 7 +++ src/Pyramid/TPyramidFindPlugin.trait.st | 2 +- src/Pyramid/TPyramidPlugin.trait.st | 2 +- 77 files changed, 166 insertions(+), 115 deletions(-) create mode 100644 src/Pyramid/SpTActionContainer.extension.st diff --git a/src/Pyramid-Tests/PyramidColorInputMultiLinesPresenterTest.class.st b/src/Pyramid-Tests/PyramidColorInputMultiLinesPresenterTest.class.st index d3bd49be..02040234 100644 --- a/src/Pyramid-Tests/PyramidColorInputMultiLinesPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidColorInputMultiLinesPresenterTest.class.st @@ -40,3 +40,10 @@ PyramidColorInputMultiLinesPresenterTest >> triggerValueChangedOf: anInput [ anInput hexaInput hexInput textInput ensureInternalActions decoratedGroup entries do: [ :bind | bind execute ] ] + +{ #category : #'as yet unclassified' } +PyramidColorInputMultiLinesPresenterTest >> triggerValueChangedOfForPharo12AndBelow: anInput [ + + anInput hexaInput hexInput textInput contextKeyBindings keymaps do: [ :bind | + bind action value ] +] diff --git a/src/Pyramid-Tests/PyramidColorInputSingleLinePresenterTest.class.st b/src/Pyramid-Tests/PyramidColorInputSingleLinePresenterTest.class.st index b238ac0e..55eb384f 100644 --- a/src/Pyramid-Tests/PyramidColorInputSingleLinePresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidColorInputSingleLinePresenterTest.class.st @@ -40,3 +40,10 @@ PyramidColorInputSingleLinePresenterTest >> triggerValueChangedOf: anInput [ anInput hexInput textInput ensureInternalActions decoratedGroup entries do: [ :bind | bind execute ] ] + +{ #category : #'as yet unclassified' } +PyramidColorInputSingleLinePresenterTest >> triggerValueChangedOfForPharo12AndBelow: anInput [ + + anInput hexInput textInput contextKeyBindings keymaps do: [ :bind | + bind action value ] +] diff --git a/src/Pyramid-Tests/PyramidColorInputSingleLineWithPickupButtonPresenterTest.class.st b/src/Pyramid-Tests/PyramidColorInputSingleLineWithPickupButtonPresenterTest.class.st index 7b9d6788..c289bb8b 100644 --- a/src/Pyramid-Tests/PyramidColorInputSingleLineWithPickupButtonPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidColorInputSingleLineWithPickupButtonPresenterTest.class.st @@ -40,3 +40,10 @@ PyramidColorInputSingleLineWithPickupButtonPresenterTest >> triggerValueChangedO anInput singleLineInput hexInput textInput ensureInternalActions decoratedGroup entries do: [ :bind | bind execute ] ] + +{ #category : #'as yet unclassified' } +PyramidColorInputSingleLineWithPickupButtonPresenterTest >> triggerValueChangedOfForPharo12AndBelow: anInput [ + + anInput singleLineInput hexInput textInput contextKeyBindings keymaps do: [ :bind | + bind action value ] +] diff --git a/src/Pyramid-Tests/PyramidCornerRadiiInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidCornerRadiiInputPresenterTest.class.st index 6789a0d1..2ea3d1e0 100644 --- a/src/Pyramid-Tests/PyramidCornerRadiiInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidCornerRadiiInputPresenterTest.class.st @@ -43,3 +43,10 @@ PyramidCornerRadiiInputPresenterTest >> triggerValueChangedOf: anInput [ anInput inputArray inputArray ensureInternalActions decoratedGroup entries do: [ :bind | bind execute ] ] + +{ #category : #'as yet unclassified' } +PyramidCornerRadiiInputPresenterTest >> triggerValueChangedOfForPharo12AndBelow: anInput [ + + anInput inputArray inputArray contextKeyBindings keymaps do: [ :bind | + bind action value ] +] diff --git a/src/Pyramid-Tests/PyramidHorizontalFrameConstraintsInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidHorizontalFrameConstraintsInputPresenterTest.class.st index a68a3485..88272fe1 100644 --- a/src/Pyramid-Tests/PyramidHorizontalFrameConstraintsInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidHorizontalFrameConstraintsInputPresenterTest.class.st @@ -43,3 +43,10 @@ PyramidHorizontalFrameConstraintsInputPresenterTest >> triggerValueChangedOf: an anInput inputRelative inputNumber ensureInternalActions decoratedGroup entries do: [ :bind | bind execute ] ] + +{ #category : #'as yet unclassified' } +PyramidHorizontalFrameConstraintsInputPresenterTest >> triggerValueChangedOfForPharo12AndBelow: anInput [ + + anInput inputRelative inputNumber contextKeyBindings keymaps do: [ :bind | + bind action value ] +] diff --git a/src/Pyramid-Tests/PyramidInsetsInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidInsetsInputPresenterTest.class.st index 3848b998..5de7b6d2 100644 --- a/src/Pyramid-Tests/PyramidInsetsInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidInsetsInputPresenterTest.class.st @@ -39,3 +39,10 @@ PyramidInsetsInputPresenterTest >> triggerValueChangedOf: anInput [ anInput inputArray inputArray ensureInternalActions decoratedGroup entries do: [ :bind | bind execute ] ] + +{ #category : #'as yet unclassified' } +PyramidInsetsInputPresenterTest >> triggerValueChangedOfForPharo12AndBelow: anInput [ + + anInput inputArray inputArray contextKeyBindings keymaps do: [ :bind | + bind action value ] +] diff --git a/src/Pyramid-Tests/PyramidLayoutBlocCommandTest.class.st b/src/Pyramid-Tests/PyramidLayoutBlocCommandTest.class.st index c1bc01e5..6146191d 100644 --- a/src/Pyramid-Tests/PyramidLayoutBlocCommandTest.class.st +++ b/src/Pyramid-Tests/PyramidLayoutBlocCommandTest.class.st @@ -43,53 +43,6 @@ PyramidLayoutBlocCommandTest >> targetContainers [ prop: proportionalLayout) } ] -{ #category : #tests } -PyramidLayoutBlocCommandTest >> testHistory [ - "Do once. - undo - redo - undo - redo" - - | history commandExecutor targets | - targets := self targetsCanBeUsedFor. - history := PyramidHistory new. - commandExecutor := PyramidHistoryCommandExecutor new - history: history; - wrappee: PyramidMainCommandExecutor new; - yourself. - - "Do once" - self argumentsForHistory do: [ :each | - commandExecutor use: self command on: targets with: each ]. - - "Undo all" - self argumentsForHistory reverseDo: [ :argument | - targets do: [ :target | - self - assert: (self command getValueFor: target) class - equals: argument class ]. - history canUndo ifTrue: [ history undo ] ]. - - "Redo all" - self argumentsForHistory do: [ :argument | - history canRedo ifTrue: [ history redo ]. - targets do: [ :target | - self assert: (self command getValueFor: target) class equals: argument class] ]. - - "Undo all" - self argumentsForHistory reverseDo: [ :argument | - targets do: [ :target | - self assert: (self command getValueFor: target) class equals: argument class]. - history canUndo ifTrue: [ history undo ] ]. - - "Redo all" - self argumentsForHistory do: [ :argument | - history canRedo ifTrue: [ history redo ]. - targets do: [ :target | - self assert: (self command getValueFor: target) class equals: argument class ] ] -] - { #category : #tests } PyramidLayoutBlocCommandTest >> testGetValueFor [ @@ -129,12 +82,12 @@ PyramidLayoutBlocCommandTest >> testHistory [ self argumentsForHistory do: [ :argument | history canRedo ifTrue: [ history redo ]. targets do: [ :target | - self assert: (self command getValueFor: target) class equals: argument class ] ]. + self assert: (self command getValueFor: target) class equals: argument class] ]. "Undo all" self argumentsForHistory reverseDo: [ :argument | targets do: [ :target | - self assert: (self command getValueFor: target) class equals: argument class ]. + self assert: (self command getValueFor: target) class equals: argument class]. history canUndo ifTrue: [ history undo ] ]. "Redo all" diff --git a/src/Pyramid-Tests/PyramidNumberArrayInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidNumberArrayInputPresenterTest.class.st index 46730cee..82a407d7 100644 --- a/src/Pyramid-Tests/PyramidNumberArrayInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidNumberArrayInputPresenterTest.class.st @@ -42,3 +42,10 @@ PyramidNumberArrayInputPresenterTest >> triggerValueChangedOf: anInput [ anInput inputArray ensureInternalActions decoratedGroup entries do: [ :bind | bind execute ] ] + +{ #category : #'as yet unclassified' } +PyramidNumberArrayInputPresenterTest >> triggerValueChangedOfForPharo12AndBelow: anInput [ + + anInput inputArray contextKeyBindings keymaps do: [ :bind | + bind action value ] +] diff --git a/src/Pyramid-Tests/PyramidNumberInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidNumberInputPresenterTest.class.st index f0f2997c..b7a28e7c 100644 --- a/src/Pyramid-Tests/PyramidNumberInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidNumberInputPresenterTest.class.st @@ -43,3 +43,10 @@ PyramidNumberInputPresenterTest >> triggerValueChangedOf: anInput [ anInput inputNumber ensureInternalActions decoratedGroup entries do: [ :bind | bind execute ] ] + +{ #category : #'as yet unclassified' } +PyramidNumberInputPresenterTest >> triggerValueChangedOfForPharo12AndBelow: anInput [ + + anInput inputNumber contextKeyBindings keymaps do: [ :bind | + bind action value ] +] diff --git a/src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st index 98e664b3..1a7500ce 100644 --- a/src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st @@ -39,6 +39,13 @@ PyramidPointInputPresenterTest >> makeNewInput [ { #category : #'as yet unclassified' } PyramidPointInputPresenterTest >> triggerValueChangedOf: anInput [ - anInput inputX inputNumber ensureInternalActions decoratedGroup - entries do: [ :bind | bind execute ] + anInput inputX inputNumber ensureActionGroup decoratedGroup entries + do: [ :bind | bind execute ] +] + +{ #category : #'as yet unclassified' } +PyramidPointInputPresenterTest >> triggerValueChangedOfForPharo12AndBelow: anInput [ + + anInput inputX inputNumber contextKeyBindings keymaps do: [ :bind | + bind action value ] ] diff --git a/src/Pyramid-Tests/PyramidTextInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidTextInputPresenterTest.class.st index 9e4ac9f5..e7f808c5 100644 --- a/src/Pyramid-Tests/PyramidTextInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidTextInputPresenterTest.class.st @@ -36,3 +36,10 @@ PyramidTextInputPresenterTest >> triggerValueChangedOf: anInput [ anInput textInput ensureInternalActions decoratedGroup entries do: [ :bind | bind execute ] ] + +{ #category : #'as yet unclassified' } +PyramidTextInputPresenterTest >> triggerValueChangedOfForPharo12AndBelow: anInput [ + + anInput textInput contextKeyBindings keymaps do: [ :bind | + bind action value ] +] diff --git a/src/Pyramid-Tests/PyramidVerticalFrameConstraintsInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidVerticalFrameConstraintsInputPresenterTest.class.st index e41964d9..ade184fe 100644 --- a/src/Pyramid-Tests/PyramidVerticalFrameConstraintsInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidVerticalFrameConstraintsInputPresenterTest.class.st @@ -57,3 +57,10 @@ PyramidVerticalFrameConstraintsInputPresenterTest >> triggerValueChangedOf: anIn anInput inputRelative inputNumber ensureInternalActions decoratedGroup entries do: [ :bind | bind execute ] ] + +{ #category : #'as yet unclassified' } +PyramidVerticalFrameConstraintsInputPresenterTest >> triggerValueChangedOfForPharo12AndBelow: anInput [ + + anInput inputRelative inputNumber contextKeyBindings keymaps do: [ :bind | + bind action value ] +] diff --git a/src/Pyramid-Tests/TPyramidInputPresenterTest.trait.st b/src/Pyramid-Tests/TPyramidInputPresenterTest.trait.st index 5998b484..bc237034 100644 --- a/src/Pyramid-Tests/TPyramidInputPresenterTest.trait.st +++ b/src/Pyramid-Tests/TPyramidInputPresenterTest.trait.st @@ -87,7 +87,7 @@ TPyramidInputPresenterTest >> testTrigger [ self dummyValues do: [ :each | current := Object new. self putValue: each onInput: input. - self triggerValueChangedOf: input. + self triggerValueChangedOfWithVersion: input. self assert: input value equals: current ]. self assert: self dummyValues size equals: count ] @@ -109,3 +109,17 @@ TPyramidInputPresenterTest >> triggerValueChangedOf: anInput [ self shouldBeImplemented ] + +{ #category : #'as yet unclassified' } +TPyramidInputPresenterTest >> triggerValueChangedOfForPharo12AndBelow: anInput [ + + self triggerValueChangedOf: anInput +] + +{ #category : #'as yet unclassified' } +TPyramidInputPresenterTest >> triggerValueChangedOfWithVersion: anInput [ + + SystemVersion current major >= 13 + ifTrue: [ self triggerValueChangedOf: anInput ] + ifFalse: [ self triggerValueChangedOfForPharo12AndBelow: anInput ] +] diff --git a/src/Pyramid/PyramidAbstractMemento.class.st b/src/Pyramid/PyramidAbstractMemento.class.st index c46d77d0..34aead3d 100644 --- a/src/Pyramid/PyramidAbstractMemento.class.st +++ b/src/Pyramid/PyramidAbstractMemento.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidAbstractMemento, #superclass : #Object, - #category : 'Pyramid-history' + #category : #'Pyramid-history' } { #category : #testing } diff --git a/src/Pyramid/PyramidAddAllToCollectionCommand.class.st b/src/Pyramid/PyramidAddAllToCollectionCommand.class.st index 6e949f47..b4a0224b 100644 --- a/src/Pyramid/PyramidAddAllToCollectionCommand.class.st +++ b/src/Pyramid/PyramidAddAllToCollectionCommand.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidAddAllToCollectionCommand, #superclass : #PyramidCollectionCommand, - #category : 'Pyramid-commands' + #category : #'Pyramid-commands' } { #category : #'as yet unclassified' } diff --git a/src/Pyramid/PyramidAddToCollectionCommand.class.st b/src/Pyramid/PyramidAddToCollectionCommand.class.st index 4fe0c85f..c1eb5377 100644 --- a/src/Pyramid/PyramidAddToCollectionCommand.class.st +++ b/src/Pyramid/PyramidAddToCollectionCommand.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidAddToCollectionCommand, #superclass : #PyramidCollectionCommand, - #category : 'Pyramid-commands' + #category : #'Pyramid-commands' } { #category : #'as yet unclassified' } diff --git a/src/Pyramid/PyramidCallbackCommandExecutor.class.st b/src/Pyramid/PyramidCallbackCommandExecutor.class.st index 9c5d599d..01669d1d 100644 --- a/src/Pyramid/PyramidCallbackCommandExecutor.class.st +++ b/src/Pyramid/PyramidCallbackCommandExecutor.class.st @@ -5,7 +5,7 @@ Class { 'beforeDo', 'afterDo' ], - #category : 'Pyramid-commands' + #category : #'Pyramid-commands' } { #category : #accessing } diff --git a/src/Pyramid/PyramidCluster.class.st b/src/Pyramid/PyramidCluster.class.st index 1eaf90b9..b008d470 100644 --- a/src/Pyramid/PyramidCluster.class.st +++ b/src/Pyramid/PyramidCluster.class.st @@ -7,7 +7,7 @@ Class { 'groupedAssociations', 'individualAssociations' ], - #category : 'Pyramid-commands' + #category : #'Pyramid-commands' } { #category : #'as yet unclassified' } diff --git a/src/Pyramid/PyramidCollectionCommand.class.st b/src/Pyramid/PyramidCollectionCommand.class.st index 5e54f874..3a225279 100644 --- a/src/Pyramid/PyramidCollectionCommand.class.st +++ b/src/Pyramid/PyramidCollectionCommand.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidCollectionCommand, #superclass : #PyramidCommand, - #category : 'Pyramid-commands' + #category : #'Pyramid-commands' } { #category : #testing } diff --git a/src/Pyramid/PyramidCollectionWithCallbacks.class.st b/src/Pyramid/PyramidCollectionWithCallbacks.class.st index b8abac35..fb260465 100644 --- a/src/Pyramid/PyramidCollectionWithCallbacks.class.st +++ b/src/Pyramid/PyramidCollectionWithCallbacks.class.st @@ -5,7 +5,7 @@ Class { 'collection', 'subscriptions' ], - #category : 'Pyramid-models' + #category : #'Pyramid-models' } { #category : #adding } diff --git a/src/Pyramid/PyramidColorInputMultiLinesPresenter.class.st b/src/Pyramid/PyramidColorInputMultiLinesPresenter.class.st index 149a4fba..c9ef304d 100644 --- a/src/Pyramid/PyramidColorInputMultiLinesPresenter.class.st +++ b/src/Pyramid/PyramidColorInputMultiLinesPresenter.class.st @@ -6,7 +6,7 @@ Class { 'colorInput', 'whenValueChangedDo' ], - #category : 'Pyramid-specs-custom' + #category : #'Pyramid-specs-custom' } { #category : #accessing } diff --git a/src/Pyramid/PyramidColorInputPresenter.class.st b/src/Pyramid/PyramidColorInputPresenter.class.st index 4c90f21d..5a938884 100644 --- a/src/Pyramid/PyramidColorInputPresenter.class.st +++ b/src/Pyramid/PyramidColorInputPresenter.class.st @@ -7,7 +7,7 @@ Class { 'svMorph', 'whenValueChangedDo' ], - #category : 'Pyramid-specs-custom' + #category : #'Pyramid-specs-custom' } { #category : #accessing } diff --git a/src/Pyramid/PyramidCommand.class.st b/src/Pyramid/PyramidCommand.class.st index 2d357fcd..4bf754c6 100644 --- a/src/Pyramid/PyramidCommand.class.st +++ b/src/Pyramid/PyramidCommand.class.st @@ -12,7 +12,7 @@ In some rare case, the method saveStatesOf: aCollection withCommand: aCommand wi Class { #name : #PyramidCommand, #superclass : #Object, - #category : 'Pyramid-commands' + #category : #'Pyramid-commands' } { #category : #testing } diff --git a/src/Pyramid/PyramidCommandExecutor.class.st b/src/Pyramid/PyramidCommandExecutor.class.st index 5772a51d..8c3a2038 100644 --- a/src/Pyramid/PyramidCommandExecutor.class.st +++ b/src/Pyramid/PyramidCommandExecutor.class.st @@ -7,7 +7,7 @@ I’m an abstract class use to define the API. Class { #name : #PyramidCommandExecutor, #superclass : #Object, - #category : 'Pyramid-commands' + #category : #'Pyramid-commands' } { #category : #testing } diff --git a/src/Pyramid/PyramidCommandExecutorDecorator.class.st b/src/Pyramid/PyramidCommandExecutorDecorator.class.st index 2ac31b4b..ec7ddd8a 100644 --- a/src/Pyramid/PyramidCommandExecutorDecorator.class.st +++ b/src/Pyramid/PyramidCommandExecutorDecorator.class.st @@ -8,7 +8,7 @@ Class { #instVars : [ 'wrappee' ], - #category : 'Pyramid-commands' + #category : #'Pyramid-commands' } { #category : #testing } diff --git a/src/Pyramid/PyramidCommandMemento.class.st b/src/Pyramid/PyramidCommandMemento.class.st index a916836b..ad4e0420 100644 --- a/src/Pyramid/PyramidCommandMemento.class.st +++ b/src/Pyramid/PyramidCommandMemento.class.st @@ -6,7 +6,7 @@ Class { 'target', 'arguments' ], - #category : 'Pyramid-history' + #category : #'Pyramid-history' } { #category : #visiting } diff --git a/src/Pyramid/PyramidCompositeMemento.class.st b/src/Pyramid/PyramidCompositeMemento.class.st index 21205187..f3eb07f9 100644 --- a/src/Pyramid/PyramidCompositeMemento.class.st +++ b/src/Pyramid/PyramidCompositeMemento.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'mementos' ], - #category : 'Pyramid-history' + #category : #'Pyramid-history' } { #category : #visiting } diff --git a/src/Pyramid/PyramidDynamicLayoutAllPanels.class.st b/src/Pyramid/PyramidDynamicLayoutAllPanels.class.st index 163e7b7b..71042492 100644 --- a/src/Pyramid/PyramidDynamicLayoutAllPanels.class.st +++ b/src/Pyramid/PyramidDynamicLayoutAllPanels.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidDynamicLayoutAllPanels, #superclass : #PyramidDynamicLayoutStrategy, - #category : 'Pyramid-plugin-dynamic-layout' + #category : #'Pyramid-plugin-dynamic-layout' } { #category : #'as yet unclassified' } diff --git a/src/Pyramid/PyramidDynamicLayoutOnlyCenter.class.st b/src/Pyramid/PyramidDynamicLayoutOnlyCenter.class.st index d2eb1287..860e12b3 100644 --- a/src/Pyramid/PyramidDynamicLayoutOnlyCenter.class.st +++ b/src/Pyramid/PyramidDynamicLayoutOnlyCenter.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidDynamicLayoutOnlyCenter, #superclass : #PyramidDynamicLayoutStrategy, - #category : 'Pyramid-plugin-dynamic-layout' + #category : #'Pyramid-plugin-dynamic-layout' } { #category : #'as yet unclassified' } diff --git a/src/Pyramid/PyramidDynamicLayoutOnlyLeft.class.st b/src/Pyramid/PyramidDynamicLayoutOnlyLeft.class.st index aa2b005c..5556f2b0 100644 --- a/src/Pyramid/PyramidDynamicLayoutOnlyLeft.class.st +++ b/src/Pyramid/PyramidDynamicLayoutOnlyLeft.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidDynamicLayoutOnlyLeft, #superclass : #PyramidDynamicLayoutStrategy, - #category : 'Pyramid-plugin-dynamic-layout' + #category : #'Pyramid-plugin-dynamic-layout' } { #category : #'as yet unclassified' } diff --git a/src/Pyramid/PyramidDynamicLayoutOnlyRight.class.st b/src/Pyramid/PyramidDynamicLayoutOnlyRight.class.st index a7dc8427..802da25a 100644 --- a/src/Pyramid/PyramidDynamicLayoutOnlyRight.class.st +++ b/src/Pyramid/PyramidDynamicLayoutOnlyRight.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidDynamicLayoutOnlyRight, #superclass : #PyramidDynamicLayoutStrategy, - #category : 'Pyramid-plugin-dynamic-layout' + #category : #'Pyramid-plugin-dynamic-layout' } { #category : #'as yet unclassified' } diff --git a/src/Pyramid/PyramidDynamicLayoutStrategy.class.st b/src/Pyramid/PyramidDynamicLayoutStrategy.class.st index 1f5856e5..8503c2a0 100644 --- a/src/Pyramid/PyramidDynamicLayoutStrategy.class.st +++ b/src/Pyramid/PyramidDynamicLayoutStrategy.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidDynamicLayoutStrategy, #superclass : #Object, - #category : 'Pyramid-plugin-dynamic-layout' + #category : #'Pyramid-plugin-dynamic-layout' } { #category : #'as yet unclassified' } diff --git a/src/Pyramid/PyramidDynamicWindow.class.st b/src/Pyramid/PyramidDynamicWindow.class.st index 580bfe38..995c2ae8 100644 --- a/src/Pyramid/PyramidDynamicWindow.class.st +++ b/src/Pyramid/PyramidDynamicWindow.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'layoutStrategy' ], - #category : 'Pyramid-plugin-dynamic-layout' + #category : #'Pyramid-plugin-dynamic-layout' } { #category : #accessing } diff --git a/src/Pyramid/PyramidElementsChangedEvent.class.st b/src/Pyramid/PyramidElementsChangedEvent.class.st index 2d2b18b2..32699db6 100644 --- a/src/Pyramid/PyramidElementsChangedEvent.class.st +++ b/src/Pyramid/PyramidElementsChangedEvent.class.st @@ -1,5 +1,5 @@ Class { #name : #PyramidElementsChangedEvent, #superclass : #PyramidProjectModelEvent, - #category : 'Pyramid-core' + #category : #'Pyramid-core' } diff --git a/src/Pyramid/PyramidEmptyValue.class.st b/src/Pyramid/PyramidEmptyValue.class.st index 008c8d64..5d6002d3 100644 --- a/src/Pyramid/PyramidEmptyValue.class.st +++ b/src/Pyramid/PyramidEmptyValue.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidEmptyValue, #superclass : #PyramidUnknowState, - #category : 'Pyramid-specs-custom' + #category : #'Pyramid-specs-custom' } { #category : #converting } diff --git a/src/Pyramid/PyramidError.class.st b/src/Pyramid/PyramidError.class.st index a7b3e921..e75716ca 100644 --- a/src/Pyramid/PyramidError.class.st +++ b/src/Pyramid/PyramidError.class.st @@ -1,5 +1,5 @@ Class { #name : #PyramidError, #superclass : #Error, - #category : 'Pyramid-core' + #category : #'Pyramid-core' } diff --git a/src/Pyramid/PyramidEvent.class.st b/src/Pyramid/PyramidEvent.class.st index f8c0c807..c7ebff97 100644 --- a/src/Pyramid/PyramidEvent.class.st +++ b/src/Pyramid/PyramidEvent.class.st @@ -1,5 +1,5 @@ Class { #name : #PyramidEvent, #superclass : #Announcement, - #category : 'Pyramid-core' + #category : #'Pyramid-core' } diff --git a/src/Pyramid/PyramidFirstLevelElementsChangedEvent.class.st b/src/Pyramid/PyramidFirstLevelElementsChangedEvent.class.st index 87df6823..ff3b191c 100644 --- a/src/Pyramid/PyramidFirstLevelElementsChangedEvent.class.st +++ b/src/Pyramid/PyramidFirstLevelElementsChangedEvent.class.st @@ -1,5 +1,5 @@ Class { #name : #PyramidFirstLevelElementsChangedEvent, #superclass : #PyramidProjectModelEvent, - #category : 'Pyramid-core' + #category : #'Pyramid-core' } diff --git a/src/Pyramid/PyramidHideEmptyPropertyStrategy.class.st b/src/Pyramid/PyramidHideEmptyPropertyStrategy.class.st index 947f16af..88b4473b 100644 --- a/src/Pyramid/PyramidHideEmptyPropertyStrategy.class.st +++ b/src/Pyramid/PyramidHideEmptyPropertyStrategy.class.st @@ -11,7 +11,7 @@ In other terms, any property who is not linked to any object in the collection w Class { #name : #PyramidHideEmptyPropertyStrategy, #superclass : #PyramidPresenterPropertiesStrategy, - #category : 'Pyramid-property' + #category : #'Pyramid-property' } { #category : #'as yet unclassified' } diff --git a/src/Pyramid/PyramidHistory.class.st b/src/Pyramid/PyramidHistory.class.st index ef604005..05a8d77e 100644 --- a/src/Pyramid/PyramidHistory.class.st +++ b/src/Pyramid/PyramidHistory.class.st @@ -5,7 +5,7 @@ Class { 'mementosStack', 'position' ], - #category : 'Pyramid-history' + #category : #'Pyramid-history' } { #category : #testing } diff --git a/src/Pyramid/PyramidHistoryCommandExecutor.class.st b/src/Pyramid/PyramidHistoryCommandExecutor.class.st index 5244150a..db1f02d1 100644 --- a/src/Pyramid/PyramidHistoryCommandExecutor.class.st +++ b/src/Pyramid/PyramidHistoryCommandExecutor.class.st @@ -8,7 +8,7 @@ Class { #instVars : [ 'history' ], - #category : 'Pyramid-commands' + #category : #'Pyramid-commands' } { #category : #accessing } diff --git a/src/Pyramid/PyramidMagicButtonModel.class.st b/src/Pyramid/PyramidMagicButtonModel.class.st index 6896975c..70cf3671 100644 --- a/src/Pyramid/PyramidMagicButtonModel.class.st +++ b/src/Pyramid/PyramidMagicButtonModel.class.st @@ -9,7 +9,7 @@ Class { 'label', 'inputValidation' ], - #category : 'Pyramid-specs-custom' + #category : #'Pyramid-specs-custom' } { #category : #accessing } diff --git a/src/Pyramid/PyramidMainCommandExecutor.class.st b/src/Pyramid/PyramidMainCommandExecutor.class.st index 7fe07c65..2f95fb28 100644 --- a/src/Pyramid/PyramidMainCommandExecutor.class.st +++ b/src/Pyramid/PyramidMainCommandExecutor.class.st @@ -5,7 +5,7 @@ I execute the command on the given targets with the given arguments. Class { #name : #PyramidMainCommandExecutor, #superclass : #PyramidCommandExecutor, - #category : 'Pyramid-commands' + #category : #'Pyramid-commands' } { #category : #'as yet unclassified' } diff --git a/src/Pyramid/PyramidMementoInverser.class.st b/src/Pyramid/PyramidMementoInverser.class.st index f7c9366d..11e5ba91 100644 --- a/src/Pyramid/PyramidMementoInverser.class.st +++ b/src/Pyramid/PyramidMementoInverser.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidMementoInverser, #superclass : #PyramidMementoVisitor, - #category : 'Pyramid-history' + #category : #'Pyramid-history' } { #category : #visiting } diff --git a/src/Pyramid/PyramidMementoVisitor.class.st b/src/Pyramid/PyramidMementoVisitor.class.st index 346271e3..c57aa50e 100644 --- a/src/Pyramid/PyramidMementoVisitor.class.st +++ b/src/Pyramid/PyramidMementoVisitor.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidMementoVisitor, #superclass : #Object, - #category : 'Pyramid-history' + #category : #'Pyramid-history' } { #category : #visiting } diff --git a/src/Pyramid/PyramidMenuPanelBuilder.class.st b/src/Pyramid/PyramidMenuPanelBuilder.class.st index 22e9231a..ac63c5f9 100644 --- a/src/Pyramid/PyramidMenuPanelBuilder.class.st +++ b/src/Pyramid/PyramidMenuPanelBuilder.class.st @@ -7,7 +7,7 @@ Class { 'multiGroups', 'singleGroups' ], - #category : 'Pyramid-views' + #category : #'Pyramid-views' } { #category : #adding } diff --git a/src/Pyramid/PyramidMixedValues.class.st b/src/Pyramid/PyramidMixedValues.class.st index ceb678b2..d3922776 100644 --- a/src/Pyramid/PyramidMixedValues.class.st +++ b/src/Pyramid/PyramidMixedValues.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidMixedValues, #superclass : #PyramidUnknowState, - #category : 'Pyramid-specs-custom' + #category : #'Pyramid-specs-custom' } { #category : #converting } diff --git a/src/Pyramid/PyramidMultiplePluginsFoundError.class.st b/src/Pyramid/PyramidMultiplePluginsFoundError.class.st index 0fd8d9db..e9d18706 100644 --- a/src/Pyramid/PyramidMultiplePluginsFoundError.class.st +++ b/src/Pyramid/PyramidMultiplePluginsFoundError.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'plugins' ], - #category : 'Pyramid-core' + #category : #'Pyramid-core' } { #category : #accessing } diff --git a/src/Pyramid/PyramidNoPluginFoundError.class.st b/src/Pyramid/PyramidNoPluginFoundError.class.st index 140a4fbb..44d26e83 100644 --- a/src/Pyramid/PyramidNoPluginFoundError.class.st +++ b/src/Pyramid/PyramidNoPluginFoundError.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'query' ], - #category : 'Pyramid-core' + #category : #'Pyramid-core' } { #category : #accessing } diff --git a/src/Pyramid/PyramidPanelBuilder.class.st b/src/Pyramid/PyramidPanelBuilder.class.st index 0fa3f566..f87319a7 100644 --- a/src/Pyramid/PyramidPanelBuilder.class.st +++ b/src/Pyramid/PyramidPanelBuilder.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidPanelBuilder, #superclass : #Object, - #category : 'Pyramid-views' + #category : #'Pyramid-views' } { #category : #accessing } diff --git a/src/Pyramid/PyramidPanelModel.class.st b/src/Pyramid/PyramidPanelModel.class.st index 6b5512c7..b9485ade 100644 --- a/src/Pyramid/PyramidPanelModel.class.st +++ b/src/Pyramid/PyramidPanelModel.class.st @@ -7,7 +7,7 @@ Class { 'window', 'presenter' ], - #category : 'Pyramid-views' + #category : #'Pyramid-views' } { #category : #accessing } diff --git a/src/Pyramid/PyramidPlaygroundView.class.st b/src/Pyramid/PyramidPlaygroundView.class.st index 304a7345..eb1d2274 100644 --- a/src/Pyramid/PyramidPlaygroundView.class.st +++ b/src/Pyramid/PyramidPlaygroundView.class.st @@ -7,7 +7,7 @@ Class { 'codeObjectInteractionModel', 'contextLabel' ], - #category : 'Pyramid-plugin-playground' + #category : #'Pyramid-plugin-playground' } { #category : #accessing } diff --git a/src/Pyramid/PyramidPluginDynamicLayout.class.st b/src/Pyramid/PyramidPluginDynamicLayout.class.st index f9ee24f3..08019f82 100644 --- a/src/Pyramid/PyramidPluginDynamicLayout.class.st +++ b/src/Pyramid/PyramidPluginDynamicLayout.class.st @@ -10,7 +10,7 @@ Class { 'isRightOpened', 'editorWindow' ], - #category : 'Pyramid-plugin-dynamic-layout' + #category : #'Pyramid-plugin-dynamic-layout' } { #category : #adding } diff --git a/src/Pyramid/PyramidPluginManager.class.st b/src/Pyramid/PyramidPluginManager.class.st index 59365d8d..621ccdc9 100644 --- a/src/Pyramid/PyramidPluginManager.class.st +++ b/src/Pyramid/PyramidPluginManager.class.st @@ -7,7 +7,7 @@ Class { #classInstVars : [ 'uniqueInstance' ], - #category : 'Pyramid-core' + #category : #'Pyramid-core' } { #category : #'instance creation' } diff --git a/src/Pyramid/PyramidPluginPlayground.class.st b/src/Pyramid/PyramidPluginPlayground.class.st index d64e1aa2..fa066358 100644 --- a/src/Pyramid/PyramidPluginPlayground.class.st +++ b/src/Pyramid/PyramidPluginPlayground.class.st @@ -7,7 +7,7 @@ Class { 'activeProject', 'view' ], - #category : 'Pyramid-plugin-playground' + #category : #'Pyramid-plugin-playground' } { #category : #adding } diff --git a/src/Pyramid/PyramidPopoverFactory.class.st b/src/Pyramid/PyramidPopoverFactory.class.st index 360c92b2..3ac14869 100644 --- a/src/Pyramid/PyramidPopoverFactory.class.st +++ b/src/Pyramid/PyramidPopoverFactory.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidPopoverFactory, #superclass : #Object, - #category : 'Pyramid-views' + #category : #'Pyramid-views' } { #category : #'as yet unclassified' } diff --git a/src/Pyramid/PyramidPresenterPanelBuilder.class.st b/src/Pyramid/PyramidPresenterPanelBuilder.class.st index fa28e68e..555ffa0e 100644 --- a/src/Pyramid/PyramidPresenterPanelBuilder.class.st +++ b/src/Pyramid/PyramidPresenterPanelBuilder.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'item' ], - #category : 'Pyramid-views' + #category : #'Pyramid-views' } { #category : #'as yet unclassified' } diff --git a/src/Pyramid/PyramidPresenterPropertiesStrategy.class.st b/src/Pyramid/PyramidPresenterPropertiesStrategy.class.st index 8645e67d..d915aae3 100644 --- a/src/Pyramid/PyramidPresenterPropertiesStrategy.class.st +++ b/src/Pyramid/PyramidPresenterPropertiesStrategy.class.st @@ -7,7 +7,7 @@ I do that with the message `#buildPresenterFromCollection:andManager:` Class { #name : #PyramidPresenterPropertiesStrategy, #superclass : #Object, - #category : 'Pyramid-property' + #category : #'Pyramid-property' } { #category : #testing } diff --git a/src/Pyramid/PyramidProjectModelEvent.class.st b/src/Pyramid/PyramidProjectModelEvent.class.st index fc4f9a59..2188ab33 100644 --- a/src/Pyramid/PyramidProjectModelEvent.class.st +++ b/src/Pyramid/PyramidProjectModelEvent.class.st @@ -5,7 +5,7 @@ Class { 'selection', 'firstLevelElements' ], - #category : 'Pyramid-core' + #category : #'Pyramid-core' } { #category : #accessing } diff --git a/src/Pyramid/PyramidPropertyNotInstalledError.class.st b/src/Pyramid/PyramidPropertyNotInstalledError.class.st index 7d3481d4..839cb6c3 100644 --- a/src/Pyramid/PyramidPropertyNotInstalledError.class.st +++ b/src/Pyramid/PyramidPropertyNotInstalledError.class.st @@ -5,7 +5,7 @@ Class { 'manager', 'property' ], - #category : 'Pyramid-property' + #category : #'Pyramid-property' } { #category : #accessing } diff --git a/src/Pyramid/PyramidPropertyPresenterBuilder.class.st b/src/Pyramid/PyramidPropertyPresenterBuilder.class.st index 8acdca0d..1eedbf21 100644 --- a/src/Pyramid/PyramidPropertyPresenterBuilder.class.st +++ b/src/Pyramid/PyramidPropertyPresenterBuilder.class.st @@ -9,7 +9,7 @@ Class { 'cluster', 'property' ], - #category : 'Pyramid-property' + #category : #'Pyramid-property' } { #category : #testing } diff --git a/src/Pyramid/PyramidRemoveAllFromCollectionCommand.class.st b/src/Pyramid/PyramidRemoveAllFromCollectionCommand.class.st index 906f28c3..e039ab4d 100644 --- a/src/Pyramid/PyramidRemoveAllFromCollectionCommand.class.st +++ b/src/Pyramid/PyramidRemoveAllFromCollectionCommand.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidRemoveAllFromCollectionCommand, #superclass : #PyramidCollectionCommand, - #category : 'Pyramid-commands' + #category : #'Pyramid-commands' } { #category : #'as yet unclassified' } diff --git a/src/Pyramid/PyramidRemoveFromCollectionCommand.class.st b/src/Pyramid/PyramidRemoveFromCollectionCommand.class.st index 364c829a..cf9386a4 100644 --- a/src/Pyramid/PyramidRemoveFromCollectionCommand.class.st +++ b/src/Pyramid/PyramidRemoveFromCollectionCommand.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidRemoveFromCollectionCommand, #superclass : #PyramidCollectionCommand, - #category : 'Pyramid-commands' + #category : #'Pyramid-commands' } { #category : #'as yet unclassified' } diff --git a/src/Pyramid/PyramidSelectionChangedEvent.class.st b/src/Pyramid/PyramidSelectionChangedEvent.class.st index 9f8f2f2f..363506a3 100644 --- a/src/Pyramid/PyramidSelectionChangedEvent.class.st +++ b/src/Pyramid/PyramidSelectionChangedEvent.class.st @@ -1,5 +1,5 @@ Class { #name : #PyramidSelectionChangedEvent, #superclass : #PyramidProjectModelEvent, - #category : 'Pyramid-core' + #category : #'Pyramid-core' } diff --git a/src/Pyramid/PyramidSimpleWindow.class.st b/src/Pyramid/PyramidSimpleWindow.class.st index 56ec2b4d..1f5a6e7a 100644 --- a/src/Pyramid/PyramidSimpleWindow.class.st +++ b/src/Pyramid/PyramidSimpleWindow.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidSimpleWindow, #superclass : #PyramidWindow, - #category : 'Pyramid-views' + #category : #'Pyramid-views' } { #category : #specs } diff --git a/src/Pyramid/PyramidSortedCollectionWithCallbacks.class.st b/src/Pyramid/PyramidSortedCollectionWithCallbacks.class.st index 2dadf5af..f3ad34a3 100644 --- a/src/Pyramid/PyramidSortedCollectionWithCallbacks.class.st +++ b/src/Pyramid/PyramidSortedCollectionWithCallbacks.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'sortFunction' ], - #category : 'Pyramid-models' + #category : #'Pyramid-models' } { #category : #signalling } diff --git a/src/Pyramid/PyramidSpCodeObjectInteractionModel.class.st b/src/Pyramid/PyramidSpCodeObjectInteractionModel.class.st index 15200275..5ae77801 100644 --- a/src/Pyramid/PyramidSpCodeObjectInteractionModel.class.st +++ b/src/Pyramid/PyramidSpCodeObjectInteractionModel.class.st @@ -4,7 +4,7 @@ Class { #instVars : [ 'projectModel' ], - #category : 'Pyramid-plugin-playground' + #category : #'Pyramid-plugin-playground' } { #category : #accessing } diff --git a/src/Pyramid/PyramidSpPresenter.class.st b/src/Pyramid/PyramidSpPresenter.class.st index 3e3c884c..2939f972 100644 --- a/src/Pyramid/PyramidSpPresenter.class.st +++ b/src/Pyramid/PyramidSpPresenter.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidSpPresenter, #superclass : #SpPresenter, - #category : 'Pyramid-views' + #category : #'Pyramid-views' } { #category : #accessing } diff --git a/src/Pyramid/PyramidTabItem.class.st b/src/Pyramid/PyramidTabItem.class.st index 90a32b64..b2277756 100644 --- a/src/Pyramid/PyramidTabItem.class.st +++ b/src/Pyramid/PyramidTabItem.class.st @@ -7,7 +7,7 @@ Class { 'label', 'icon' ], - #category : 'Pyramid-views' + #category : #'Pyramid-views' } { #category : #comparing } diff --git a/src/Pyramid/PyramidTabPanelBuilder.class.st b/src/Pyramid/PyramidTabPanelBuilder.class.st index 71065a73..b2f5aa0c 100644 --- a/src/Pyramid/PyramidTabPanelBuilder.class.st +++ b/src/Pyramid/PyramidTabPanelBuilder.class.st @@ -5,7 +5,7 @@ Class { 'presenter', 'item' ], - #category : 'Pyramid-views' + #category : #'Pyramid-views' } { #category : #accessing } diff --git a/src/Pyramid/PyramidToolbarItem.class.st b/src/Pyramid/PyramidToolbarItem.class.st index b31fc578..1872c58a 100644 --- a/src/Pyramid/PyramidToolbarItem.class.st +++ b/src/Pyramid/PyramidToolbarItem.class.st @@ -6,7 +6,7 @@ Class { 'constraints', 'order' ], - #category : 'Pyramid-views' + #category : #'Pyramid-views' } { #category : #comparing } diff --git a/src/Pyramid/PyramidToolbarPanelBuilder.class.st b/src/Pyramid/PyramidToolbarPanelBuilder.class.st index 8adfdd4e..cb40c62d 100644 --- a/src/Pyramid/PyramidToolbarPanelBuilder.class.st +++ b/src/Pyramid/PyramidToolbarPanelBuilder.class.st @@ -5,7 +5,7 @@ Class { 'item', 'isHorizontal' ], - #category : 'Pyramid-views' + #category : #'Pyramid-views' } { #category : #accessing } diff --git a/src/Pyramid/PyramidUnknowState.class.st b/src/Pyramid/PyramidUnknowState.class.st index 052394ad..8ac2ac34 100644 --- a/src/Pyramid/PyramidUnknowState.class.st +++ b/src/Pyramid/PyramidUnknowState.class.st @@ -1,7 +1,7 @@ Class { #name : #PyramidUnknowState, #superclass : #Object, - #category : 'Pyramid-specs-custom' + #category : #'Pyramid-specs-custom' } { #category : #comparing } diff --git a/src/Pyramid/PyramidWindow.class.st b/src/Pyramid/PyramidWindow.class.st index e5b0012f..6b4fdc96 100644 --- a/src/Pyramid/PyramidWindow.class.st +++ b/src/Pyramid/PyramidWindow.class.st @@ -8,7 +8,7 @@ Class { 'spec', 'whenClosedDo' ], - #category : 'Pyramid-views' + #category : #'Pyramid-views' } { #category : #'window - properties' } diff --git a/src/Pyramid/SpTActionContainer.extension.st b/src/Pyramid/SpTActionContainer.extension.st new file mode 100644 index 00000000..1729b393 --- /dev/null +++ b/src/Pyramid/SpTActionContainer.extension.st @@ -0,0 +1,7 @@ +Extension { #name : #SpTActionContainer } + +{ #category : #'*Pyramid' } +SpTActionContainer >> ensureInternalActions [ + + ^ self ensureActionGroup +] diff --git a/src/Pyramid/TPyramidFindPlugin.trait.st b/src/Pyramid/TPyramidFindPlugin.trait.st index d6ae1080..79944593 100644 --- a/src/Pyramid/TPyramidFindPlugin.trait.st +++ b/src/Pyramid/TPyramidFindPlugin.trait.st @@ -1,6 +1,6 @@ Trait { #name : #TPyramidFindPlugin, - #category : 'Pyramid-core' + #category : #'Pyramid-core' } { #category : #'as yet unclassified' } diff --git a/src/Pyramid/TPyramidPlugin.trait.st b/src/Pyramid/TPyramidPlugin.trait.st index 5472abad..20e56c9a 100644 --- a/src/Pyramid/TPyramidPlugin.trait.st +++ b/src/Pyramid/TPyramidPlugin.trait.st @@ -1,6 +1,6 @@ Trait { #name : #TPyramidPlugin, - #category : 'Pyramid-core' + #category : #'Pyramid-core' } { #category : #initialization } From 2ae70d997b4c8cd01efb21de0a8038db68b6247e Mon Sep 17 00:00:00 2001 From: SullyMLT Date: Thu, 31 Jul 2025 09:21:15 +0200 Subject: [PATCH 19/21] Fix test in Pharo 13, change the message ensureInternalActions in the same as native --- src/Pyramid-Bloc/PyramidSaveModelVerifier.class.st | 6 +++--- src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st | 2 +- src/Pyramid/SpTActionContainer.extension.st | 5 ++++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/Pyramid-Bloc/PyramidSaveModelVerifier.class.st b/src/Pyramid-Bloc/PyramidSaveModelVerifier.class.st index 50b6bbbd..6374cc47 100644 --- a/src/Pyramid-Bloc/PyramidSaveModelVerifier.class.st +++ b/src/Pyramid-Bloc/PyramidSaveModelVerifier.class.st @@ -47,10 +47,10 @@ PyramidSaveModelVerifier class >> classPackageIsEqual [ PyramidSaveModelVerifier class >> methodIsValid [ ^ self new - verifyBlock: [ :model | model savingMethodName isValidSelector ]; + verifyBlock: [ :model | + OCScanner isSelector: model savingMethodName ]; showBlock: [ :view | view showMethodIsNotValidError ]; - yourself. - + yourself ] { #category : #constructor } diff --git a/src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st index 1a7500ce..a74d52a1 100644 --- a/src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st +++ b/src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st @@ -39,7 +39,7 @@ PyramidPointInputPresenterTest >> makeNewInput [ { #category : #'as yet unclassified' } PyramidPointInputPresenterTest >> triggerValueChangedOf: anInput [ - anInput inputX inputNumber ensureActionGroup decoratedGroup entries + anInput inputX inputNumber ensureInternalActions decoratedGroup entries do: [ :bind | bind execute ] ] diff --git a/src/Pyramid/SpTActionContainer.extension.st b/src/Pyramid/SpTActionContainer.extension.st index 1729b393..35a18187 100644 --- a/src/Pyramid/SpTActionContainer.extension.st +++ b/src/Pyramid/SpTActionContainer.extension.st @@ -3,5 +3,8 @@ Extension { #name : #SpTActionContainer } { #category : #'*Pyramid' } SpTActionContainer >> ensureInternalActions [ - ^ self ensureActionGroup + ^ internalActionGroup ifNil: [ + internalActionGroup := SpActionGroup new + name: #internalActionGroup; + beRoot ] ] From 18a49080be3a97f774ea12027a9eb707374fac40 Mon Sep 17 00:00:00 2001 From: SullyMLT Date: Thu, 31 Jul 2025 09:29:54 +0200 Subject: [PATCH 20/21] fix --- src/Pyramid/SpTActionContainer.extension.st | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 src/Pyramid/SpTActionContainer.extension.st diff --git a/src/Pyramid/SpTActionContainer.extension.st b/src/Pyramid/SpTActionContainer.extension.st deleted file mode 100644 index 35a18187..00000000 --- a/src/Pyramid/SpTActionContainer.extension.st +++ /dev/null @@ -1,10 +0,0 @@ -Extension { #name : #SpTActionContainer } - -{ #category : #'*Pyramid' } -SpTActionContainer >> ensureInternalActions [ - - ^ internalActionGroup ifNil: [ - internalActionGroup := SpActionGroup new - name: #internalActionGroup; - beRoot ] -] From 6233d936dae7a60140b62fd5e6646cdf6f882876 Mon Sep 17 00:00:00 2001 From: SullyMLT Date: Mon, 11 Aug 2025 14:02:21 +0200 Subject: [PATCH 21/21] test commit --- src/Pyramid-Bloc/PyramidSaveModelVerifier.class.st | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Pyramid-Bloc/PyramidSaveModelVerifier.class.st b/src/Pyramid-Bloc/PyramidSaveModelVerifier.class.st index 6374cc47..8ddada5b 100644 --- a/src/Pyramid-Bloc/PyramidSaveModelVerifier.class.st +++ b/src/Pyramid-Bloc/PyramidSaveModelVerifier.class.st @@ -48,7 +48,7 @@ PyramidSaveModelVerifier class >> methodIsValid [ ^ self new verifyBlock: [ :model | - OCScanner isSelector: model savingMethodName ]; + model savingMethodName isValidSelector ]; showBlock: [ :view | view showMethodIsNotValidError ]; yourself ]