Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
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
fe88e36
update methods and fix an issue with the filter in the presenter
Jun 3, 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
009fe3d
update the button icon and apply the theme to the new window + arrang…
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
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
94 changes: 0 additions & 94 deletions src/Pyramid-Bloc/PyramidBlocGeometryPlugin.class.st

This file was deleted.

158 changes: 158 additions & 0 deletions src/Pyramid-Bloc/PyramidEditorPlugin.class.st
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
Class {
#name : #PyramidEditorPlugin,
#superclass : #Object,
#traits : 'TPyramidPlugin',
#classTraits : 'TPyramidPlugin classTrait',
#instVars : [
'propertiesManager'
],
#category : #'Pyramid-Bloc-plugin-bloc-editor'
}

{ #category : #accessing }
PyramidEditorPlugin class >> cornerRadii [

| property |
property := PyramidProperty new
name: 'Corner radius';
command: PyramidRoundedRectangleCornerRadiiCommand new;
inputPresenterClass: PyramidCornerRadiiInputPresenter;
yourself.
property inputPresenterModel help:
'Change the corner radius of the geometry. For example:
- "10" to set a radius of 10 px on each corner.
- "10 20" to set a radius of 10 px on the top-left and bottom-right corner and 20 px on the top-right and bottom-left corner.
- "10 20 30 40" to set a radius of 10 px on top-left, 20 px on top-right, 30 px on bottom-right and 40 px on bottom-left.'.
^ property
]

{ #category : #accessing }
PyramidEditorPlugin class >> geometry [

| property |
property := PyramidProperty new
name: 'Geo';
command: PyramidGeometryCommand new;
inputPresenterClass: PyramidMagicButtonsInputPresenter;
yourself.
self geometryClasses do: [ :each |
property inputPresenterModel addButtonModel:
each asPyramidMagicButton ].
^ property
]

{ #category : #'as yet unclassified' }
PyramidEditorPlugin class >> geometryClasses [

^ {
BlRectangleGeometry.
BlRoundedRectangleGeometry.
BlSquareGeometry.
BlEllipseGeometry.
BlCircleGeometry.
BlAnnulusSectorGeometry.
BlTriangleGeometry.
BlLineGeometry.
BlPolylineGeometry.
BlBezierCurveGeometry.
BlPolygonGeometry }
]

{ #category : #'as yet unclassified' }
PyramidEditorPlugin class >> toButtonEndIcon [

| property |
property := PyramidProperty new
name: 'End Icon';
command: PyramidToButtonEndIconCommand new;
inputPresenterClass: PyramidIconInputPresenter;
yourself.
^ property
]

{ #category : #'as yet unclassified' }
PyramidEditorPlugin class >> toButtonIcon [

| property |
property := PyramidProperty new
name: 'Icon';
command: PyramidToButtonIconCommand new;
inputPresenterClass: PyramidIconInputPresenter;
yourself.
^ property
]

{ #category : #'as yet unclassified' }
PyramidEditorPlugin class >> toButtonLabel [

| property |
property := PyramidProperty new
name: 'Text';
command: PyramidToButtonLabelCommand new;
inputPresenterClass: PyramidTextInputPresenter;
yourself.
^ property
]

{ #category : #'as yet unclassified' }
PyramidEditorPlugin class >> toImageInnerImage [

| property |
property := PyramidProperty new
name: 'Image';
command: PyramidToImageInnerImageCommand new;
inputPresenterClass: PyramidIconInputPresenter;
yourself.
^ property
]

{ #category : #'as yet unclassified' }
PyramidEditorPlugin class >> toLabelText [

| property |
property := PyramidProperty new
name: 'Text';
command: PyramidToLabelTextCommand new;
inputPresenterClass: PyramidTextInputPresenter;
yourself.
^ property
]

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

aPyramidSimpleWindow at: #tabRight addItem: [ :builder |
builder
makeTab: propertiesManager mainPresenter
label: 'Editor'
icon: (Smalltalk ui icons iconNamed: #box)
order: 5 ]
]

{ #category : #connecting }
PyramidEditorPlugin >> connectOn: aPyramidEditor [

propertiesManager projectModel: aPyramidEditor projectModel.
propertiesManager commandExecutor: aPyramidEditor commandExecutor
]

{ #category : #initialization }
PyramidEditorPlugin >> initialize [

propertiesManager := PyramidPropertiesManagerForSelection new.

"BlElements properties"
propertiesManager addProperty: self class geometry.
propertiesManager addProperty: self class cornerRadii.

"ToButton properties"
propertiesManager addProperty: self class toButtonLabel.
propertiesManager addProperty: self class toButtonIcon.
propertiesManager addProperty: self class toButtonEndIcon.

"ToImage properties"
propertiesManager addProperty: self class toImageInnerImage.

"ToLabel properties"
propertiesManager addProperty: self class toLabelText.
]
2 changes: 1 addition & 1 deletion src/Pyramid-Bloc/PyramidGeometryCommand.class.st
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Class {
#name : #PyramidGeometryCommand,
#superclass : #PyramidAbstractBlocCommand,
#category : #'Pyramid-Bloc-plugin-bloc-geometry'
#category : #'Pyramid-Bloc-plugin-bloc-editor'
}

{ #category : #getter }
Expand Down
13 changes: 13 additions & 0 deletions src/Pyramid-Bloc/PyramidLibraryElement.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Class {
'name',
'icon',
'block',
'provider',
'status'
],
#category : #'Pyramid-Bloc-plugin-navigation'
Expand Down Expand Up @@ -103,6 +104,18 @@ PyramidLibraryElement >> name: anObject [
name := anObject
]

{ #category : #accessing }
PyramidLibraryElement >> provider [

^ provider
]

{ #category : #accessing }
PyramidLibraryElement >> provider: aClass [

provider := aClass
]

{ #category : #accessing }
PyramidLibraryElement >> status [

Expand Down
Loading
Loading