Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
9a9ef48
add BlSimpleShadowEffect
Apr 1, 2026
b862d3d
add BlGaussianShadow and its properties
Apr 1, 2026
0e5367d
icon changes for BlShadowEffect
Apr 13, 2026
66d84f4
Add support for saving the previous state of the shadow
Apr 14, 2026
c9a7df2
Remove the shadowCommand class variable
Apr 14, 2026
83d157c
fix problem with move index child
Apr 14, 2026
649bd55
fix error messages for moving a child
Apr 14, 2026
b318155
Merge pull request #267 from OpenSmock/main
MagueresMathieu Apr 15, 2026
1888659
fix error OCScanner
Apr 15, 2026
53f2c19
add tests and update devShadow
Apr 16, 2026
2909294
update devShadow
Apr 16, 2026
1ea94f5
update devStage_shadow
Apr 16, 2026
297e672
Merge pull request #268 from OpenSmock/devStage_shadow
MagueresMathieu Apr 16, 2026
8550b54
fix issue : Undo of remove element doesn’t put it back in the same po…
Apr 21, 2026
4e82ec8
update devStage_fixIssueUndo187
Apr 23, 2026
d425f9f
update fix issue : Undo of remove element doesn’t put it back in the …
Apr 28, 2026
f1a4ef9
Merge 4e82ec8a0a53bdc6a6c79189f207fd69e4f0d5c6
Apr 28, 2026
40f8dc2
update fix issue : Undo of remove element doesn’t put it back in the …
Apr 28, 2026
4134e51
update fix issue : Undo of remove element doesn’t put it back in the …
Apr 28, 2026
25e6a02
Merge pull request #269 from OpenSmock/devStage_fixIssueUndo187
MagueresMathieu Apr 30, 2026
a0dcc1d
Split Toplo library into separate categories: hide broken elements, m…
Apr 30, 2026
82fc955
Edit the symbol's name in 'User Data' with the prefix 'pyramid'
May 19, 2026
6d55d24
add a tab that allows handling BlElement depending on its type
May 19, 2026
2e8ba2b
Rename input fields' names and fix an error regarding the elements se…
May 21, 2026
d7123d7
add 'Ant Icon' and 'Material Icon' for ToButton and ToImage
May 28, 2026
0f7eca3
update the method named 'toploLibraryCategory'
May 28, 2026
a692c9b
Add status class methods
Jun 1, 2026
60c4259
update list of allowed elements
Jun 2, 2026
fe88e36
update methods and fix an issue with the filter in the presenter
Jun 3, 2026
c452df6
remove #pyramidRemovedAtIndex from userData when a BlElement is added…
Jun 4, 2026
0c12229
Add a feature that allows opening the interface in a window
Jun 4, 2026
8a69e6e
fix problems with PyramidGeometryCommand and PyramidRoundedRectangle…
Jun 4, 2026
1fdc78e
Merge pull request #275 from OpenSmock/devStage_fixes
LANDAISB Jun 4, 2026
009fe3d
update the button icon and apply the theme to the new window + arrang…
Jun 8, 2026
11bb129
Merge pull request #272 from OpenSmock/devStage
MagueresMathieu Jun 8, 2026
8ee8a1e
Use a Form as innerImage instead of a ToImage to avoid nesting ToImag…
Jun 9, 2026
4f2b110
add 'metadata' method and add some tests
Jun 30, 2026
0b6fa38
Merge 11bb1298d518fa07024e070b5b05461129e18056
Jun 30, 2026
cd65cc6
Add properties to metadata method
Jul 7, 2026
6868560
improve metadata method, fix grid visibility problem and add tests
Jul 15, 2026
a510730
support instance-side methods in the 'open' feature
Jul 15, 2026
0d9502b
fix problem with tests
Jul 16, 2026
cb03c52
fix problem with tests
Jul 16, 2026
4824e7d
Merge pull request #276 from OpenSmock/devStage_openFeature
MagueresMathieu Jul 16, 2026
321f2b1
fix problems with ToImage and add tests
Jul 16, 2026
db0143b
Merge 4824e7d5d65a8420d174db974c9d99e2dbafee47
Jul 16, 2026
4910683
update metadata method and add tests
Jul 28, 2026
1ffb8c5
fix 'methodIsValid'
Jul 28, 2026
58ef891
fix problem with geometry command
Jul 28, 2026
2fcece8
update tests
Jul 28, 2026
f34b457
Fix error when selecting a ToButton with an icon via mouse
Jul 29, 2026
77950c1
fix problem with the setter of ToImage icon
Jul 29, 2026
d851a5f
update tests
Jul 29, 2026
433d92e
Merge pull request #277 from OpenSmock/devStage_tabForElement
MagueresMathieu Jul 29, 2026
7776035
Merge pull request #279 from OpenSmock/devStage
MagueresMathieu Jul 30, 2026
769720e
Update CI.yml
LANDAISB Sep 22, 2026
3ae213f
Fix PyramidBreakPoint -> PyramidDebugPoint (BreakPoint-> DebugPoint o…
LANDAISB Sep 22, 2026
f1f7570
Fix PyramidDebugPoint
LANDAISB Sep 22, 2026
cdb1edd
Try fix removePyramidDebugPoints
LANDAISB Sep 22, 2026
74f2cec
Fix
LANDAISB Sep 22, 2026
889304c
Try fix remove
LANDAISB Sep 22, 2026
27cb828
Fix for P12 and earlier
LANDAISB Sep 22, 2026
61bd2fa
Update baseline for PharoBackwardCompatbility
LANDAISB Sep 22, 2026
1d2f56f
Fix for P12
LANDAISB Sep 22, 2026
32f1be1
Update CI.yml
LANDAISB Sep 23, 2026
2eaeec1
Fix link
LANDAISB Sep 23, 2026
11aa83a
Merge 32f1be18af00de433c9b78a6bbd95ab45712d400
LANDAISB Sep 23, 2026
5886d6d
Discard changes on baseline
LANDAISB Sep 23, 2026
e95d15c
Update README.md
LANDAISB Sep 23, 2026
d78c622
Update README.md
LANDAISB Sep 23, 2026
d1f0eac
Merge pull request #280 from OpenSmock/devPharo14
LANDAISB Sep 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,16 @@ jobs:
strategy:
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
smalltalk: [ Pharo64-11, Pharo64-12, Pharo64-13 ]
smalltalk: [ Pharo64-12, Pharo64-13, Pharo64-14 ]
ston: [ .smalltalkci.default.ston ]
#Specific case for Pharo14 (experimental): ignore failures
include:
- smalltalk: Pharo64-14
experimental: true
runs-on: ${{ matrix.os }}
name: >
${{ matrix.smalltalk }} • ${{ matrix.os }}
continue-on-error: ${{ matrix.experimental == true }}
steps:
- uses: actions/checkout@v3

Expand All @@ -30,4 +35,4 @@ jobs:
- name: Run ${{ matrix.ston == '.smalltalkci.default.ston' && 'Full' || 'Core' }} tests
run: smalltalkci -s ${{ matrix.smalltalk }} ${{ matrix.ston }}
shell: bash
timeout-minutes: 30
timeout-minutes: 30
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[![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)
[![Pharo 14](https://img.shields.io/badge/Pharo-14-%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)
Expand Down
2 changes: 1 addition & 1 deletion src/Pyramid-Bloc/PyramidAbstractBorderCommand.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ PyramidAbstractBorderCommand >> borderBuilderOf: aBlElement [
^ builder
]

{ #category : #'as yet unclassified' }
{ #category : #setter }
PyramidAbstractBorderCommand >> setValueFor: aBlElement with: anArgument [

| builder |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ PyramidAbstractChangeDrawOrderCommand >> canBeUsedFor: anObject [
^ (super canBeUsedFor: anObject) and: [ anObject hasParent]
]

{ #category : #'as yet unclassified' }
{ #category : #getter }
PyramidAbstractChangeDrawOrderCommand >> getValueFor: aBlElement [
"return current index for testing."

Expand Down
19 changes: 16 additions & 3 deletions src/Pyramid-Bloc/PyramidAddChildCommand.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,27 @@ Class {
#category : #'Pyramid-Bloc-plugin-bloc'
}

{ #category : #'as yet unclassified' }
{ #category : #history }
PyramidAddChildCommand >> commandInverse [

^ PyramidRemoveChildCommand new
]

{ #category : #'as yet unclassified' }
{ #category : #private }
PyramidAddChildCommand >> savedIndexFor: aChild in: aParent [

| index |
index := aChild userData at: #pyramidRemovedAtIndex ifAbsent: [ 0 ].
(index = 0 or: [ index > aParent children size ])
ifTrue: [ ^ aParent children size + 1 ]
ifFalse: [ ^ index ]
]

{ #category : #setter }
PyramidAddChildCommand >> setValueFor: aBlElement with: aChildToAdd [

aBlElement addChild: aChildToAdd
aBlElement
addChild: aChildToAdd
at: (self savedIndexFor: aChildToAdd in: aBlElement).
aChildToAdd userData removeKey: #pyramidRemovedAtIndex ifAbsent: [ ]
]
6 changes: 3 additions & 3 deletions src/Pyramid-Bloc/PyramidAddChildrenCommand.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ Class {
#category : #'Pyramid-Bloc-plugin-bloc'
}

{ #category : #'as yet unclassified' }
{ #category : #history }
PyramidAddChildrenCommand >> commandInverse [

^ PyramidRemoveChildrenCommand new
]

{ #category : #'as yet unclassified' }
{ #category : #setter }
PyramidAddChildrenCommand >> setValueFor: aBlElement with: aChildrenToAdd [

aBlElement addChildren: aChildrenToAdd
aBlElement addChildren: aChildrenToAdd
]
89 changes: 88 additions & 1 deletion src/Pyramid-Bloc/PyramidBackgroundBlocPlugin.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -671,6 +671,86 @@ PyramidBackgroundBlocPlugin class >> outskirts [
^ property
]

{ #category : #accessing }
PyramidBackgroundBlocPlugin class >> shadow [

| property |
property := PyramidProperty new
name: 'Shadow Effect';
command: PyramidShadowCommand current;
inputPresenterClass: PyramidMagicButtonsInputPresenter;
yourself.
property inputPresenterModel
addButtonModel: (PyramidMagicButtonModel new
icon: (Smalltalk ui icons iconNamed: #blank);
helpSelected: 'No shadow.';
helpNotSelected: 'Remove shadow.';
label: 'None';
inputValue: [ BlNullEffect new ];
inputValidation: [ :value | value class = BlNullEffect ];
yourself);
addButtonModel: (PyramidMagicButtonModel new
icon: (Smalltalk ui icons iconNamed: #windowMaximize);
helpSelected: 'Shadow type is simple.';
helpNotSelected: 'Set shadow type to simple.';
label: 'Simple';
inputValue: [ PyramidShadowCommand current lastSimpleShadow ];
inputValidation: [ :value | value class = BlSimpleShadowEffect ];
yourself);
addButtonModel: (PyramidMagicButtonModel new
icon: (Smalltalk ui icons iconNamed: #radioButtonUnselected);
helpSelected: 'Shadow type is gaussian.';
helpNotSelected: 'Set shadow type to gaussian.';
label: 'Gaussian';
inputValue: [ PyramidShadowCommand current lastGaussianShadow ];
inputValidation: [ :value | value class = BlGaussianShadowEffect ];
yourself).
^ property
]

{ #category : #accessing }
PyramidBackgroundBlocPlugin class >> shadowColor [

| property |
property := PyramidProperty new
name: 'Shadow Color';
command: PyramidShadowColorCommand new;
inputPresenterClass:
PyramidColorInputSingleLineWithPickupButtonPresenter;
yourself.
^ property


]

{ #category : #accessing }
PyramidBackgroundBlocPlugin class >> shadowOffset [

| property |
property := PyramidProperty new
name: 'Shadow Offset';
command: PyramidShadowOffsetCommand new;
inputPresenterClass:
PyramidPointInputPresenter;
yourself.
property inputPresenterModel help:
'Set the position x and y for the shadow offset'.
^ property
]

{ #category : #accessing }
PyramidBackgroundBlocPlugin class >> shadowWidthGaussian [

| property |
property := PyramidProperty new
name: 'Shadow Width';
command: PyramidShadowGaussianWidthCommand new;
inputPresenterClass: PyramidNumberInputPresenter;
yourself.
property inputPresenterModel help: 'Set the width value'.
^ property
]

{ #category : #adding }
PyramidBackgroundBlocPlugin >> addPanelsOn: aPyramidSimpleWindow [

Expand Down Expand Up @@ -747,7 +827,14 @@ PyramidBackgroundBlocPlugin >> initialize [
propertiesManager addProperty: self class borderRadialInnerCenter.
propertiesManager addProperty: self class borderRadialInnerRadius.
propertiesManager addProperty: self class borderRadialOuterCenter.
propertiesManager addProperty: self class borderRadialOuterRadius
propertiesManager addProperty: self class borderRadialOuterRadius.

"Shadow"
PyramidShadowCommand resetShadowCommand.
propertiesManager addProperty: self class shadow.
propertiesManager addProperty: self class shadowColor.
propertiesManager addProperty: self class shadowOffset.
propertiesManager addProperty: self class shadowWidthGaussian
]

{ #category : #adding }
Expand Down
4 changes: 2 additions & 2 deletions src/Pyramid-Bloc/PyramidBackgroundImageCommand.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ PyramidBackgroundImageCommand >> canBeUsedFor: anObject [
anObject background isKindOf: BlImageBackground ]
]

{ #category : #'as yet unclassified' }
{ #category : #getter }
PyramidBackgroundImageCommand >> getValueFor: aBlElement [

^ aBlElement background image
]

{ #category : #'as yet unclassified' }
{ #category : #setter }
PyramidBackgroundImageCommand >> setValueFor: aBlElement with: anArgument [

aBlElement background: (BlBackground image: anArgument)
Expand Down
4 changes: 2 additions & 2 deletions src/Pyramid-Bloc/PyramidBackgroundOpacityCommand.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ Class {
#category : #'Pyramid-Bloc-plugin-bloc-visuals'
}

{ #category : #'as yet unclassified' }
{ #category : #getter }
PyramidBackgroundOpacityCommand >> getValueFor: aBlElement [

^ aBlElement background opacity
]

{ #category : #'as yet unclassified' }
{ #category : #setter }
PyramidBackgroundOpacityCommand >> setValueFor: aBlElement with: anArgument [

| background |
Expand Down
4 changes: 2 additions & 2 deletions src/Pyramid-Bloc/PyramidBackgroundPaintColorCommand.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ PyramidBackgroundPaintColorCommand >> canBeUsedFor: anObject [
anObject background paint isKindOf: BlColorPaint ] ]
]

{ #category : #'as yet unclassified' }
{ #category : #getter }
PyramidBackgroundPaintColorCommand >> getValueFor: aBlElement [

^ aBlElement background paint color
]

{ #category : #'as yet unclassified' }
{ #category : #setter }
PyramidBackgroundPaintColorCommand >> setValueFor: aBlElement with: anArgument [

aBlElement background: (BlBackground paint: anArgument asBlPaint)
Expand Down
6 changes: 3 additions & 3 deletions src/Pyramid-Bloc/PyramidBackgroundPaintCommand.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@ PyramidBackgroundPaintCommand >> canBeUsedFor: anObject [
anObject background isKindOf: BlPaintBackground ]
]

{ #category : #'as yet unclassified' }
{ #category : #getter }
PyramidBackgroundPaintCommand >> getGroupedValueFor: aBlElement [

^ aBlElement background paint class
]

{ #category : #'as yet unclassified' }
{ #category : #getter }
PyramidBackgroundPaintCommand >> getValueFor: aBlElement [

^ aBlElement background paint
]

{ #category : #'as yet unclassified' }
{ #category : #setter }
PyramidBackgroundPaintCommand >> setValueFor: aBlElement with: anArgument [

aBlElement background: (BlBackground paint: anArgument value)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ Class {
#category : #'Pyramid-Bloc-plugin-bloc-visuals'
}

{ #category : #'as yet unclassified' }
{ #category : #getter }
PyramidBackgroundPaintLinearEndCommand >> getValueFor: aBlElement [

^ aBlElement background paint end
]

{ #category : #'as yet unclassified' }
{ #category : #setter }
PyramidBackgroundPaintLinearEndCommand >> setValueFor: aBlElement with: anArgument [

aBlElement background paint end: anArgument
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ Class {
#category : #'Pyramid-Bloc-plugin-bloc-visuals'
}

{ #category : #'as yet unclassified' }
{ #category : #getter }
PyramidBackgroundPaintLinearStartCommand >> getValueFor: aBlElement [

^ aBlElement background paint start
]

{ #category : #'as yet unclassified' }
{ #category : #setter }
PyramidBackgroundPaintLinearStartCommand >> setValueFor: aBlElement with: anArgument [

aBlElement background paint start: anArgument
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ Class {
#category : #'Pyramid-Bloc-plugin-bloc-visuals'
}

{ #category : #'as yet unclassified' }
{ #category : #getter }
PyramidBackgroundPaintRadialInnerCenterCommand >> getValueFor: aBlElement [

^ aBlElement background paint innerCenter
]

{ #category : #'as yet unclassified' }
{ #category : #setter }
PyramidBackgroundPaintRadialInnerCenterCommand >> setValueFor: aBlElement with: anArgument [

aBlElement background paint innerCenter: anArgument
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ Class {
#category : #'Pyramid-Bloc-plugin-bloc-visuals'
}

{ #category : #'as yet unclassified' }
{ #category : #getter }
PyramidBackgroundPaintRadialInnerRadiusCommand >> getValueFor: aBlElement [

^ aBlElement background paint innerRadius
]

{ #category : #'as yet unclassified' }
{ #category : #setter }
PyramidBackgroundPaintRadialInnerRadiusCommand >> setValueFor: aBlElement with: anArgument [

aBlElement background paint innerRadius: anArgument
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ Class {
#category : #'Pyramid-Bloc-plugin-bloc-visuals'
}

{ #category : #'as yet unclassified' }
{ #category : #getter }
PyramidBackgroundPaintRadialOuterCenterCommand >> getValueFor: aBlElement [

^ aBlElement background paint outerCenter
]

{ #category : #'as yet unclassified' }
{ #category : #setter }
PyramidBackgroundPaintRadialOuterCenterCommand >> setValueFor: aBlElement with: anArgument [

aBlElement background paint outerCenter: anArgument
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ Class {
#category : #'Pyramid-Bloc-plugin-bloc-visuals'
}

{ #category : #'as yet unclassified' }
{ #category : #getter }
PyramidBackgroundPaintRadialOuterRadiusCommand >> getValueFor: aBlElement [

^ aBlElement background paint outerRadius
]

{ #category : #'as yet unclassified' }
{ #category : #setter }
PyramidBackgroundPaintRadialOuterRadiusCommand >> setValueFor: aBlElement with: anArgument [

aBlElement background paint outerRadius: anArgument
Expand Down
4 changes: 2 additions & 2 deletions src/Pyramid-Bloc/PyramidBackgroundPaintStopsCommand.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ PyramidBackgroundPaintStopsCommand >> canBeUsedFor: anObject [
anObject background paint isKindOf: BlGradientPaint ] ]
]

{ #category : #'as yet unclassified' }
{ #category : #getter }
PyramidBackgroundPaintStopsCommand >> getValueFor: aBlElement [
"We ensure that we are working with a copy of the associations."

^ aBlElement background paint stops collect: [ :asso |
asso key copy -> asso value copy ]
]

{ #category : #'as yet unclassified' }
{ #category : #setter }
PyramidBackgroundPaintStopsCommand >> setValueFor: aBlElement with: anArgument [
"We ensure that we are working with a copy of the associations."

Expand Down
Loading
Loading