diff --git a/README.md b/README.md
index 93807275..b75aed1b 100644
--- a/README.md
+++ b/README.md
@@ -84,9 +84,9 @@ Then the project view appears in a new window.
### Add and setup graphical elements
-Use the create button to add graphical elements in your project view.
+Use the add button to add graphical elements in your project view and edit them with the properties panel.
-https://github.com/OpenSmock/Pyramid/assets/49183340/a02db9ad-314a-4caf-884c-9da4da809293
+https://github.com/user-attachments/assets/44796af0-95d7-4e29-b28b-fdedfdbe7a85
### Test behavior in the editor
@@ -94,19 +94,17 @@ Use the test/edit button to switch between the edit mode and the test mode.
https://github.com/OpenSmock/Pyramid/assets/49183340/a85d8c01-89dd-472c-ab4e-41d51a8629dd
-### Save a project
+### Save and Edit a project
Setup the project to store your view into a Class.
When your project is saved into a method, you can see the preview on the `Pyramid preview` tab.
-
-https://github.com/OpenSmock/Pyramid/assets/49183340/eb70004b-cfb4-43a0-8759-27d3bac75fd0
-
-### Edit a saved project
+By default the element will be saved as source code.
Use the `Pyramid preview` tab to edit an existing project.
+You can edit your project with Pyramid or use the code browser.
-https://github.com/OpenSmock/Pyramid/assets/49183340/c4a18e51-5fb5-412c-90d4-0638cadb6bff
+https://github.com/user-attachments/assets/14711a00-b31a-4915-a634-3685bfe141f7
### Test a project
@@ -136,13 +134,14 @@ https://github.com/OpenSmock/Pyramid/assets/49183340/0c66a3ac-7bea-48c1-b1e8-0b0
## Dependencies
-![image](https://github.com/OpenSmock/Pyramid/assets/34318678/099f25fc-74bd-477f-bef0-2ad7d47db10d)
+![image](https://github.com/user-attachments/assets/192ff62a-ce48-4801-a437-c9c83720eb5f)
-- [Toplo](https://github.com/pharo-graphics/Toplo)
-- [Toplo-Serialization](https://github.com/OpenSmock/Toplo-Serialization)
-- [Bloc](https://github.com/pharo-graphics/Bloc)
-- [Bloc-Serialization](https://github.com/OpenSmock/Bloc-Serialization)
-- [Alexandrie](https://github.com/pharo-graphics/Alexandrie)
+- [Bloc-Serialization](https://github.com/OpenSmock/Bloc-Serialization) - serializer project for Bloc (this project define the Bloc version of Pyramid).
+- [Bloc](https://github.com/pharo-graphics/Bloc) - low-level UI infrastructure & framework for Pharo.
+- [Toplo-Serialization](https://github.com/OpenSmock/Toplo-Serialization) - serializer project for Toplo (this project define the Toplo version of Pyramid).
+- [Toplo](https://github.com/pharo-graphics/Toplo) - a widget framework on top of Bloc.
+- [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.
## License
diff --git a/src/Pyramid-Bloc/BlElement.extension.st b/src/Pyramid-Bloc/BlElement.extension.st
index 90e1b6dc..c32abca1 100644
--- a/src/Pyramid-Bloc/BlElement.extension.st
+++ b/src/Pyramid-Bloc/BlElement.extension.st
@@ -24,3 +24,11 @@ BlElement >> editWithPyramid [
editor window open.
^ editor
]
+
+{ #category : #'*Pyramid-Bloc' }
+BlElement >> parentsShouldSerializeChildren [
+
+ self parent ifNil: [ ^ true ].
+ self parent shouldSerializedChildren ifFalse: [ ^ false ].
+ ^ self parent parentsShouldSerializeChildren
+]
diff --git a/src/Pyramid-Bloc/PyramidAbstractBlocCommand.class.st b/src/Pyramid-Bloc/PyramidAbstractBlocCommand.class.st
index 51b17228..ba35436a 100644
--- a/src/Pyramid-Bloc/PyramidAbstractBlocCommand.class.st
+++ b/src/Pyramid-Bloc/PyramidAbstractBlocCommand.class.st
@@ -13,5 +13,5 @@ PyramidAbstractBlocCommand class >> isAbstract [
{ #category : #testing }
PyramidAbstractBlocCommand >> canBeUsedFor: anObject [
- ^ anObject class = BlElement or: [anObject class inheritsFrom: BlElement]
+ ^ anObject isKindOf: BlElement
]
diff --git a/src/Pyramid-Bloc/PyramidAbstractColumnsBuilder.class.st b/src/Pyramid-Bloc/PyramidAbstractColumnsBuilder.class.st
deleted file mode 100644
index afe4b59d..00000000
--- a/src/Pyramid-Bloc/PyramidAbstractColumnsBuilder.class.st
+++ /dev/null
@@ -1,34 +0,0 @@
-Class {
- #name : #PyramidAbstractColumnsBuilder,
- #superclass : #Object,
- #instVars : [
- 'editor'
- ],
- #category : #'Pyramid-Bloc-plugin-tree-library'
-}
-
-{ #category : #testing }
-PyramidAbstractColumnsBuilder class >> isAbstract [
-
- ^ self == PyramidAbstractColumnsBuilder
-]
-
-{ #category : #'as yet unclassified' }
-PyramidAbstractColumnsBuilder >> buildOn: aPyramidTreePlugin [
-"aPyramidTreePlugin addColumns: { }"
- self shouldBeImplemented
-
-]
-
-{ #category : #accessing }
-PyramidAbstractColumnsBuilder >> editor [
-
- editor ifNil: [ Error signal: 'Editor should not be nil.' ].
- ^ editor
-]
-
-{ #category : #accessing }
-PyramidAbstractColumnsBuilder >> editor: anObject [
-
- editor := anObject
-]
diff --git a/src/Pyramid-Bloc/PyramidBackgroundImageModalPresenter.class.st b/src/Pyramid-Bloc/PyramidBackgroundImageModalPresenter.class.st
index 54f94d9e..10becb00 100644
--- a/src/Pyramid-Bloc/PyramidBackgroundImageModalPresenter.class.st
+++ b/src/Pyramid-Bloc/PyramidBackgroundImageModalPresenter.class.st
@@ -137,9 +137,16 @@ PyramidBackgroundImageModalPresenter >> defaultLayout [
{ #category : #action }
PyramidBackgroundImageModalPresenter >> image: aForm [
+ | source |
self codeBitmap beForObject: aForm.
self codeBitmap text: self textBitmap , 'self
-'
+'.
+ (aForm isPyramidProxy) ifFalse: [ ^ self ].
+ source := aForm pyramidExternalRessourceSource.
+ self inputReceiverProxy text: (Stash new serialize: source target).
+ self inputSelectorProxy text: (Stash new serialize: source selector).
+ self inputArgumentsProxy text:
+ (Stash new serialize: source arguments)
]
{ #category : #initialization }
diff --git a/src/Pyramid-Bloc/PyramidBlocTextCommand.class.st b/src/Pyramid-Bloc/PyramidBlocTextCommand.class.st
index b0af6eb8..03600e58 100644
--- a/src/Pyramid-Bloc/PyramidBlocTextCommand.class.st
+++ b/src/Pyramid-Bloc/PyramidBlocTextCommand.class.st
@@ -13,8 +13,7 @@ PyramidBlocTextCommand class >> isAbstract [
{ #category : #testing }
PyramidBlocTextCommand >> canBeUsedFor: anObject [
- ^ anObject class = BlTextElement or: [
- anObject class inheritsFrom: BlTextElement ]
+ ^ anObject isKindOf: BlTextElement
]
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Bloc/PyramidElementToAddCategory.class.st b/src/Pyramid-Bloc/PyramidElementToAddCategory.class.st
deleted file mode 100644
index 89edacc6..00000000
--- a/src/Pyramid-Bloc/PyramidElementToAddCategory.class.st
+++ /dev/null
@@ -1,78 +0,0 @@
-Class {
- #name : #PyramidElementToAddCategory,
- #superclass : #Object,
- #instVars : [
- 'name',
- 'icon',
- 'factories'
- ],
- #category : #'Pyramid-Bloc-plugin-tree-library'
-}
-
-{ #category : #comparing }
-PyramidElementToAddCategory >> <= aPyramidLibraryCategory [
-
- ^ self name <= aPyramidLibraryCategory name
-]
-
-{ #category : #converting }
-PyramidElementToAddCategory >> asNotebookPage [
-
- ^ SpNotebookPage
- title: self name
- icon: self icon
- provider: [self makeProvider]
-]
-
-{ #category : #accessing }
-PyramidElementToAddCategory >> factories [
-
- ^ factories
-]
-
-{ #category : #accessing }
-PyramidElementToAddCategory >> factories: anObject [
-
- factories := anObject
-]
-
-{ #category : #accessing }
-PyramidElementToAddCategory >> icon [
-
- ^ icon
-]
-
-{ #category : #accessing }
-PyramidElementToAddCategory >> icon: anObject [
-
- icon := anObject
-]
-
-{ #category : #'as yet unclassified' }
-PyramidElementToAddCategory >> makeProvider [
-
- ^
- SpTablePresenter new
- addColumn: ((SpImageTableColumn
- title: 'Icon'
- evaluated: [ :aFactory | aFactory elementIcon ])
- width: 50;
- yourself);
- addColumn:
- (SpStringTableColumn title: 'Name' evaluated: #elementName);
- items: self factories;
- beResizable;
- yourself
-]
-
-{ #category : #accessing }
-PyramidElementToAddCategory >> name [
-
- ^ name
-]
-
-{ #category : #accessing }
-PyramidElementToAddCategory >> name: anObject [
-
- name := anObject
-]
diff --git a/src/Pyramid-Bloc/PyramidElementToAddFactory.class.st b/src/Pyramid-Bloc/PyramidElementToAddFactory.class.st
deleted file mode 100644
index 0e34afb9..00000000
--- a/src/Pyramid-Bloc/PyramidElementToAddFactory.class.st
+++ /dev/null
@@ -1,77 +0,0 @@
-Class {
- #name : #PyramidElementToAddFactory,
- #superclass : #Object,
- #instVars : [
- 'elementIcon',
- 'elementName',
- 'elementBlock'
- ],
- #category : #'Pyramid-Bloc-plugin-tree-library'
-}
-
-{ #category : #comparing }
-PyramidElementToAddFactory >> <= aPyramidLibraryCategory [
-
- ^ self elementName <= aPyramidLibraryCategory elementName
-]
-
-{ #category : #testing }
-PyramidElementToAddFactory >> canMakeNewElement [
-
- [self elementBlock value] on: Error do: [ ^ false ].
- ^ true
-]
-
-{ #category : #accessing }
-PyramidElementToAddFactory >> elementBlock [
-
- ^ elementBlock
-]
-
-{ #category : #accessing }
-PyramidElementToAddFactory >> elementBlock: anObject [
-
- elementBlock := anObject
-]
-
-{ #category : #accessing }
-PyramidElementToAddFactory >> elementIcon [
-
- ^ elementIcon
-]
-
-{ #category : #accessing }
-PyramidElementToAddFactory >> elementIcon: anObject [
-
- elementIcon := anObject
-]
-
-{ #category : #accessing }
-PyramidElementToAddFactory >> elementName [
-
- ^ elementName
-]
-
-{ #category : #accessing }
-PyramidElementToAddFactory >> elementName: anObject [
-
- elementName := anObject
-]
-
-{ #category : #'as yet unclassified' }
-PyramidElementToAddFactory >> makeElement [
-
- ^ self elementBlock value
-]
-
-{ #category : #'as yet unclassified' }
-PyramidElementToAddFactory >> makeForm [
-
- | array |
- array := self elementBlock value.
- ^ BlElement new
- size: 800 @ 600;
- addChildren: array;
- clipChildren: false;
- asForm
-]
diff --git a/src/Pyramid-Bloc/PyramidElementToAddFactoryEmpty.class.st b/src/Pyramid-Bloc/PyramidElementToAddFactoryEmpty.class.st
deleted file mode 100644
index a85d38b2..00000000
--- a/src/Pyramid-Bloc/PyramidElementToAddFactoryEmpty.class.st
+++ /dev/null
@@ -1,17 +0,0 @@
-Class {
- #name : #PyramidElementToAddFactoryEmpty,
- #superclass : #PyramidElementToAddFactory,
- #category : #'Pyramid-Bloc-plugin-tree-library'
-}
-
-{ #category : #testing }
-PyramidElementToAddFactoryEmpty >> canMakeNewElement [
-
- ^ false
-]
-
-{ #category : #'as yet unclassified' }
-PyramidElementToAddFactoryEmpty >> makeForm [
-
- ^ BlElement new asForm
-]
diff --git a/src/Pyramid-Bloc/PyramidElementToAddFactoryPresenter.class.st b/src/Pyramid-Bloc/PyramidElementToAddFactoryPresenter.class.st
deleted file mode 100644
index 32c72f49..00000000
--- a/src/Pyramid-Bloc/PyramidElementToAddFactoryPresenter.class.st
+++ /dev/null
@@ -1,126 +0,0 @@
-Class {
- #name : #PyramidElementToAddFactoryPresenter,
- #superclass : #SpPresenter,
- #instVars : [
- 'categoryPresenter',
- 'factoryPresenter',
- 'categories',
- 'selectedCategory',
- 'selectedFactory',
- 'whenItemChangeDo'
- ],
- #category : #'Pyramid-Bloc-plugin-tree-library'
-}
-
-{ #category : #accessing }
-PyramidElementToAddFactoryPresenter >> categories [
-
- ^ categories
-]
-
-{ #category : #accessing }
-PyramidElementToAddFactoryPresenter >> categories: anObject [
-
- categories := anObject.
- self categoryPresenter items: anObject
-]
-
-{ #category : #accessing }
-PyramidElementToAddFactoryPresenter >> categoryPresenter [
-
- ^ categoryPresenter
-]
-
-{ #category : #layout }
-PyramidElementToAddFactoryPresenter >> defaultLayout [
-
- ^ SpPanedLayout newHorizontal add: self categoryPresenter; add: self factoryPresenter ; yourself.
-]
-
-{ #category : #accessing }
-PyramidElementToAddFactoryPresenter >> factoryPresenter [
-
- ^ factoryPresenter
-]
-
-{ #category : #'initialization - deprecated' }
-PyramidElementToAddFactoryPresenter >> initialize [
-
- super initialize.
- whenItemChangeDo := [ :e | ].
-
-]
-
-{ #category : #'initialization - deprecated' }
-PyramidElementToAddFactoryPresenter >> initializePresenter [
-
- whenItemChangeDo := [ :e | ].
- categoryPresenter := SpTablePresenter new
- addColumn: ((SpImageTableColumn
- title: 'Icon'
- evaluated: [ :aCategory | aCategory icon ])
- width: 20;
- yourself);
- addColumn:
- (SpStringTableColumn
- title: 'Name'
- evaluated: #name);
- whenSelectedItemChangedDo: [ :category |
- self selectedCategory: category ];
- beResizable;
- yourself.
- factoryPresenter := SpTablePresenter new
- addColumn: ((SpImageTableColumn
- title: 'Icon'
- evaluated: [ :aFactory |
- aFactory elementIcon ])
- width: 20;
- yourself);
- addColumn:
- (SpStringTableColumn
- title: 'Name'
- evaluated: #elementName);
- whenSelectedItemChangedDo: [ :factory |
- self selectedFactory: factory ];
- beResizable;
- yourself
-]
-
-{ #category : #accessing }
-PyramidElementToAddFactoryPresenter >> selectedCategory [
-
- ^ selectedCategory
-]
-
-{ #category : #accessing }
-PyramidElementToAddFactoryPresenter >> selectedCategory: anObject [
-
- selectedCategory := anObject.
- anObject ifNil: [ ^ self ].
- self factoryPresenter items: anObject factories
-]
-
-{ #category : #accessing }
-PyramidElementToAddFactoryPresenter >> selectedFactory [
-
- ^ selectedFactory
-]
-
-{ #category : #accessing }
-PyramidElementToAddFactoryPresenter >> selectedFactory: anObject [
-
- selectedFactory := anObject.
- self whenItemChangeDo value: anObject
-]
-
-{ #category : #accessing }
-PyramidElementToAddFactoryPresenter >> whenItemChangeDo [
-
- ^ whenItemChangeDo
-]
-
-{ #category : #accessing }
-PyramidElementToAddFactoryPresenter >> whenItemChangeDo: anObject [
-
- whenItemChangeDo := anObject
-]
diff --git a/src/Pyramid-Bloc/PyramidElementToAddModel.class.st b/src/Pyramid-Bloc/PyramidElementToAddModel.class.st
deleted file mode 100644
index 80fec9f0..00000000
--- a/src/Pyramid-Bloc/PyramidElementToAddModel.class.st
+++ /dev/null
@@ -1,41 +0,0 @@
-Class {
- #name : #PyramidElementToAddModel,
- #superclass : #Object,
- #instVars : [
- 'categories'
- ],
- #category : #'Pyramid-Bloc-plugin-tree-library'
-}
-
-{ #category : #'as yet unclassified' }
-PyramidElementToAddModel class >> defaultLibrary [
-
- | library |
- library := self new.
- TPyramidElementToAdd users do: [ :class | class addOnLibrary: library ].
- ^ library
-]
-
-{ #category : #adding }
-PyramidElementToAddModel >> addCategoryWithName: aCategoryName withIcon: aCategoryIcon withAllFactories: aCollection [
-
- | newCategory |
- newCategory := PyramidElementToAddCategory new
- name: aCategoryName;
- icon: aCategoryIcon;
- factories: aCollection;
- yourself.
- categories add: newCategory
-]
-
-{ #category : #initialization }
-PyramidElementToAddModel >> allCategories [
-
- ^ categories
-]
-
-{ #category : #initialization }
-PyramidElementToAddModel >> initialize [
-
- categories := OrderedCollection new.
-]
diff --git a/src/Pyramid-Bloc/PyramidElementToAddPresenter.class.st b/src/Pyramid-Bloc/PyramidElementToAddPresenter.class.st
deleted file mode 100644
index 7800828e..00000000
--- a/src/Pyramid-Bloc/PyramidElementToAddPresenter.class.st
+++ /dev/null
@@ -1,105 +0,0 @@
-Class {
- #name : #PyramidElementToAddPresenter,
- #superclass : #SpPresenter,
- #instVars : [
- 'selector',
- 'preview',
- 'addButton',
- 'libraryModel',
- 'currentFactory'
- ],
- #category : #'Pyramid-Bloc-plugin-tree-library'
-}
-
-{ #category : #'as yet unclassified' }
-PyramidElementToAddPresenter class >> defaultEmptyFactory [
-
- ^ PyramidElementToAddFactoryEmpty new
-]
-
-{ #category : #accessing }
-PyramidElementToAddPresenter >> addButton [
-
- ^ addButton
-]
-
-{ #category : #accessing }
-PyramidElementToAddPresenter >> currentFactory [
-
- currentFactory ifNil: [ currentFactory := self class defaultEmptyFactory ].
- ^ currentFactory
-]
-
-{ #category : #accessing }
-PyramidElementToAddPresenter >> currentFactory: anObject [
-
- currentFactory := anObject.
- self preview image: self currentFactory makeForm.
- self addButton enabled: self currentFactory canMakeNewElement
-]
-
-{ #category : #layout }
-PyramidElementToAddPresenter >> defaultLayout [
-
- ^ SpPanedLayout newHorizontal
- add: self selector;
- add: (SpBoxLayout newVertical
- spacing: 4;
- add: self preview expand: true;
- add: self addButton expand: false;
- yourself);
- yourself
-]
-
-{ #category : #requirements }
-PyramidElementToAddPresenter >> elementToAdd [
-
- ^ self currentFactory makeElement
-]
-
-{ #category : #'initialization - deprecated' }
-PyramidElementToAddPresenter >> initializePresenter [
-
- addButton := SpButtonPresenter new
- label: 'Add';
- icon: (Smalltalk ui icons iconNamed: #add);
- enabled: false;
- yourself.
- selector := PyramidElementToAddFactoryPresenter new whenItemChangeDo: [
- :aFactory | self currentFactory: aFactory ].
- preview := SpImagePresenter new autoScale: true.
- libraryModel := PyramidElementToAddModel defaultLibrary.
- self refresh
-]
-
-{ #category : #accessing }
-PyramidElementToAddPresenter >> libraryModel [
-
- ^ libraryModel
-]
-
-{ #category : #accessing }
-PyramidElementToAddPresenter >> libraryModel: anObject [
-
- libraryModel := anObject.
- self refresh
-]
-
-{ #category : #accessing }
-PyramidElementToAddPresenter >> preview [
-
- ^ preview
-]
-
-{ #category : #accessing }
-PyramidElementToAddPresenter >> refresh [
-
- self currentFactory: nil.
- self selector categories: self libraryModel allCategories
-]
-
-{ #category : #accessing }
-PyramidElementToAddPresenter >> selector [
-
- ^ selector
-]
diff --git a/src/Pyramid-Bloc/PyramidLibraryCategory.class.st b/src/Pyramid-Bloc/PyramidLibraryCategory.class.st
new file mode 100644
index 00000000..fdb93b0a
--- /dev/null
+++ b/src/Pyramid-Bloc/PyramidLibraryCategory.class.st
@@ -0,0 +1,52 @@
+Class {
+ #name : #PyramidLibraryCategory,
+ #superclass : #Object,
+ #instVars : [
+ 'elements',
+ 'name',
+ 'icon'
+ ],
+ #category : #'Pyramid-Bloc-plugin-navigation'
+}
+
+{ #category : #accessing }
+PyramidLibraryCategory >> elements [
+
+ ^ elements
+]
+
+{ #category : #accessing }
+PyramidLibraryCategory >> elements: anObject [
+
+ elements := anObject
+]
+
+{ #category : #accessing }
+PyramidLibraryCategory >> icon [
+
+ ^ icon
+]
+
+{ #category : #accessing }
+PyramidLibraryCategory >> icon: anObject [
+
+ icon := anObject
+]
+
+{ #category : #initialization }
+PyramidLibraryCategory >> initialize [
+
+ elements := { }
+]
+
+{ #category : #accessing }
+PyramidLibraryCategory >> name [
+
+ ^ name
+]
+
+{ #category : #accessing }
+PyramidLibraryCategory >> name: anObject [
+
+ name := anObject
+]
diff --git a/src/Pyramid-Bloc/PyramidLibraryContainerPresenter.class.st b/src/Pyramid-Bloc/PyramidLibraryContainerPresenter.class.st
deleted file mode 100644
index 8bbb4deb..00000000
--- a/src/Pyramid-Bloc/PyramidLibraryContainerPresenter.class.st
+++ /dev/null
@@ -1,98 +0,0 @@
-Class {
- #name : #PyramidLibraryContainerPresenter,
- #superclass : #SpPresenter,
- #instVars : [
- 'library',
- 'idGenerator'
- ],
- #classVars : [
- 'IdGenerator'
- ],
- #category : #'Pyramid-Bloc-plugin-tree-library'
-}
-
-{ #category : #accessing }
-PyramidLibraryContainerPresenter class >> makeIdGenerator [
-^ Generator on: [ :generator |
- | index |
- index := 1.
- [
- Character alphabet do: [ :each |
- | next suffix |
- next := each asUppercase asString.
- suffix := index = 1
- ifTrue: [ '' ]
- ifFalse: [ index asString ].
- generator yield: next , suffix ].
- index := index + 1 ] repeat ]
-]
-
-{ #category : #'as yet unclassified' }
-PyramidLibraryContainerPresenter >> buttonAction: aBlock [
-
- library addButton action: aBlock
-]
-
-{ #category : #'as yet unclassified' }
-PyramidLibraryContainerPresenter >> buttonLabel: aString [
-
- library addButton label: aString
-]
-
-{ #category : #initialization }
-PyramidLibraryContainerPresenter >> defaultLayout [
-
- ^ SpBoxLayout newVertical
- spacing: 4;
- add: (SpLabelPresenter new
- label: 'Library';
- displayBold: [ :a | true ];
- yourself)
- expand: false;
- add: (SpBoxLayout newHorizontal
- add: library width: 800;
- yourself)
- height: 400;
- yourself.
-]
-
-{ #category : #requirements }
-PyramidLibraryContainerPresenter >> elementToAdd [
-
- | array |
- array := self library elementToAdd.
- array do: [:each | each id: self idGenerator next; yourself].
- ^ array
-]
-
-{ #category : #accessing }
-PyramidLibraryContainerPresenter >> idGenerator [
-
- idGenerator ifNil: [ idGenerator := self class makeIdGenerator ].
- ^ idGenerator
-]
-
-{ #category : #accessing }
-PyramidLibraryContainerPresenter >> idGenerator: anObject [
-
- idGenerator := anObject
-]
-
-{ #category : #initialization }
-PyramidLibraryContainerPresenter >> initializePresenters [
-
- library := PyramidElementToAddPresenter new.
-
-]
-
-{ #category : #requirements }
-PyramidLibraryContainerPresenter >> library [
-
- ^ library
-]
-
-{ #category : #requirements }
-PyramidLibraryContainerPresenter >> library: aLibrary [
-
- library := aLibrary
-]
diff --git a/src/Pyramid-Bloc/PyramidLibraryController.class.st b/src/Pyramid-Bloc/PyramidLibraryController.class.st
new file mode 100644
index 00000000..cefa8eb3
--- /dev/null
+++ b/src/Pyramid-Bloc/PyramidLibraryController.class.st
@@ -0,0 +1,152 @@
+Class {
+ #name : #PyramidLibraryController,
+ #superclass : #Object,
+ #instVars : [
+ 'library',
+ 'popoverOrigin',
+ 'editor',
+ 'addElementsBlock',
+ 'idGenerator'
+ ],
+ #category : #'Pyramid-Bloc-plugin-navigation'
+}
+
+{ #category : #adding }
+PyramidLibraryController >> addCategories: aCollection [
+
+ self library categoryPresenter items = aCollection ifTrue: [ ^ self ].
+ self library categoryPresenter
+ items: aCollection;
+ selectIndex: 1
+]
+
+{ #category : #accessing }
+PyramidLibraryController >> addElementsBlock [
+
+ ^ addElementsBlock
+]
+
+{ #category : #accessing }
+PyramidLibraryController >> addElementsBlock: anObject [
+
+ addElementsBlock := anObject
+]
+
+{ #category : #adding }
+PyramidLibraryController >> addNewElement: aLibraryElement [
+
+ self addElementsBlock value: aLibraryElement asArray
+]
+
+{ #category : #accessing }
+PyramidLibraryController >> editor [
+
+ ^ editor
+]
+
+{ #category : #accessing }
+PyramidLibraryController >> editor: anObject [
+
+ editor := anObject
+]
+
+{ #category : #'as yet unclassified' }
+PyramidLibraryController >> idGenerator [
+
+ ^ idGenerator
+]
+
+{ #category : #initialization }
+PyramidLibraryController >> initialize [
+
+ addElementsBlock := [ :e | ].
+ idGenerator := Generator on: [ :generator |
+ | index |
+ index := 1.
+ [
+ Character alphabet do: [ :each |
+ | next suffix |
+ next := each asUppercase asString.
+ suffix := index = 1
+ ifTrue: [ '' ]
+ ifFalse: [ index asString ].
+ generator yield: next , suffix ].
+ index := index + 1 ] repeat ]
+]
+
+{ #category : #initialization }
+PyramidLibraryController >> initializeCategories [
+
+ | pragmas sorted |
+ pragmas := Pragma allNamed: #pyramidLibraryCategory:.
+ sorted := pragmas sorted: [ :a :b |
+ a arguments first < b arguments first ].
+ self addCategories: (sorted flatCollect: [ :each |
+ each method
+ receiver: self
+ withArguments: #( )
+ executeMethod: each method ])
+]
+
+{ #category : #accessing }
+PyramidLibraryController >> library [
+
+ ^ library
+]
+
+{ #category : #accessing }
+PyramidLibraryController >> library: anObject [
+
+ library := anObject
+]
+
+{ #category : #'as yet unclassified' }
+PyramidLibraryController >> openForRoot [
+
+ self addElementsBlock: [ :arrayOfElement |
+ self renameElements: arrayOfElement.
+ self editor propertiesManager commandExecutor
+ use: PyramidAddAllToCollectionCommand new
+ on: { self editor projectModel firstLevelElements }
+ with: arrayOfElement ].
+ self openInPopover
+]
+
+{ #category : #'as yet unclassified' }
+PyramidLibraryController >> openForSelection [
+
+ self addElementsBlock: [ :arrayOfElement |
+ self editor propertiesManager commandExecutor
+ use: PyramidAddChildrenCommand new
+ on: self editor projectModel selection
+ with: arrayOfElement ].
+ self openInPopover
+]
+
+{ #category : #'as yet unclassified' }
+PyramidLibraryController >> openInPopover [
+
+ self popoverOrigin ifNil: [ ^ self ].
+ (PyramidPopoverFactory
+ makeWithPresenter: self library
+ relativeTo: self popoverOrigin
+ position: SpPopoverPosition right) popup
+]
+
+{ #category : #accessing }
+PyramidLibraryController >> popoverOrigin [
+
+ ^ popoverOrigin
+]
+
+{ #category : #accessing }
+PyramidLibraryController >> popoverOrigin: anObject [
+
+ popoverOrigin := anObject
+]
+
+{ #category : #'as yet unclassified' }
+PyramidLibraryController >> renameElements: aCollection [
+
+ aCollection do: [ :each | each id: self idGenerator next ]
+]
diff --git a/src/Pyramid-Bloc/PyramidLibraryDefault.class.st b/src/Pyramid-Bloc/PyramidLibraryDefault.class.st
new file mode 100644
index 00000000..80f1efb4
--- /dev/null
+++ b/src/Pyramid-Bloc/PyramidLibraryDefault.class.st
@@ -0,0 +1,105 @@
+Class {
+ #name : #PyramidLibraryDefault,
+ #superclass : #Object,
+ #category : #'Pyramid-Bloc-plugin-navigation'
+}
+
+{ #category : #accessing }
+PyramidLibraryDefault >> defaultCategory [
+
+
+ ^ { (PyramidLibraryCategory new
+ icon: (Smalltalk ui icons iconNamed: #box);
+ name: 'Default';
+ elements: {
+ (PyramidLibraryElement new
+ name: 'Simple element';
+ icon: (Smalltalk ui icons iconNamed: #blank);
+ block: [ {BlElement new background: Color random} ];
+ yourself).
+ (PyramidLibraryElement new
+ name: 'Text element';
+ icon: (Smalltalk ui icons iconNamed: #smallFonts);
+ block: [ {'Change me' asRopedText asElement} ];
+ yourself) };
+ yourself) }
+]
+
+{ #category : #accessing }
+PyramidLibraryDefault >> pragmaCategory: aSymbol withIcon: anIcon [
+
+ | pragmas methods packages categories |
+ pragmas := Pragma allNamed: aSymbol.
+ methods := (pragmas collect: #method) asSet.
+ packages := (methods collect: #package) asSet.
+
+ categories := OrderedCollection new.
+
+ ^ (packages collect: [ :package |
+ | elements |
+ elements := methods
+ select: [ :method | method package = package ]
+ thenCollect: [ :method |
+ PyramidLibraryElement new
+ icon: (Smalltalk ui icons iconNamed:
+ method methodClass soleInstance systemIconName);
+ name: ('<1s> (<2s>)'
+ expandMacrosWith: method selector
+ with: method methodClass name);
+ block: [
+ (method methodClass soleInstance perform:
+ method selector) materializeAsBlElement ];
+ yourself ].
+ PyramidLibraryCategory new
+ name: package name;
+ icon: anIcon;
+ elements: (elements sorted: [ :a :b | a name < b name ]);
+ yourself ]) sorted: [ :a :b | a name < b name ]
+]
+
+{ #category : #accessing }
+PyramidLibraryDefault >> pystashCategory [
+
+
+ ^ PyramidLibraryDefault new
+ pragmaCategory: #pyStash
+ withIcon: (Smalltalk ui icons iconNamed: #smallSave)
+]
+
+{ #category : #accessing }
+PyramidLibraryDefault >> pystonCategory [
+
+
+ ^ PyramidLibraryDefault new
+ pragmaCategory: #pySTON
+ withIcon: (Smalltalk ui icons iconNamed: #smallSave)
+]
+
+{ #category : #accessing }
+PyramidLibraryDefault >> smalltalkIconsCategory [
+
+
+ | elements |
+ elements := OrderedCollection new.
+ elements := Smalltalk ui icons icons associations collect: [ :each |
+ PyramidLibraryElement new
+ icon: each value;
+ name: each key;
+ block: [
+ { (BlElement new
+ size: each value extent;
+ background:
+ (BlImageBackground image:
+ (PyramidExternalRessourceProxy fromSource:
+ (PyramidExternalRessourceSource
+ target: Object
+ selector: #iconNamed:
+ arguments: { each key })));
+ yourself) } ];
+ yourself ].
+ ^ { (PyramidLibraryCategory new
+ name: 'Smalltalk Icons';
+ icon: (Smalltalk ui icons iconNamed: #image);
+ elements: (elements sorted: [ :a :b | a name < b name ]);
+ yourself) }
+]
diff --git a/src/Pyramid-Bloc/PyramidLibraryElement.class.st b/src/Pyramid-Bloc/PyramidLibraryElement.class.st
new file mode 100644
index 00000000..188b0954
--- /dev/null
+++ b/src/Pyramid-Bloc/PyramidLibraryElement.class.st
@@ -0,0 +1,87 @@
+Class {
+ #name : #PyramidLibraryElement,
+ #superclass : #Object,
+ #instVars : [
+ 'name',
+ 'icon',
+ 'block'
+ ],
+ #category : #'Pyramid-Bloc-plugin-navigation'
+}
+
+{ #category : #converting }
+PyramidLibraryElement >> asArray [
+
+ ^ self block value
+]
+
+{ #category : #converting }
+PyramidLibraryElement >> asForm [
+
+ | elements bounds formElement extent bound possibleSizes |
+ elements := self asArray.
+ bounds := elements collect: [ :each | each boundsInLocal ].
+
+ formElement := BlElement new
+ clipChildren: false;
+ size: 800 @ 600;
+ addChildren: self asArray;
+ background: Color white;
+ yourself.
+ formElement forceLayout.
+ extent := (formElement localBoundsToParent:
+ (BlBounds fromRectangle: formElement invalidationBounds))
+ extent.
+ bound := BlBounds
+ left: 0
+ top: 0
+ right: 0
+ bottom: 0.
+ formElement childrenDo: [ :each |
+ bound merge: (each localBoundsToParent:
+ (BlBounds fromRectangle: each invalidationBounds)) ].
+ extent := bound extent.
+ possibleSizes := {
+ (50 @ 50).
+ (240 @ 240).
+ (480 @ 480) } select: [ :each | each >= extent ].
+ possibleSizes ifNotEmpty: [ formElement size: possibleSizes first ].
+
+ ^ formElement exportAsForm
+]
+
+{ #category : #accessing }
+PyramidLibraryElement >> block [
+
+ ^ block
+]
+
+{ #category : #accessing }
+PyramidLibraryElement >> block: anObject [
+
+ block := anObject
+]
+
+{ #category : #accessing }
+PyramidLibraryElement >> icon [
+
+ ^ icon
+]
+
+{ #category : #accessing }
+PyramidLibraryElement >> icon: anObject [
+
+ icon := anObject
+]
+
+{ #category : #accessing }
+PyramidLibraryElement >> name [
+
+ ^ name
+]
+
+{ #category : #accessing }
+PyramidLibraryElement >> name: anObject [
+
+ name := anObject
+]
diff --git a/src/Pyramid-Bloc/PyramidLibraryPresenter.class.st b/src/Pyramid-Bloc/PyramidLibraryPresenter.class.st
new file mode 100644
index 00000000..74b66c54
--- /dev/null
+++ b/src/Pyramid-Bloc/PyramidLibraryPresenter.class.st
@@ -0,0 +1,137 @@
+Class {
+ #name : #PyramidLibraryPresenter,
+ #superclass : #SpPresenter,
+ #instVars : [
+ 'categoryPresenter',
+ 'elementPresenter',
+ 'imagePresenter',
+ 'addButtonPresenter',
+ 'libraryController'
+ ],
+ #category : #'Pyramid-Bloc-plugin-navigation'
+}
+
+{ #category : #accessing }
+PyramidLibraryPresenter >> addButtonPresenter [
+
+ ^ addButtonPresenter
+]
+
+{ #category : #accessing }
+PyramidLibraryPresenter >> categoryPresenter [
+
+ ^ categoryPresenter
+]
+
+{ #category : #initialization }
+PyramidLibraryPresenter >> connectPresenters [
+
+ categoryPresenter
+ transmitTo: elementPresenter
+ transform: [ :category |
+ category ifNil: [ #( ) ] ifNotNil: [ category elements ] ]
+ postTransmission: [ :destination | destination selectIndex: 1 ].
+
+ categoryPresenter items ifEmpty: [ ^ self ].
+ categoryPresenter selectFirst.
+]
+
+{ #category : #accessing }
+PyramidLibraryPresenter >> defaultExtent [
+
+ ^ 600 @ 400
+]
+
+{ #category : #layout }
+PyramidLibraryPresenter >> defaultLayout [
+
+ | panedSelection imageAndButton panedLayout |
+ panedSelection := SpPanedLayout newHorizontal
+ add: self categoryPresenter;
+ add: self elementPresenter;
+ yourself.
+ imageAndButton := SpBoxLayout newVertical
+ add: self imagePresenter expand: true;
+ add: self addButtonPresenter expand: false;
+ yourself.
+ panedLayout := SpPanedLayout newHorizontal
+ positionOfSlider: 2 / 3;
+ add: panedSelection;
+ add: imageAndButton;
+ yourself.
+ ^ SpBoxLayout newVertical
+ add: (SpBoxLayout newHorizontal add: panedLayout width: self defaultExtent x)
+ height: self defaultExtent y
+]
+
+{ #category : #accessing }
+PyramidLibraryPresenter >> elementPresenter [
+
+ ^ elementPresenter
+]
+
+{ #category : #accessing }
+PyramidLibraryPresenter >> imagePresenter [
+
+ ^ imagePresenter
+]
+
+{ #category : #initialization }
+PyramidLibraryPresenter >> initializePresenters [
+
+ libraryController := PyramidLibraryController new
+ library: self;
+ yourself.
+ categoryPresenter := SpTablePresenter new
+ hideColumnHeaders;
+ addColumn: ((SpImageTableColumn
+ title: 'Category-Icon'
+ evaluated: [ :each | each icon ]) width: 20);
+ addColumn: (SpStringTableColumn
+ title: 'Category-Name'
+ evaluated: [ :each | each name ]);
+ yourself.
+ elementPresenter := SpTablePresenter new
+ hideColumnHeaders;
+ addColumn: ((SpImageTableColumn
+ title: 'Element-Icon'
+ evaluated: [ :each | each icon ]) width: 20);
+ addColumn: (SpStringTableColumn
+ title: 'Element-Name'
+ evaluated: [ :each | each name ]);
+ whenSelectedItemChangedDo: [ :e |
+ self addButtonPresenter enabled: e isNotNil.
+ self addButtonPresenter action: [
+ self libraryController addNewElement: e ].
+ e
+ ifNil: [
+ self imagePresenter image:
+ (Form extent: 1 asPoint) ]
+ ifNotNil: [
+ self imagePresenter image: e asForm ] ].
+ imagePresenter := SpImagePresenter new
+ autoScale: true;
+ yourself.
+ addButtonPresenter := SpButtonPresenter new
+ label: 'Add new element';
+ icon: (Smalltalk ui icons iconNamed: #add);
+ enabled: false;
+ yourself.
+ self focusOrder
+ add: categoryPresenter;
+ add: elementPresenter;
+ add: addButtonPresenter
+]
+
+{ #category : #accessing }
+PyramidLibraryPresenter >> libraryController [
+
+ ^ libraryController
+]
+
+{ #category : #accessing }
+PyramidLibraryPresenter >> libraryController: anObject [
+
+ libraryController := anObject.
+ libraryController library: self.
+]
diff --git a/src/Pyramid-Bloc/PyramidNavigationDefaultColumns.class.st b/src/Pyramid-Bloc/PyramidNavigationDefaultColumns.class.st
new file mode 100644
index 00000000..664173d1
--- /dev/null
+++ b/src/Pyramid-Bloc/PyramidNavigationDefaultColumns.class.st
@@ -0,0 +1,100 @@
+Class {
+ #name : #PyramidNavigationDefaultColumns,
+ #superclass : #Object,
+ #category : #'Pyramid-Bloc-plugin-navigation'
+}
+
+{ #category : #column }
+PyramidNavigationDefaultColumns >> columnElevation [
+
+
+ ^ SpStringTableColumn new
+ title: 'z';
+ evaluated: [ :aBlElement |
+ aBlElement elevation elevation = 0
+ ifTrue: [ '' ]
+ ifFalse: [ aBlElement elevation elevation printString ] ];
+ width: 16;
+ yourself
+]
+
+{ #category : #column }
+PyramidNavigationDefaultColumns >> columnHash [
+
+
+ ^ SpStringTableColumn new
+ title: 'Hash';
+ evaluated: [ :aBlElement | aBlElement identityHash printString ];
+ displayColor: [ :aBlElement |
+ aBlElement parentsShouldSerializeChildren
+ ifTrue: [ self theme disabledTextColor ]
+ ifFalse: [ self theme dangerTextColor ] ];
+ width: 60;
+ yourself.
+]
+
+{ #category : #column }
+PyramidNavigationDefaultColumns >> columnIconAndName [
+
+
+ ^ SpCompositeTableColumn new
+ title: 'Elements';
+ addColumn:
+ (SpImageTableColumn evaluated: [ :aBlElement | aBlElement asIcon ]);
+ addColumn: (SpStringTableColumn new
+ title: 'Identifier';
+ displayColor: [ :aBlElement |
+ aBlElement parentsShouldSerializeChildren
+ ifTrue: [ self theme textColor ]
+ ifFalse: [ self theme dangerTextColor ] ];
+ evaluated: [ :aBlElement |
+ aBlElement elementId isNoId
+ ifTrue: [ '@\no name\' ]
+ ifFalse: [ aBlElement id asSymbol ] ];
+ yourself);
+ addColumn: (SpStringTableColumn new
+ title: 'Class';
+ evaluated: [ :aBlElement | aBlElement class name ];
+ displayColor: [ :aBlElement | self theme disabledTextColor ];
+ displayItalic: [ :aBlElement | true ];
+ yourself);
+ yourself
+]
+
+{ #category : #column }
+PyramidNavigationDefaultColumns >> columnVisibility [
+
+
+ ^ SpCompositeTableColumn new
+ title: 'Visibility';
+ width: 80;
+ addColumn: (SpImageTableColumn evaluated: [ :aBlElement |
+ aBlElement
+ allParentsDetect: [ :parent | parent isVisible not ]
+ ifFound: [ :parent |
+ Smalltalk ui icons iconNamed: #uncommentedClass ]
+ ifNone: [ Smalltalk ui icons iconNamed: #blank16 ] ]);
+ addColumn: (SpImageTableColumn evaluated: [ :aBlElement |
+ aBlElement visibility asIcon ]);
+ addColumn: (SpLinkTableColumn new
+ title: 'Visible';
+ url: [ :aBlElement | '' ];
+ action: [ :aBlElement |
+ self flag: #explanations.
+ "self editor is present on the class that will recover the pragma .
+ This class should be: PyramidNavigationTreePresenter."
+ self editor ifNotNil: [ :e |
+ e propertiesManager commandExecutor
+ use: PyramidVisibilityCommand new
+ on: { aBlElement }
+ with: aBlElement visibility nextVisibilityForTree ] ];
+ evaluated: [ :aBlElement | aBlElement visibility asString ];
+ yourself);
+ yourself
+]
+
+{ #category : #accessing }
+PyramidNavigationDefaultColumns >> editor [
+
+ ^ nil
+]
diff --git a/src/Pyramid-Bloc/PyramidNavigationModel.class.st b/src/Pyramid-Bloc/PyramidNavigationModel.class.st
new file mode 100644
index 00000000..94e971d3
--- /dev/null
+++ b/src/Pyramid-Bloc/PyramidNavigationModel.class.st
@@ -0,0 +1,30 @@
+Class {
+ #name : #PyramidNavigationModel,
+ #superclass : #Object,
+ #traits : 'TObservable',
+ #classTraits : 'TObservable classTrait',
+ #instVars : [
+ '#displayAllChildren => ObservableSlot'
+ ],
+ #category : #'Pyramid-Bloc-plugin-navigation'
+}
+
+{ #category : #accessing }
+PyramidNavigationModel >> displayAllChildren [
+
+ ^ displayAllChildren
+]
+
+{ #category : #accessing }
+PyramidNavigationModel >> displayAllChildren: anObject [
+
+ displayAllChildren := anObject
+]
+
+{ #category : #initialization }
+PyramidNavigationModel >> initialize [
+
+ super initialize.
+ self class initializeSlots: self.
+ self property: #displayAllChildren rawValue: false
+]
diff --git a/src/Pyramid-Bloc/PyramidNavigationPanelPresenter.class.st b/src/Pyramid-Bloc/PyramidNavigationPanelPresenter.class.st
new file mode 100644
index 00000000..14ddcd84
--- /dev/null
+++ b/src/Pyramid-Bloc/PyramidNavigationPanelPresenter.class.st
@@ -0,0 +1,5 @@
+Class {
+ #name : #PyramidNavigationPanelPresenter,
+ #superclass : #SpPresenter,
+ #category : #'Pyramid-Bloc-plugin-navigation'
+}
diff --git a/src/Pyramid-Bloc/PyramidNavigationPlugin.class.st b/src/Pyramid-Bloc/PyramidNavigationPlugin.class.st
new file mode 100644
index 00000000..38a6285b
--- /dev/null
+++ b/src/Pyramid-Bloc/PyramidNavigationPlugin.class.st
@@ -0,0 +1,112 @@
+Class {
+ #name : #PyramidNavigationPlugin,
+ #superclass : #Object,
+ #traits : 'TPyramidPlugin',
+ #classTraits : 'TPyramidPlugin classTrait',
+ #instVars : [
+ 'navigation',
+ 'editor'
+ ],
+ #category : #'Pyramid-Bloc-plugin-navigation'
+}
+
+{ #category : #adding }
+PyramidNavigationPlugin >> addPanelsOn: aPyramidSimpleWindow [
+
+ aPyramidSimpleWindow at: #tabLeft addItem: [ :builder |
+ builder
+ makeTab: self navigation
+ label: 'Navigation'
+ icon: (Smalltalk ui icons iconNamed: #catalog)
+ order: 2 ].
+
+ aPyramidSimpleWindow
+ at: #selectionMenu
+ addItem: [ :builder | self menuAddAndDeleteOn: builder ]
+]
+
+{ #category : #connecting }
+PyramidNavigationPlugin >> connectOn: aPyramidEditor [
+
+ editor := aPyramidEditor.
+ self navigation editor: aPyramidEditor.
+ self libraryController popoverOrigin:
+ (aPyramidEditor window services at: #tabLeft) presenter.
+]
+
+{ #category : #initialization }
+PyramidNavigationPlugin >> editor [
+
+ ^ editor
+]
+
+{ #category : #initialization }
+PyramidNavigationPlugin >> initialize [
+
+ super initialize.
+ navigation := PyramidNavigationPresenter new.
+]
+
+{ #category : #accessing }
+PyramidNavigationPlugin >> libraryController [
+
+ ^ self navigation library libraryController
+]
+
+{ #category : #'as yet unclassified' }
+PyramidNavigationPlugin >> menuAddAndDeleteOn: aBuilder [
+
+ aBuilder
+ addGroupEmptySelection: [ :group :empty |
+ group addItem: [ :anItem |
+ anItem
+ name: 'Add element...';
+ help: 'Add a new element on the roots of the design.';
+ icon: (Smalltalk ui icons iconNamed: #add);
+ action: [ self libraryController openForRoot ] ] ]
+ order: 10.
+
+ aBuilder
+ addGroupSingleSelection: [ :group :single |
+ group addItem: [ :anItem |
+ anItem
+ name: 'Add child element...';
+ help: 'Add a new element as a child of the selected element.';
+ icon: (Smalltalk ui icons iconNamed: #add);
+ action: [ self libraryController openForSelection ] ].
+ group addItem: [ :anItem |
+ anItem
+ name: 'Remove element';
+ help: 'Delete the selected element and its content';
+ icon: (Smalltalk ui icons iconNamed: #delete);
+ action: [ self removeSelectedElements ] ] ]
+ order: 10.
+
+ aBuilder
+ addGroupMultiSelection: [ :group :multi |
+ group addItem: [ :anItem |
+ anItem
+ name: 'Remove selection';
+ help: 'Delete all selected elements and their contents';
+ icon: (Smalltalk ui icons iconNamed: #delete);
+ action: [ self removeSelectedElements ] ] ]
+ order: 10
+]
+
+{ #category : #initialization }
+PyramidNavigationPlugin >> navigation [
+
+ ^ navigation
+]
+
+{ #category : #removing }
+PyramidNavigationPlugin >> removeSelectedElements [
+
+ self editor propertiesManager commandExecutor
+ use: PyramidRemoveSelectedElementsCommand new
+ on: self editor projectModel selection
+ with: self editor projectModel firstLevelElements.
+
+ "Update the selection after remove"
+ self editor projectModel updateSelection
+]
diff --git a/src/Pyramid-Bloc/PyramidNavigationPresenter.class.st b/src/Pyramid-Bloc/PyramidNavigationPresenter.class.st
new file mode 100644
index 00000000..1251b351
--- /dev/null
+++ b/src/Pyramid-Bloc/PyramidNavigationPresenter.class.st
@@ -0,0 +1,74 @@
+Class {
+ #name : #PyramidNavigationPresenter,
+ #superclass : #SpPresenter,
+ #instVars : [
+ 'toolPanel',
+ 'selectionPanel',
+ 'navigationModel',
+ 'library'
+ ],
+ #category : #'Pyramid-Bloc-plugin-navigation'
+}
+
+{ #category : #layout }
+PyramidNavigationPresenter >> defaultLayout [
+
+ ^ SpBoxLayout newVertical
+ spacing: 4;
+ add: self toolPanel expand: false;
+ add: self selectionPanel expand: true;
+ yourself
+]
+
+{ #category : #accessing }
+PyramidNavigationPresenter >> editor: aPyramidEditor [
+
+ self toolPanel editor: aPyramidEditor.
+ self selectionPanel editor: aPyramidEditor.
+ self library libraryController editor: aPyramidEditor.
+]
+
+{ #category : #initialization }
+PyramidNavigationPresenter >> initializePresenters [
+
+ library := PyramidLibraryPresenter new.
+ library libraryController initializeCategories.
+ navigationModel := PyramidNavigationModel new.
+ toolPanel := PyramidNavigationToolsPresenter new
+ navigationModel: self navigationModel;
+ library: self library;
+ yourself.
+ selectionPanel := PyramidNavigationTreePresenter new
+ navigationModel: self navigationModel;
+ yourself
+]
+
+{ #category : #accessing }
+PyramidNavigationPresenter >> library [
+
+ ^ library
+]
+
+{ #category : #accessing }
+PyramidNavigationPresenter >> navigationModel [
+
+ ^ navigationModel
+]
+
+{ #category : #api }
+PyramidNavigationPresenter >> roots: aCollection [
+
+ self selectionPanel roots: aCollection
+]
+
+{ #category : #accessing }
+PyramidNavigationPresenter >> selectionPanel [
+
+ ^ selectionPanel
+]
+
+{ #category : #accessing }
+PyramidNavigationPresenter >> toolPanel [
+
+ ^ toolPanel
+]
diff --git a/src/Pyramid-Bloc/PyramidNavigationToolsPresenter.class.st b/src/Pyramid-Bloc/PyramidNavigationToolsPresenter.class.st
new file mode 100644
index 00000000..0ef0ba54
--- /dev/null
+++ b/src/Pyramid-Bloc/PyramidNavigationToolsPresenter.class.st
@@ -0,0 +1,125 @@
+Class {
+ #name : #PyramidNavigationToolsPresenter,
+ #superclass : #SpPresenter,
+ #instVars : [
+ 'library',
+ 'navigationModel',
+ 'addRootButton',
+ 'displayChildrenOptions',
+ 'editor'
+ ],
+ #category : #'Pyramid-Bloc-plugin-navigation'
+}
+
+{ #category : #accessing }
+PyramidNavigationToolsPresenter >> actionAddToRoot [
+
+ self library libraryController openForRoot
+]
+
+{ #category : #accessing }
+PyramidNavigationToolsPresenter >> addRootButton [
+
+ ^ addRootButton
+]
+
+{ #category : #layout }
+PyramidNavigationToolsPresenter >> defaultLayout [
+
+ ^ SpBoxLayout newHorizontal
+ spacing: 4;
+ add: self addRootButton expand: false;
+ add: self displayChildrenOptions expand: true;
+ yourself
+]
+
+{ #category : #accessing }
+PyramidNavigationToolsPresenter >> displayChildrenOptions [
+
+ ^ displayChildrenOptions
+]
+
+{ #category : #accessing }
+PyramidNavigationToolsPresenter >> editor [
+
+ ^ editor
+]
+
+{ #category : #accessing }
+PyramidNavigationToolsPresenter >> editor: anObject [
+
+ editor := anObject
+]
+
+{ #category : #initialization }
+PyramidNavigationToolsPresenter >> initializePresenters [
+
+ addRootButton := SpButtonPresenter new
+ label: 'Add new root';
+ icon: (Smalltalk ui iconNamed: #add);
+ action: [ self actionAddToRoot ];
+ yourself.
+ displayChildrenOptions := SpButtonPresenter new
+ help:
+ 'Show / Hide not serializable children.';
+ yourself
+]
+
+{ #category : #accessing }
+PyramidNavigationToolsPresenter >> library [
+
+ ^ library
+]
+
+{ #category : #accessing }
+PyramidNavigationToolsPresenter >> library: anObject [
+
+ library := anObject
+]
+
+{ #category : #accessing }
+PyramidNavigationToolsPresenter >> navigationModel [
+
+ ^ navigationModel
+]
+
+{ #category : #accessing }
+PyramidNavigationToolsPresenter >> navigationModel: anObject [
+
+ navigationModel := anObject.
+ self updateDisplayChildrenButton
+]
+
+{ #category : #'as yet unclassified' }
+PyramidNavigationToolsPresenter >> updateDisplayChildrenButton [
+
+ self navigationModel displayAllChildren ifTrue: [
+ self updateDisplayChildrenButtonActivate.
+ ^ self ].
+ self updateDisplayChildrenButtonDeactivate.
+
+]
+
+{ #category : #'as yet unclassified' }
+PyramidNavigationToolsPresenter >> updateDisplayChildrenButtonActivate [
+
+ self displayChildrenOptions state: true.
+ self displayChildrenOptions icon:
+ (Smalltalk ui icons iconNamed: #checkboxSelected).
+ self displayChildrenOptions label: 'Show children'.
+ self displayChildrenOptions action: [
+ self navigationModel displayAllChildren: false.
+ self updateDisplayChildrenButton ]
+]
+
+{ #category : #'as yet unclassified' }
+PyramidNavigationToolsPresenter >> updateDisplayChildrenButtonDeactivate [
+
+ self displayChildrenOptions state: false.
+ self displayChildrenOptions icon:
+ (Smalltalk ui icons iconNamed: #checkboxUnselected).
+ self displayChildrenOptions label: 'Hide children'.
+ self displayChildrenOptions action: [
+ self navigationModel displayAllChildren: true.
+ self updateDisplayChildrenButton ]
+]
diff --git a/src/Pyramid-Bloc/PyramidNavigationTreePresenter.class.st b/src/Pyramid-Bloc/PyramidNavigationTreePresenter.class.st
new file mode 100644
index 00000000..31ae702c
--- /dev/null
+++ b/src/Pyramid-Bloc/PyramidNavigationTreePresenter.class.st
@@ -0,0 +1,186 @@
+Class {
+ #name : #PyramidNavigationTreePresenter,
+ #superclass : #SpPresenter,
+ #instVars : [
+ 'navigationModel',
+ 'treeTable',
+ 'editor',
+ 'shouldUpdateSelection'
+ ],
+ #category : #'Pyramid-Bloc-plugin-navigation'
+}
+
+{ #category : #'as yet unclassified' }
+PyramidNavigationTreePresenter >> actionEditorMenu [
+
+ | builder |
+ self editor ifNil: [ ^ SpMenuPresenter new ].
+ builder := (self editor window services at: #selectionMenu) builder.
+ ^ builder menuFor: self editor projectModel selection
+]
+
+{ #category : #'as yet unclassified' }
+PyramidNavigationTreePresenter >> actionSelectionChanged: aSelection [
+
+ self editor ifNil: [ ^ self ].
+ self shouldUpdateSelection ifFalse: [ ^ self ].
+ self shouldUpdateSelection: false.
+ [ self editor projectModel setSelection: aSelection selectedItems ]
+ ensure: [ self shouldUpdateSelection: true ]
+]
+
+{ #category : #initialization }
+PyramidNavigationTreePresenter >> allTreeColumns [
+
+ | pragmas sorted |
+ pragmas := Pragma allNamed: #pyramidNavigationColumn:.
+ sorted := pragmas sorted: [ :a :b |
+ a arguments first < b arguments first ].
+ ^ sorted collect: [ :each |
+ each method
+ receiver: self
+ withArguments: #( )
+ executeMethod: each method ]
+]
+
+{ #category : #private }
+PyramidNavigationTreePresenter >> childrenFor: aBlElement [
+
+ self displayAllChildren ifTrue: [ ^ aBlElement children ].
+ aBlElement shouldSerializedChildren ifTrue: [ ^ aBlElement children ].
+ ^ { }
+]
+
+{ #category : #layout }
+PyramidNavigationTreePresenter >> defaultLayout [
+
+ ^ SpBoxLayout newVertical
+ spacing: 4;
+ add: self treeTable;
+ yourself
+]
+
+{ #category : #accessing }
+PyramidNavigationTreePresenter >> displayAllChildren [
+
+ ^ self navigationModel displayAllChildren
+]
+
+{ #category : #accessing }
+PyramidNavigationTreePresenter >> editor [
+
+ ^ editor
+]
+
+{ #category : #accessing }
+PyramidNavigationTreePresenter >> editor: anObject [
+
+ editor := anObject.
+ editor projectModel announcer
+ when: PyramidElementsChangedEvent
+ do: [ :evt | self updateRoots. self updateSelection ]
+ for: self.
+ editor projectModel announcer
+ when: PyramidFirstLevelElementsChangedEvent
+ do: [ :evt | self updateRoots. ]
+ for: self.
+ editor projectModel announcer
+ when: PyramidSelectionChangedEvent
+ do: [ :evt | self updateSelection ]
+ for: self
+]
+
+{ #category : #initialization }
+PyramidNavigationTreePresenter >> initializePresenters [
+
+ shouldUpdateSelection := true.
+
+ treeTable := SpTreeTablePresenter new.
+ treeTable
+ beMultipleSelection;
+ beResizable;
+ roots: { };
+ children: [ :aBlElement | self childrenFor: aBlElement ];
+ contextMenu: [ self actionEditorMenu ];
+ whenSelectionChangedDo: [ :aSelection |
+ self actionSelectionChanged: aSelection ];
+ expandAll.
+ self allTreeColumns do: [ :each | treeTable addColumn: each ]
+]
+
+{ #category : #accessing }
+PyramidNavigationTreePresenter >> navigationModel [
+
+ ^ navigationModel
+]
+
+{ #category : #accessing }
+PyramidNavigationTreePresenter >> navigationModel: anObject [
+
+ navigationModel := anObject.
+ navigationModel property: #displayAllChildren whenChangedDo: [
+ (self treeTable selection selectedItems
+ allSatisfy: [ :each | each parentsShouldSerializeChildren ])
+ ifTrue: [
+ self treeTable updateRootsKeepingSelection: self treeTable roots ]
+ ifFalse: [ self treeTable roots: self treeTable roots ].
+ self treeTable expandAll ]
+]
+
+{ #category : #api }
+PyramidNavigationTreePresenter >> roots: aCollection [
+
+ self treeTable roots: aCollection
+]
+
+{ #category : #accessing }
+PyramidNavigationTreePresenter >> shouldUpdateSelection [
+
+ ^ shouldUpdateSelection
+]
+
+{ #category : #accessing }
+PyramidNavigationTreePresenter >> shouldUpdateSelection: anObject [
+
+ shouldUpdateSelection := anObject
+]
+
+{ #category : #accessing }
+PyramidNavigationTreePresenter >> treeTable [
+
+ ^ treeTable
+]
+
+{ #category : #'as yet unclassified' }
+PyramidNavigationTreePresenter >> updateRoots [
+
+ | roots parent shouldOrder |
+ self shouldUpdateSelection: false.
+
+ roots := self editor projectModel firstLevelElements asArray.
+ parent := nil.
+
+ "If roots all have the same parent then it should be ordered by the parent children order."
+ shouldOrder := (roots allSatisfy: [ :each |
+ parent ifNil: [ parent := each parent ].
+ each parent = parent ]) and: [
+ parent notNil and: [
+ parent childrenCount = roots size ] ].
+ shouldOrder ifTrue: [ roots := parent children asArray ].
+
+ [ self treeTable roots: roots ] ensure: [
+ self shouldUpdateSelection: true ]
+]
+
+{ #category : #selection }
+PyramidNavigationTreePresenter >> updateSelection [
+
+ self editor projectModel ifNil: [ ^ self ].
+ self shouldUpdateSelection ifFalse: [ ^ self ].
+ self shouldUpdateSelection: false.
+ [
+ self treeTable unselectAll.
+ self editor projectModel selection ifNotEmpty: [ :e |
+ self treeTable selectItems: e ] ] ensure: [
+ self shouldUpdateSelection: true ]
+]
diff --git a/src/Pyramid-Bloc/PyramidRoundedRectangleCornerRadiiCommand.class.st b/src/Pyramid-Bloc/PyramidRoundedRectangleCornerRadiiCommand.class.st
index 52bc71c4..f239660b 100644
--- a/src/Pyramid-Bloc/PyramidRoundedRectangleCornerRadiiCommand.class.st
+++ b/src/Pyramid-Bloc/PyramidRoundedRectangleCornerRadiiCommand.class.st
@@ -7,8 +7,8 @@ Class {
{ #category : #testing }
PyramidRoundedRectangleCornerRadiiCommand >> canBeUsedFor: anObject [
- ^ (anObject class = BlElement or: [
- anObject class inheritsFrom: BlElement ]) and: [ anObject geometry class = BlRoundedRectangleGeometry ]
+ ^ (super canBeUsedFor: anObject) and: [
+ anObject geometry class = BlRoundedRectangleGeometry ]
]
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Bloc/PyramidTreeBaseColumnsBuilder.class.st b/src/Pyramid-Bloc/PyramidTreeBaseColumnsBuilder.class.st
deleted file mode 100644
index cbeb387e..00000000
--- a/src/Pyramid-Bloc/PyramidTreeBaseColumnsBuilder.class.st
+++ /dev/null
@@ -1,94 +0,0 @@
-Class {
- #name : #PyramidTreeBaseColumnsBuilder,
- #superclass : #PyramidAbstractColumnsBuilder,
- #category : #'Pyramid-Bloc-plugin-tree-library'
-}
-
-{ #category : #'as yet unclassified' }
-PyramidTreeBaseColumnsBuilder >> buildOn: aPyramidTreePlugin [
-
- aPyramidTreePlugin addColumns: { self nameAndTypeColumn . self hashColumn . self zIndexColumn . self visibilityColumn }
-]
-
-{ #category : #accessing }
-PyramidTreeBaseColumnsBuilder >> hashColumn [
-
- ^ SpStringTableColumn new
- title: 'Hash';
- evaluated: [ :aBlElement |
- aBlElement identityHash printString ];
- displayColor: [ :aBlElement | Color gray ];
- width: 60;
- yourself
-]
-
-{ #category : #accessing }
-PyramidTreeBaseColumnsBuilder >> nameAndTypeColumn [
-
- ^ SpCompositeTableColumn new
- title: 'Elements';
- addColumn:
- (SpImageTableColumn evaluated: [ :aBlElement | aBlElement asIcon ]);
- addColumn: (SpStringTableColumn new
- title: 'Identifier';
- evaluated: [ :aBlElement |
- aBlElement elementId isNoId
- ifTrue: [ '@\no name\' ]
- ifFalse: [ aBlElement id asSymbol ] ];
- yourself);
- addColumn: (SpStringTableColumn new
- title: 'Class';
- evaluated: [ :aBlElement | aBlElement class name ];
- displayColor: [ :aBlElement | Color gray ];
- displayItalic: [ :aBlElement | true ];
- yourself);
- yourself
-]
-
-{ #category : #initialization }
-PyramidTreeBaseColumnsBuilder >> setVisibility: aBlVisibility of: aBlElement onEditor: aPyramidEditor [
-
- aPyramidEditor propertiesManager commandExecutor
- use: PyramidVisibilityCommand new
- on: { aBlElement }
- with: aBlVisibility
-]
-
-{ #category : #accessing }
-PyramidTreeBaseColumnsBuilder >> visibilityColumn [
-
- ^ SpCompositeTableColumn new
- title: 'Visibility';
- width: 80;
- addColumn: (SpImageTableColumn evaluated: [ :aBlElement |
- aBlElement
- allParentsDetect: [ :parent | parent isVisible not ]
- ifFound: [ :parent | Smalltalk ui icons iconNamed: #uncommentedClass ]
- ifNone: [ Smalltalk ui icons iconNamed: #blank16 ] ]);
- addColumn: (SpImageTableColumn evaluated: [ :aBlElement |
- aBlElement visibility asIcon ]);
- addColumn: (SpLinkTableColumn new
- title: 'Visible';
- url: [ :aBlElement | '' ];
- action: [ :aBlElement |
- self
- setVisibility: aBlElement visibility nextVisibilityForTree
- of: aBlElement
- onEditor: self editor ];
- evaluated: [ :aBlElement | aBlElement visibility asString ];
- yourself);
- yourself
-]
-
-{ #category : #accessing }
-PyramidTreeBaseColumnsBuilder >> zIndexColumn [
-
- ^ SpStringTableColumn new
- title: 'z';
- evaluated: [ :aBlElement |
- aBlElement elevation elevation = 0
- ifTrue: [ '' ]
- ifFalse: [ aBlElement elevation elevation printString ] ];
- width: 16;
- yourself
-]
diff --git a/src/Pyramid-Bloc/PyramidTreePlugin.class.st b/src/Pyramid-Bloc/PyramidTreePlugin.class.st
deleted file mode 100644
index 7fd6ed24..00000000
--- a/src/Pyramid-Bloc/PyramidTreePlugin.class.st
+++ /dev/null
@@ -1,302 +0,0 @@
-Class {
- #name : #PyramidTreePlugin,
- #superclass : #Object,
- #traits : 'TPyramidPlugin + TPyramidElementToAdd',
- #classTraits : 'TPyramidPlugin classTrait + TPyramidElementToAdd classTrait',
- #instVars : [
- 'treePresenter',
- 'editor',
- 'libraryPresenterForElement',
- 'libraryPresenterForRoot'
- ],
- #classVars : [
- 'ColumnsBuildersClasses'
- ],
- #category : #'Pyramid-Bloc-plugin-tree-library'
-}
-
-{ #category : #'as yet unclassified' }
-PyramidTreePlugin class >> addDefaultOnLibrary: library [
-
- | factoryElement factoryTextElement |
-
- factoryElement := PyramidElementToAddFactory new
- elementIcon:
- (Smalltalk ui icons iconNamed: #class);
- elementName: 'Simple Element';
- elementBlock: [ {BlElement new background: Color random; yourself} ];
- yourself.
- factoryTextElement := PyramidElementToAddFactory new
- elementIcon:
- (Smalltalk ui icons iconNamed: #haloFontSize);
- elementName: 'Simple Element';
- elementBlock: [ {BlTextElement new text: 'Change me' asRopedText; yourself} ];
- yourself.
-
- library
- addCategoryWithName: '(Default)'
- withIcon: (Smalltalk ui icons iconNamed: #box)
- withAllFactories: { factoryElement . factoryTextElement } sorted.
-
- ^ library
-]
-
-{ #category : #adding }
-PyramidTreePlugin class >> addOnLibrary: aLibrary [
-
- self addDefaultOnLibrary: aLibrary.
- self addPystonOnLibrary: aLibrary.
- self addPystashOnLibrary: aLibrary
-]
-
-{ #category : #'as yet unclassified' }
-PyramidTreePlugin class >> addPragma: aSymbol onLibrary: aLibrary withIcon: anIcon [
-
- | pragmas methods packages |
- pragmas := Pragma allNamed: aSymbol.
- methods := (pragmas collect: #method) asSet.
- packages := (methods collect: #package) asSet.
-
- packages do: [ :package |
- | factories |
- factories := self factoriesFromMethods: methods inPackage: package.
- factories ifNotEmpty: [ aLibrary
- addCategoryWithName: package name
- withIcon: anIcon
- withAllFactories: factories asArray sorted ]
- ].
-
- ^ aLibrary
-]
-
-{ #category : #'as yet unclassified' }
-PyramidTreePlugin class >> addPystashOnLibrary: library [
-
- ^ self
- addPragma: #pyStash
- onLibrary: library
- withIcon: (Smalltalk ui icons iconNamed: #smallSave).
-]
-
-{ #category : #'as yet unclassified' }
-PyramidTreePlugin class >> addPystonOnLibrary: library [
-
- ^ self
- addPragma: #pySTON
- onLibrary: library
- withIcon: (Smalltalk ui icons iconNamed: #smallSave)
-]
-
-{ #category : #accessing }
-PyramidTreePlugin class >> columnsBuildersClasses [
-
- ColumnsBuildersClasses ifNil: [
- ColumnsBuildersClasses := Set new ].
- ^ ColumnsBuildersClasses
-]
-
-{ #category : #'as yet unclassified' }
-PyramidTreePlugin class >> factoriesFromMethods: methods inPackage: package [
-
- package ifNil: [ ^ { } ].
-
- ^ methods
- select: [ :method |
- method package = package and: [
- method methodClass isObsolete not ] ]
- thenCollect: [ :method |
- PyramidElementToAddFactory new
- elementIcon: (Smalltalk ui icons iconNamed:
- method methodClass soleInstance systemIconName);
- elementName: method selector;
- elementBlock: [
- (method methodClass soleInstance perform: method selector)
- materializeAsBlElement ];
- yourself ]
-]
-
-{ #category : #initialization }
-PyramidTreePlugin class >> install [
- "Do some stuff here when the plugin used class oriented behavior"
-
- self columnsBuildersClasses add: PyramidTreeBaseColumnsBuilder
-]
-
-{ #category : #initialization }
-PyramidTreePlugin >> addColumns: aCollection [
- aCollection do: [ :each | self treePresenter columns add: each ].
- self treePresenter updateTree
-
-
-]
-
-{ #category : #adding }
-PyramidTreePlugin >> addPanelsOn: aPyramidSimpleWindow [
-
- aPyramidSimpleWindow at: #tabLeft addItem: [ :builder |
- builder
- makeTab: self treePresenter
- label: 'Tree'
- icon: (Smalltalk ui icons iconNamed: #catalog)
- order: 1 ].
-
- aPyramidSimpleWindow
- at: #selectionMenu
- addItem: [ :builder | self menuAddAndDeleteOn: builder ]
-]
-
-{ #category : #actions }
-PyramidTreePlugin >> configureBuilder: aPyramidEditorBuilder [
-
- self class columnsBuildersClasses do: [ :each |
- each new
- editor: aPyramidEditorBuilder editor;
- buildOn: self ]
-]
-
-{ #category : #connecting }
-PyramidTreePlugin >> connectOn: aPyramidEditor [
-
- self editor: aPyramidEditor.
-]
-
-{ #category : #accessing }
-PyramidTreePlugin >> editor [
-
- ^ editor
-]
-
-{ #category : #accessing }
-PyramidTreePlugin >> editor: aPyramidEditor [
-
- editor := aPyramidEditor.
- self treePresenter projectModel: aPyramidEditor projectModel.
- self treePresenter editorMenuBuilder:
- (self editor window services at: #selectionMenu) builder
-]
-
-{ #category : #initialization }
-PyramidTreePlugin >> initialize [
-
- self initializeLibraryPresenters.
- treePresenter := PyramidTreePresenter new
- libraryPresenterForRoot:
- self libraryPresenterForRoot;
- yourself
-]
-
-{ #category : #initialization }
-PyramidTreePlugin >> initializeLibraryPresenters [
-
- | idGenerator |
- idGenerator := PyramidLibraryContainerPresenter makeIdGenerator.
- libraryPresenterForElement := PyramidLibraryContainerPresenter new
- idGenerator: idGenerator;
- library: PyramidElementToAddPresenter new;
- buttonLabel: 'Add new child';
- buttonAction: [
- self editor propertiesManager
- commandExecutor
- use: PyramidAddChildrenCommand new
- on:
- self editor projectModel selection
- with:
- libraryPresenterForElement
- elementToAdd ];
- yourself.
- libraryPresenterForRoot := PyramidLibraryContainerPresenter new
- idGenerator: idGenerator;
- library: PyramidElementToAddPresenter new;
- buttonLabel: 'Add new on first level';
- buttonAction: [
- self editor propertiesManager
- commandExecutor
- use:
- PyramidAddAllToCollectionCommand new
- on:
- { self editor projectModel
- firstLevelElements }
- with:
- libraryPresenterForRoot elementToAdd ];
- yourself
-]
-
-{ #category : #'as yet unclassified' }
-PyramidTreePlugin >> libraryPresenterForElement [
-
- ^ libraryPresenterForElement
-]
-
-{ #category : #'as yet unclassified' }
-PyramidTreePlugin >> libraryPresenterForRoot [
-
- ^ libraryPresenterForRoot
-]
-
-{ #category : #'as yet unclassified' }
-PyramidTreePlugin >> menuAddAndDeleteOn: aBuilder [
-
- aBuilder
- addGroupEmptySelection: [ :group :empty |
- group addItem: [ :anItem |
- anItem
- name: 'Add element...';
- help: 'Add a new element on the roots of the design.';
- icon: (Smalltalk ui icons iconNamed: #add);
- action: [
- (PyramidPopoverFactory
- makeWithPresenter: self libraryPresenterForRoot
- relativeTo: self treePresenter
- position: SpPopoverPosition right) popup ] ] ]
- order: 10.
-
- aBuilder
- addGroupSingleSelection: [ :group :single |
- group addItem: [ :anItem |
- anItem
- name: 'Add child element...';
- help: 'Add a new element as a child of the selected element.';
- icon: (Smalltalk ui icons iconNamed: #add);
- action: [
- (PyramidPopoverFactory
- makeWithPresenter: self libraryPresenterForElement
- relativeTo: self treePresenter
- position: SpPopoverPosition right) popup ] ].
- group addItem: [ :anItem |
- anItem
- name: 'Remove element';
- help:
- 'Delete the selected element and its content';
- icon: (Smalltalk ui icons iconNamed: #delete);
- action: [ self removeSelectedElements ] ] ]
- order: 10.
-
- aBuilder
- addGroupMultiSelection: [ :group :multi |
- group addItem: [ :anItem |
- anItem
- name: 'Remove selection';
- help:
- 'Delete all selected elements and their contents';
- icon: (Smalltalk ui icons iconNamed: #delete);
- action: [ self removeSelectedElements ] ] ]
- order: 10
-]
-
-{ #category : #removing }
-PyramidTreePlugin >> removeSelectedElements [
-
- self editor propertiesManager commandExecutor
- use: PyramidRemoveSelectedElementsCommand new
- on: self editor projectModel selection
- with: self editor projectModel firstLevelElements.
-
- "Update the selection after remove"
- self editor projectModel updateSelection
-]
-
-{ #category : #accessing }
-PyramidTreePlugin >> treePresenter [
-
- ^ treePresenter
-]
diff --git a/src/Pyramid-Bloc/PyramidTreePresenter.class.st b/src/Pyramid-Bloc/PyramidTreePresenter.class.st
deleted file mode 100644
index c673328a..00000000
--- a/src/Pyramid-Bloc/PyramidTreePresenter.class.st
+++ /dev/null
@@ -1,227 +0,0 @@
-Class {
- #name : #PyramidTreePresenter,
- #superclass : #SpPresenter,
- #instVars : [
- 'tree',
- 'columns',
- 'libraryPresenterForRoot',
- 'projectModel',
- 'editorMenuBuilder',
- 'shouldUpdateSelection',
- 'buttonAddToFirstLevel'
- ],
- #category : #'Pyramid-Bloc-plugin-tree-library'
-}
-
-{ #category : #'as yet unclassified' }
-PyramidTreePresenter >> actionAddNewElement [
-
- (PyramidPopoverFactory
- makeWithPresenter: self libraryPresenterForRoot
- relativeTo: self buttonAddToFirstLevel
- position: SpPopoverPosition right) popup
-]
-
-{ #category : #'as yet unclassified' }
-PyramidTreePresenter >> actionEditorMenu [
-
- ^ self editorMenuBuilder menuFor: self projectModel selection.
-]
-
-{ #category : #'as yet unclassified' }
-PyramidTreePresenter >> actionSelectionChanged: aCollection [
-
- self projectModel ifNil: [ ^ self ].
- self shouldUpdateSelection ifFalse: [ ^ self ].
- self shouldUpdateSelection: false.
- [self projectModel setSelection: aCollection selectedItems ] ensure: [ self shouldUpdateSelection: true ]
-]
-
-{ #category : #accessing }
-PyramidTreePresenter >> buttonAddToFirstLevel [
-
- ^ buttonAddToFirstLevel
-]
-
-{ #category : #accessing }
-PyramidTreePresenter >> columns [
-
- ^ columns
-]
-
-{ #category : #layout }
-PyramidTreePresenter >> defaultLayout [
-
- ^ SpBoxLayout newVertical
- spacing: 4;
- add: self buttonAddToFirstLevel expand: false;
- add: self tree expand: true;
- yourself
-]
-
-{ #category : #accessing }
-PyramidTreePresenter >> editorMenuBuilder [
-
- ^ editorMenuBuilder
-]
-
-{ #category : #accessing }
-PyramidTreePresenter >> editorMenuBuilder: anObject [
-
- editorMenuBuilder := anObject
-]
-
-{ #category : #initialization }
-PyramidTreePresenter >> initializePresenters [
-
- shouldUpdateSelection := true.
- tree := SpTreeTablePresenter new
- beMultipleSelection;
- beResizable;
- roots: { };
- children: [ :each |
- each shouldSerializedChildren not
- ifTrue: [ { } ]
- ifFalse: [ each children ] ];
- contextMenu: [ self actionEditorMenu ];
- whenSelectionChangedDo: [ :selection |
- self actionSelectionChanged: selection ];
- expandAll.
-
- columns := OrderedCollection new.
-
- buttonAddToFirstLevel := SpButtonPresenter new
- label: 'Add new element';
- icon: (Smalltalk ui icons iconNamed: #add);
- action: [ self actionAddNewElement ];
- help:
- 'Add a new element on the first level of the design.';
- yourself
-]
-
-{ #category : #accessing }
-PyramidTreePresenter >> libraryPresenterForRoot [
-
- ^ libraryPresenterForRoot
-]
-
-{ #category : #accessing }
-PyramidTreePresenter >> libraryPresenterForRoot: anObject [
-
- libraryPresenterForRoot := anObject
-]
-
-{ #category : #accessing }
-PyramidTreePresenter >> projectModel [
-
- ^ projectModel
-]
-
-{ #category : #accessing }
-PyramidTreePresenter >> projectModel: anObject [
-
- projectModel := anObject.
- projectModel announcer
- when: PyramidElementsChangedEvent
- do: [ :evt | self pyramidElementsChanged: evt ]
- for: self.
- projectModel announcer
- when: PyramidFirstLevelElementsChangedEvent
- do: [ :evt | self pyramidFirstLevelElementsChanged: evt ]
- for: self.
- projectModel announcer
- when: PyramidSelectionChangedEvent
- do: [ :evt | self pyramidSelectionChanged: evt ]
- for: self.
-]
-
-{ #category : #'as yet unclassified' }
-PyramidTreePresenter >> pyramidElementsChanged: anEvent [
-
- self updateRoots.
- self selectionHaveChanged ifTrue: [ self updateSelection ]
-]
-
-{ #category : #'as yet unclassified' }
-PyramidTreePresenter >> pyramidFirstLevelElementsChanged: anEvent [
-
- self updateRoots.
- self updateSelection
-]
-
-{ #category : #'as yet unclassified' }
-PyramidTreePresenter >> pyramidSelectionChanged: anEvent [
-
- self updateSelection
-]
-
-{ #category : #'as yet unclassified' }
-PyramidTreePresenter >> selectionHaveChanged [
-
- self tree selectedItems size = self projectModel selection size ifFalse: [
- ^ true ].
- (self tree selectedItems includesAll: self projectModel selection) ifFalse: [
- ^ true ].
- (self projectModel selection includesAll: self tree selectedItems) ifFalse: [
- ^ true ].
- ^ false
-]
-
-{ #category : #accessing }
-PyramidTreePresenter >> shouldUpdateSelection [
-
- ^ shouldUpdateSelection
-]
-
-{ #category : #accessing }
-PyramidTreePresenter >> shouldUpdateSelection: anObject [
-
- shouldUpdateSelection := anObject
-]
-
-{ #category : #accessing }
-PyramidTreePresenter >> tree [
-
- ^ tree
-]
-
-{ #category : #'as yet unclassified' }
-PyramidTreePresenter >> updateRoots [
-
- | roots parent shouldOrder |
- self shouldUpdateSelection: false.
-
- roots := self projectModel firstLevelElements asArray.
- parent := nil.
-
- "If roots all have the same parent then it should be ordered by the parent children order."
- shouldOrder := (roots allSatisfy: [ :each |
- parent ifNil: [ parent := each parent ].
- each parent = parent ]) and: [
- parent notNil and: [
- parent childrenCount = roots size ] ].
- shouldOrder ifTrue: [ roots := parent children asArray ].
-
- [ self tree roots: roots ] ensure: [
- self shouldUpdateSelection: true ]
-]
-
-{ #category : #'as yet unclassified' }
-PyramidTreePresenter >> updateSelection [
-
- self projectModel ifNil: [ ^ self ].
- self shouldUpdateSelection ifFalse: [ ^ self ].
- self shouldUpdateSelection: false.
- [
- self tree unselectAll.
- self projectModel selection
- ifNotEmpty: [ :e | self tree selectItems: e ] ]
- ensure: [ self shouldUpdateSelection: true ]
-]
-
-{ #category : #'as yet unclassified' }
-PyramidTreePresenter >> updateTree [
-
- self tree columns: { }.
- self columns do: [ :each | tree addColumn: each ]
-]
diff --git a/src/Pyramid-Bloc/TPyramidElementToAdd.trait.st b/src/Pyramid-Bloc/TPyramidElementToAdd.trait.st
deleted file mode 100644
index 5c1c6ea3..00000000
--- a/src/Pyramid-Bloc/TPyramidElementToAdd.trait.st
+++ /dev/null
@@ -1,10 +0,0 @@
-Trait {
- #name : #TPyramidElementToAdd,
- #category : #'Pyramid-Bloc-plugin-tree-library'
-}
-
-{ #category : #adding }
-TPyramidElementToAdd classSide >> addOnLibrary: aLibrary [
-
- self shouldBeImplemented
-]
diff --git a/src/Pyramid-Bloc/TPyramidSelectionPanelExtension.trait.st b/src/Pyramid-Bloc/TPyramidSelectionPanelExtension.trait.st
new file mode 100644
index 00000000..2aabf418
--- /dev/null
+++ b/src/Pyramid-Bloc/TPyramidSelectionPanelExtension.trait.st
@@ -0,0 +1,4 @@
+Trait {
+ #name : #TPyramidSelectionPanelExtension,
+ #category : #'Pyramid-Bloc-plugin-navigation'
+}
diff --git a/src/Pyramid-Examples/PyramidSimpleExamples.class.st b/src/Pyramid-Examples/PyramidSimpleExamples.class.st
index cacc39c1..e8c2c0f0 100644
--- a/src/Pyramid-Examples/PyramidSimpleExamples.class.st
+++ b/src/Pyramid-Examples/PyramidSimpleExamples.class.st
@@ -9,15 +9,16 @@ PyramidSimpleExamples class >> imageProxy [
"This class has been generated using Pyramid.
By: YannLEGOFF
- 2024-07-23 09:32:34"
+ 2024-07-30 11:33:02"
- ^ [ {(BlElement new
- id: #A;
+ ^ [ | objectclass1 |
+objectclass1 := Object.
+{(BlElement new
background: (BlImageBackground new
image: (PyramidExternalRessourceProxy new
pyramidExternalRessourceSource: (PyramidExternalRessourceSource new
- target: Object;
+ target: objectclass1;
selector: #iconNamed:;
arguments: {#pharoBig};
yourself);
@@ -26,6 +27,22 @@ PyramidSimpleExamples class >> imageProxy [
yourself);
constraintsDo: [:constraints | constraints horizontal exact: 256.0.
constraints vertical exact: 256.0 ];
+ id: #A;
+ yourself) .
+(BlElement new
+ background: (BlImageBackground new
+ image: (PyramidExternalRessourceProxy new
+ pyramidExternalRessourceSource: (PyramidExternalRessourceSource new
+ target: objectclass1;
+ selector: #iconNamed:;
+ arguments: {#abstract};
+ yourself);
+ yourself);
+ opacity: 1.0;
+ yourself);
+ constraintsDo: [:constraints | constraints horizontal exact: 16.0.
+ constraints vertical exact: 16.0 ];
+ id: #A;
yourself)} ] value
]
diff --git a/src/Pyramid-Tests/PyramidAddChildCommandTest.class.st b/src/Pyramid-Tests/PyramidAddChildCommandTest.class.st
index e67efd17..ad54c577 100644
--- a/src/Pyramid-Tests/PyramidAddChildCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidAddChildCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc'
+ #category : #'Pyramid-Tests-cases-plugin-bloc'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidAddMockCommandTest.class.st b/src/Pyramid-Tests/PyramidAddMockCommandTest.class.st
index eff607cf..f1e52d3b 100644
--- a/src/Pyramid-Tests/PyramidAddMockCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidAddMockCommandTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidAddMockCommandTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-command'
+ #category : #'Pyramid-Tests-cases-command'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidBackgroundImageCommandTest.class.st b/src/Pyramid-Tests/PyramidBackgroundImageCommandTest.class.st
index cdde4fdc..f5308c6b 100644
--- a/src/Pyramid-Tests/PyramidBackgroundImageCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBackgroundImageCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBackgroundOpacityCommandTest.class.st b/src/Pyramid-Tests/PyramidBackgroundOpacityCommandTest.class.st
index 3dff80ca..6f01df3d 100644
--- a/src/Pyramid-Tests/PyramidBackgroundOpacityCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBackgroundOpacityCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBackgroundPaintColorCommandTest.class.st b/src/Pyramid-Tests/PyramidBackgroundPaintColorCommandTest.class.st
index f18471ff..ea72a86d 100644
--- a/src/Pyramid-Tests/PyramidBackgroundPaintColorCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBackgroundPaintColorCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBackgroundPaintCommandTest.class.st b/src/Pyramid-Tests/PyramidBackgroundPaintCommandTest.class.st
index ff09432c..949a9ab7 100644
--- a/src/Pyramid-Tests/PyramidBackgroundPaintCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBackgroundPaintCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBackgroundPaintLinearEndCommandTest.class.st b/src/Pyramid-Tests/PyramidBackgroundPaintLinearEndCommandTest.class.st
index 54e3f26a..116912ab 100644
--- a/src/Pyramid-Tests/PyramidBackgroundPaintLinearEndCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBackgroundPaintLinearEndCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBackgroundPaintLinearStartCommandTest.class.st b/src/Pyramid-Tests/PyramidBackgroundPaintLinearStartCommandTest.class.st
index 2eb0cc4d..31caf284 100644
--- a/src/Pyramid-Tests/PyramidBackgroundPaintLinearStartCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBackgroundPaintLinearStartCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBackgroundPaintRadialInnerCenterCommandTest.class.st b/src/Pyramid-Tests/PyramidBackgroundPaintRadialInnerCenterCommandTest.class.st
index ba48dc8c..aac47749 100644
--- a/src/Pyramid-Tests/PyramidBackgroundPaintRadialInnerCenterCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBackgroundPaintRadialInnerCenterCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBackgroundPaintRadialInnerRadiusCommandTest.class.st b/src/Pyramid-Tests/PyramidBackgroundPaintRadialInnerRadiusCommandTest.class.st
index 80a94e73..b9bfbd44 100644
--- a/src/Pyramid-Tests/PyramidBackgroundPaintRadialInnerRadiusCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBackgroundPaintRadialInnerRadiusCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBackgroundPaintRadialOuterCenterCommandTest.class.st b/src/Pyramid-Tests/PyramidBackgroundPaintRadialOuterCenterCommandTest.class.st
index 12bd8c40..ba329f0d 100644
--- a/src/Pyramid-Tests/PyramidBackgroundPaintRadialOuterCenterCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBackgroundPaintRadialOuterCenterCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBackgroundPaintRadialOuterRadiusCommandTest.class.st b/src/Pyramid-Tests/PyramidBackgroundPaintRadialOuterRadiusCommandTest.class.st
index 4cdaddda..742ef40e 100644
--- a/src/Pyramid-Tests/PyramidBackgroundPaintRadialOuterRadiusCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBackgroundPaintRadialOuterRadiusCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBackgroundPaintStopsCommandTest.class.st b/src/Pyramid-Tests/PyramidBackgroundPaintStopsCommandTest.class.st
index 6e52bb48..284afe89 100644
--- a/src/Pyramid-Tests/PyramidBackgroundPaintStopsCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBackgroundPaintStopsCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBackgroundStopsInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidBackgroundStopsInputPresenterTest.class.st
index efe9c90b..576642a9 100644
--- a/src/Pyramid-Tests/PyramidBackgroundStopsInputPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidBackgroundStopsInputPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBackgroundTypeCommandTest.class.st b/src/Pyramid-Tests/PyramidBackgroundTypeCommandTest.class.st
index b63ada96..b3c75e7b 100644
--- a/src/Pyramid-Tests/PyramidBackgroundTypeCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBackgroundTypeCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBasicConstraintsInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidBasicConstraintsInputPresenterTest.class.st
index e8705ae3..2b2e2fed 100644
--- a/src/Pyramid-Tests/PyramidBasicConstraintsInputPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidBasicConstraintsInputPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBasicExactHorizontalConstraintsBlocCommandTest.class.st b/src/Pyramid-Tests/PyramidBasicExactHorizontalConstraintsBlocCommandTest.class.st
index b439ee0d..ddb32c3c 100644
--- a/src/Pyramid-Tests/PyramidBasicExactHorizontalConstraintsBlocCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBasicExactHorizontalConstraintsBlocCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-layout'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-layout'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBasicExactVerticalConstraintsBlocCommandTest.class.st b/src/Pyramid-Tests/PyramidBasicExactVerticalConstraintsBlocCommandTest.class.st
index 948798f2..a1165f8e 100644
--- a/src/Pyramid-Tests/PyramidBasicExactVerticalConstraintsBlocCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBasicExactVerticalConstraintsBlocCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-layout'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-layout'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBasicHorizontalConstraintsBlocCommandTest.class.st b/src/Pyramid-Tests/PyramidBasicHorizontalConstraintsBlocCommandTest.class.st
index 2cb93cfb..0c34c59c 100644
--- a/src/Pyramid-Tests/PyramidBasicHorizontalConstraintsBlocCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBasicHorizontalConstraintsBlocCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-layout'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-layout'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBasicVerticalConstraintsBlocCommandTest.class.st b/src/Pyramid-Tests/PyramidBasicVerticalConstraintsBlocCommandTest.class.st
index 039f399c..6bd1493e 100644
--- a/src/Pyramid-Tests/PyramidBasicVerticalConstraintsBlocCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBasicVerticalConstraintsBlocCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-layout'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-layout'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBorderDashArrayCommandTest.class.st b/src/Pyramid-Tests/PyramidBorderDashArrayCommandTest.class.st
index f55b988d..618ef42f 100644
--- a/src/Pyramid-Tests/PyramidBorderDashArrayCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBorderDashArrayCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBorderDashOffsetCommandTest.class.st b/src/Pyramid-Tests/PyramidBorderDashOffsetCommandTest.class.st
index 17480fae..a7d65f33 100644
--- a/src/Pyramid-Tests/PyramidBorderDashOffsetCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBorderDashOffsetCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBorderLineCapCommandTest.class.st b/src/Pyramid-Tests/PyramidBorderLineCapCommandTest.class.st
index 8e5f3bee..dce90ad7 100644
--- a/src/Pyramid-Tests/PyramidBorderLineCapCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBorderLineCapCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBorderLineJoinCommandTest.class.st b/src/Pyramid-Tests/PyramidBorderLineJoinCommandTest.class.st
index 4e5db5ec..fef84f1f 100644
--- a/src/Pyramid-Tests/PyramidBorderLineJoinCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBorderLineJoinCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBorderMiterLimitCommandTest.class.st b/src/Pyramid-Tests/PyramidBorderMiterLimitCommandTest.class.st
index 0697b6c0..f4ddb511 100644
--- a/src/Pyramid-Tests/PyramidBorderMiterLimitCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBorderMiterLimitCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBorderOpacityCommandTest.class.st b/src/Pyramid-Tests/PyramidBorderOpacityCommandTest.class.st
index e31aa4b0..77ba3328 100644
--- a/src/Pyramid-Tests/PyramidBorderOpacityCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBorderOpacityCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidBorderTypeCommandTest.class.st b/src/Pyramid-Tests/PyramidBorderTypeCommandTest.class.st
index 9d79abf9..cc091120 100644
--- a/src/Pyramid-Tests/PyramidBorderTypeCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidBorderTypeCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidChangeOrderWithIndexCommandTest.class.st b/src/Pyramid-Tests/PyramidChangeOrderWithIndexCommandTest.class.st
index 7703a770..3f304800 100644
--- a/src/Pyramid-Tests/PyramidChangeOrderWithIndexCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidChangeOrderWithIndexCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-order'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-order'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidChangeTextCommandTest.class.st b/src/Pyramid-Tests/PyramidChangeTextCommandTest.class.st
index bc1edb85..18dd1eb5 100644
--- a/src/Pyramid-Tests/PyramidChangeTextCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidChangeTextCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-text'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-text'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidClipChildrenCommandTest.class.st b/src/Pyramid-Tests/PyramidClipChildrenCommandTest.class.st
index b40c9836..07f02a09 100644
--- a/src/Pyramid-Tests/PyramidClipChildrenCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidClipChildrenCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc'
+ #category : #'Pyramid-Tests-cases-plugin-bloc'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidCollectionWithCallbacksTest.class.st b/src/Pyramid-Tests/PyramidCollectionWithCallbacksTest.class.st
index adcd50c9..207bcdd4 100644
--- a/src/Pyramid-Tests/PyramidCollectionWithCallbacksTest.class.st
+++ b/src/Pyramid-Tests/PyramidCollectionWithCallbacksTest.class.st
@@ -5,7 +5,7 @@ Class {
'valueToCheck',
'collection'
],
- #category : 'Pyramid-Tests-cases-models'
+ #category : #'Pyramid-Tests-cases-models'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidColorInputMultiLinesPresenterTest.class.st b/src/Pyramid-Tests/PyramidColorInputMultiLinesPresenterTest.class.st
index adf3bae6..2f26fe58 100644
--- a/src/Pyramid-Tests/PyramidColorInputMultiLinesPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidColorInputMultiLinesPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidColorInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidColorInputPresenterTest.class.st
index 1c58b8cc..6f5c1cfc 100644
--- a/src/Pyramid-Tests/PyramidColorInputPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidColorInputPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidColorInputSingleLinePresenterTest.class.st b/src/Pyramid-Tests/PyramidColorInputSingleLinePresenterTest.class.st
index 284dd6c6..6c1bd946 100644
--- a/src/Pyramid-Tests/PyramidColorInputSingleLinePresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidColorInputSingleLinePresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidColorInputSingleLineWithPickupButtonPresenterTest.class.st b/src/Pyramid-Tests/PyramidColorInputSingleLineWithPickupButtonPresenterTest.class.st
index b6ba2ca0..c8cfa5c3 100644
--- a/src/Pyramid-Tests/PyramidColorInputSingleLineWithPickupButtonPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidColorInputSingleLineWithPickupButtonPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidCommandTest.class.st b/src/Pyramid-Tests/PyramidCommandTest.class.st
index 47d2cc06..8403402a 100644
--- a/src/Pyramid-Tests/PyramidCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidCommandTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidCommandTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-command'
+ #category : #'Pyramid-Tests-cases-command'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidCommandTestContainer.class.st b/src/Pyramid-Tests/PyramidCommandTestContainer.class.st
index 17bc1f0f..a9f8912a 100644
--- a/src/Pyramid-Tests/PyramidCommandTestContainer.class.st
+++ b/src/Pyramid-Tests/PyramidCommandTestContainer.class.st
@@ -6,7 +6,7 @@ Class {
'targetWithProp',
'prop'
],
- #category : 'Pyramid-Tests-cases-command'
+ #category : #'Pyramid-Tests-cases-command'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Tests/PyramidContextMenuPluginTest.class.st b/src/Pyramid-Tests/PyramidContextMenuPluginTest.class.st
index 262fddcf..f099b03f 100644
--- a/src/Pyramid-Tests/PyramidContextMenuPluginTest.class.st
+++ b/src/Pyramid-Tests/PyramidContextMenuPluginTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidContextMenuPluginTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-plugin-context-menu'
+ #category : #'Pyramid-Tests-cases-plugin-context-menu'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidCopyPastePluginTest.class.st b/src/Pyramid-Tests/PyramidCopyPastePluginTest.class.st
index d00a9d3e..f4f63696 100644
--- a/src/Pyramid-Tests/PyramidCopyPastePluginTest.class.st
+++ b/src/Pyramid-Tests/PyramidCopyPastePluginTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidCopyPastePluginTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-plugin-copy'
+ #category : #'Pyramid-Tests-cases-plugin-copy'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidCornerRadiiInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidCornerRadiiInputPresenterTest.class.st
index 8338fb3e..cf93277f 100644
--- a/src/Pyramid-Tests/PyramidCornerRadiiInputPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidCornerRadiiInputPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-geometry'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-geometry'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidDecreaseMockCommand.class.st b/src/Pyramid-Tests/PyramidDecreaseMockCommand.class.st
index 07a22d3e..6e1c22c6 100644
--- a/src/Pyramid-Tests/PyramidDecreaseMockCommand.class.st
+++ b/src/Pyramid-Tests/PyramidDecreaseMockCommand.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidDecreaseMockCommand,
#superclass : #PyramidMockCommand,
- #category : 'Pyramid-Tests-cases-command'
+ #category : #'Pyramid-Tests-cases-command'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Tests/PyramidDynamicLayoutStrategyTest.class.st b/src/Pyramid-Tests/PyramidDynamicLayoutStrategyTest.class.st
index 5d9588bc..11469e58 100644
--- a/src/Pyramid-Tests/PyramidDynamicLayoutStrategyTest.class.st
+++ b/src/Pyramid-Tests/PyramidDynamicLayoutStrategyTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidDynamicLayoutStrategyTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-plugin-dynamic-layout'
+ #category : #'Pyramid-Tests-cases-plugin-dynamic-layout'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidEditorBuilderTest.class.st b/src/Pyramid-Tests/PyramidEditorBuilderTest.class.st
index 9fef616f..76a3d469 100644
--- a/src/Pyramid-Tests/PyramidEditorBuilderTest.class.st
+++ b/src/Pyramid-Tests/PyramidEditorBuilderTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidEditorBuilderTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-core'
+ #category : #'Pyramid-Tests-cases-core'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidEditorTest.class.st b/src/Pyramid-Tests/PyramidEditorTest.class.st
index bdee6a3c..baab7d2e 100644
--- a/src/Pyramid-Tests/PyramidEditorTest.class.st
+++ b/src/Pyramid-Tests/PyramidEditorTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidEditorTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-core'
+ #category : #'Pyramid-Tests-cases-core'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidElementIdCommandTest.class.st b/src/Pyramid-Tests/PyramidElementIdCommandTest.class.st
index 77217d3e..b235dc3b 100644
--- a/src/Pyramid-Tests/PyramidElementIdCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidElementIdCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc'
+ #category : #'Pyramid-Tests-cases-plugin-bloc'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidElementIdSortFunctionTest.class.st b/src/Pyramid-Tests/PyramidElementIdSortFunctionTest.class.st
index 21a5bb51..46f21802 100644
--- a/src/Pyramid-Tests/PyramidElementIdSortFunctionTest.class.st
+++ b/src/Pyramid-Tests/PyramidElementIdSortFunctionTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidElementIdSortFunctionTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-bloc-utils'
+ #category : #'Pyramid-Tests-cases-bloc-utils'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidElementsManipulationHelperTest.class.st b/src/Pyramid-Tests/PyramidElementsManipulationHelperTest.class.st
index 3a6ea220..691ca691 100644
--- a/src/Pyramid-Tests/PyramidElementsManipulationHelperTest.class.st
+++ b/src/Pyramid-Tests/PyramidElementsManipulationHelperTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidElementsManipulationHelperTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-bloc-utils'
+ #category : #'Pyramid-Tests-cases-bloc-utils'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Tests/PyramidElevationSortFunctionTest.class.st b/src/Pyramid-Tests/PyramidElevationSortFunctionTest.class.st
index 4609c119..9ad0b773 100644
--- a/src/Pyramid-Tests/PyramidElevationSortFunctionTest.class.st
+++ b/src/Pyramid-Tests/PyramidElevationSortFunctionTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidElevationSortFunctionTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-bloc-utils'
+ #category : #'Pyramid-Tests-cases-bloc-utils'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidExternalRessourceDummyForTest.class.st b/src/Pyramid-Tests/PyramidExternalRessourceDummyForTest.class.st
index 66fc643e..c23baa5c 100644
--- a/src/Pyramid-Tests/PyramidExternalRessourceDummyForTest.class.st
+++ b/src/Pyramid-Tests/PyramidExternalRessourceDummyForTest.class.st
@@ -4,7 +4,7 @@ Class {
#instVars : [
'dummyValue'
],
- #category : 'Pyramid-Tests-cases-external-ressources'
+ #category : #'Pyramid-Tests-cases-external-ressources'
}
{ #category : #'tests - other' }
diff --git a/src/Pyramid-Tests/PyramidExternalRessourceProxyTest.class.st b/src/Pyramid-Tests/PyramidExternalRessourceProxyTest.class.st
index 40d6c889..53319120 100644
--- a/src/Pyramid-Tests/PyramidExternalRessourceProxyTest.class.st
+++ b/src/Pyramid-Tests/PyramidExternalRessourceProxyTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidExternalRessourceProxyTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-external-ressources'
+ #category : #'Pyramid-Tests-cases-external-ressources'
}
{ #category : #'tests - other' }
diff --git a/src/Pyramid-Tests/PyramidExternalRessourceSourceTest.class.st b/src/Pyramid-Tests/PyramidExternalRessourceSourceTest.class.st
index 41367f7c..5007962a 100644
--- a/src/Pyramid-Tests/PyramidExternalRessourceSourceTest.class.st
+++ b/src/Pyramid-Tests/PyramidExternalRessourceSourceTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidExternalRessourceSourceTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-external-ressources'
+ #category : #'Pyramid-Tests-cases-external-ressources'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidFakeExtension.class.st b/src/Pyramid-Tests/PyramidFakeExtension.class.st
index 55d5a239..72a83283 100644
--- a/src/Pyramid-Tests/PyramidFakeExtension.class.st
+++ b/src/Pyramid-Tests/PyramidFakeExtension.class.st
@@ -6,7 +6,7 @@ Class {
'editor',
'projectModel'
],
- #category : 'Pyramid-Tests-cases-plugin-space'
+ #category : #'Pyramid-Tests-cases-plugin-space'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidFakePlugin.class.st b/src/Pyramid-Tests/PyramidFakePlugin.class.st
index 8197d415..34d9e9fe 100644
--- a/src/Pyramid-Tests/PyramidFakePlugin.class.st
+++ b/src/Pyramid-Tests/PyramidFakePlugin.class.st
@@ -6,7 +6,7 @@ Class {
'configureBuilder',
'connectOn'
],
- #category : 'Pyramid-Tests-cases-core'
+ #category : #'Pyramid-Tests-cases-core'
}
{ #category : #asserting }
diff --git a/src/Pyramid-Tests/PyramidFakePluginThatShouldNotBeInstalled.class.st b/src/Pyramid-Tests/PyramidFakePluginThatShouldNotBeInstalled.class.st
index 3a2a9971..7f726cff 100644
--- a/src/Pyramid-Tests/PyramidFakePluginThatShouldNotBeInstalled.class.st
+++ b/src/Pyramid-Tests/PyramidFakePluginThatShouldNotBeInstalled.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidFakePluginThatShouldNotBeInstalled,
#superclass : #PyramidFakePlugin,
- #category : 'Pyramid-Tests-cases-core'
+ #category : #'Pyramid-Tests-cases-core'
}
{ #category : #asserting }
diff --git a/src/Pyramid-Tests/PyramidFakePropertyForTestStrategy.class.st b/src/Pyramid-Tests/PyramidFakePropertyForTestStrategy.class.st
index 22be45a7..13d1a2f2 100644
--- a/src/Pyramid-Tests/PyramidFakePropertyForTestStrategy.class.st
+++ b/src/Pyramid-Tests/PyramidFakePropertyForTestStrategy.class.st
@@ -4,7 +4,7 @@ Class {
#instVars : [
'properties'
],
- #category : 'Pyramid-Tests-cases-property'
+ #category : #'Pyramid-Tests-cases-property'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Tests/PyramidFlowLayoutOrientationPresenterTest.class.st b/src/Pyramid-Tests/PyramidFlowLayoutOrientationPresenterTest.class.st
index ddc86103..a112b867 100644
--- a/src/Pyramid-Tests/PyramidFlowLayoutOrientationPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidFlowLayoutOrientationPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidFontSizeCommandTest.class.st b/src/Pyramid-Tests/PyramidFontSizeCommandTest.class.st
index b49ff25f..effab2f4 100644
--- a/src/Pyramid-Tests/PyramidFontSizeCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidFontSizeCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidFontAttributeCommandTest',
#classTraits : 'TPyramidFontAttributeCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-text'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-text'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Tests/PyramidFontWeightCommandTest.class.st b/src/Pyramid-Tests/PyramidFontWeightCommandTest.class.st
index 68850859..ca2f6b2e 100644
--- a/src/Pyramid-Tests/PyramidFontWeightCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidFontWeightCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidFontAttributeCommandTest',
#classTraits : 'TPyramidFontAttributeCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-text'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-text'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Tests/PyramidGeometryCommandTest.class.st b/src/Pyramid-Tests/PyramidGeometryCommandTest.class.st
index f695265b..070c4ad8 100644
--- a/src/Pyramid-Tests/PyramidGeometryCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidGeometryCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-geometry'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-geometry'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidGeometryInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidGeometryInputPresenterTest.class.st
index 857adf03..c2052534 100644
--- a/src/Pyramid-Tests/PyramidGeometryInputPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidGeometryInputPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-geometry'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-geometry'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidGroupCommandTest.class.st b/src/Pyramid-Tests/PyramidGroupCommandTest.class.st
index 60691f0a..8ba4c0db 100644
--- a/src/Pyramid-Tests/PyramidGroupCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidGroupCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-group'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-group'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidHistoryTest.class.st b/src/Pyramid-Tests/PyramidHistoryTest.class.st
index 62920c46..9018bea2 100644
--- a/src/Pyramid-Tests/PyramidHistoryTest.class.st
+++ b/src/Pyramid-Tests/PyramidHistoryTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidHistoryTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-history'
+ #category : #'Pyramid-Tests-cases-history'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidHorizontalFrameConstraintsInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidHorizontalFrameConstraintsInputPresenterTest.class.st
index 15f7f340..e50b71f6 100644
--- a/src/Pyramid-Tests/PyramidHorizontalFrameConstraintsInputPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidHorizontalFrameConstraintsInputPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidIncreaseMockCommand.class.st b/src/Pyramid-Tests/PyramidIncreaseMockCommand.class.st
index b54ed72f..cd869468 100644
--- a/src/Pyramid-Tests/PyramidIncreaseMockCommand.class.st
+++ b/src/Pyramid-Tests/PyramidIncreaseMockCommand.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidIncreaseMockCommand,
#superclass : #PyramidMockCommand,
- #category : 'Pyramid-Tests-cases-command'
+ #category : #'Pyramid-Tests-cases-command'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Tests/PyramidInsetsInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidInsetsInputPresenterTest.class.st
index 6b2af84d..54a093d6 100644
--- a/src/Pyramid-Tests/PyramidInsetsInputPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidInsetsInputPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidLayoutBlocCommandTest.class.st b/src/Pyramid-Tests/PyramidLayoutBlocCommandTest.class.st
index 79249f60..9482a8d8 100644
--- a/src/Pyramid-Tests/PyramidLayoutBlocCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidLayoutBlocCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-layout'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-layout'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidLayoutChangeOrientationCommandTest.class.st b/src/Pyramid-Tests/PyramidLayoutChangeOrientationCommandTest.class.st
index d33a5f94..b0e2e9e5 100644
--- a/src/Pyramid-Tests/PyramidLayoutChangeOrientationCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidLayoutChangeOrientationCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-layout'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-layout'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidLibraryControllerTest.class.st b/src/Pyramid-Tests/PyramidLibraryControllerTest.class.st
new file mode 100644
index 00000000..f6ff79b7
--- /dev/null
+++ b/src/Pyramid-Tests/PyramidLibraryControllerTest.class.st
@@ -0,0 +1,80 @@
+Class {
+ #name : #PyramidLibraryControllerTest,
+ #superclass : #TestCase,
+ #category : #'Pyramid-Tests-cases-plugin-navigation'
+}
+
+{ #category : #tests }
+PyramidLibraryControllerTest >> testOpenForRoot [
+ "We generate a bunch of id and we verify that none are the same"
+
+ | controller editor element |
+ controller := PyramidLibraryController new.
+ editor := PyramidEditor new.
+ controller editor: editor.
+ element := PyramidLibraryElement new
+ block: [
+ {
+ BlElement new.
+ BlElement new.
+ BlElement new.
+ BlElement new.
+ BlElement new } ];
+ yourself.
+ self assert: editor projectModel firstLevelElements size equals: 0.
+ self assert: editor projectModel selection size equals: 0.
+
+ controller openForRoot.
+ controller addNewElement: element.
+ self assert: editor projectModel firstLevelElements size equals: 5.
+ self assert: editor projectModel selection size equals: 0.
+]
+
+{ #category : #tests }
+PyramidLibraryControllerTest >> testOpenForSelection [
+
+ | controller editor element selectedElement |
+ controller := PyramidLibraryController new.
+ editor := PyramidEditor new.
+ controller editor: editor.
+ element := PyramidLibraryElement new
+ block: [
+ {
+ BlElement new.
+ BlElement new.
+ BlElement new.
+ BlElement new.
+ BlElement new } ];
+ yourself.
+ selectedElement := BlElement new.
+ editor projectModel selection add: selectedElement.
+ self assert: editor projectModel firstLevelElements size equals: 0.
+ self assert: selectedElement children size equals: 0.
+
+ controller openForRoot.
+ controller addNewElement: element.
+ self assert: editor projectModel firstLevelElements size equals: 5.
+ self assert: selectedElement children size equals: 0
+]
+
+{ #category : #tests }
+PyramidLibraryControllerTest >> testRenameElements [
+ "We generate a bunch of id and we verify that none are the same"
+
+ | controller elementIds elements |
+ controller := PyramidLibraryController new.
+ elements := {
+ BlElement new.
+ BlElement new.
+ BlElement new.
+ BlElement new.
+ BlElement new }.
+
+ elementIds := Bag new.
+ 1 to: 200 do: [ :i |
+ controller renameElements: elements.
+ elementIds addAll: (elements collect: [ :each | each id asSymbol ]) ].
+
+ self assert: elementIds size equals: 1000.
+ self assert: elementIds asSet size equals: 1000
+]
diff --git a/src/Pyramid-Tests/PyramidLibraryPresenterTest.class.st b/src/Pyramid-Tests/PyramidLibraryPresenterTest.class.st
deleted file mode 100644
index 24909076..00000000
--- a/src/Pyramid-Tests/PyramidLibraryPresenterTest.class.st
+++ /dev/null
@@ -1,41 +0,0 @@
-Class {
- #name : #PyramidLibraryPresenterTest,
- #superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-plugin-tree-library'
-}
-
-{ #category : #tests }
-PyramidLibraryPresenterTest >> testIdGenerator [
- "We generate a bunch of id and we verify that none are the same"
-
- | treePlugin libraryPresForElements libraryPresForFirstLevel elementIds |
- treePlugin := PyramidTreePlugin new.
- libraryPresForElements := treePlugin libraryPresenterForElement.
- libraryPresForFirstLevel := treePlugin libraryPresenterForRoot.
- libraryPresForElements library currentFactory:
- (PyramidElementToAddFactory new
- elementBlock: [
- {
- BlElement new.
- BlElement new } ];
- yourself).
- libraryPresForFirstLevel library currentFactory:
- (PyramidElementToAddFactory new
- elementBlock: [
- {
- BlElement new.
- BlElement new } ];
- yourself).
-
- elementIds := Bag new.
- 1 to: 100 do: [ :i |
- elementIds addAll:
- (libraryPresForElements elementToAdd collect: [ :each |
- each id asSymbol ]) ].
- 1 to: 100 do: [ :i |
- elementIds addAll:
- (libraryPresForFirstLevel elementToAdd collect: [ :each |
- each id asSymbol ]) ].
- self assert: elementIds size equals: 400.
- self assert: elementIds asSet size equals: 400.
-]
diff --git a/src/Pyramid-Tests/PyramidLinearLayoutOrientationPresenterTest.class.st b/src/Pyramid-Tests/PyramidLinearLayoutOrientationPresenterTest.class.st
index e0e1a2d8..65542524 100644
--- a/src/Pyramid-Tests/PyramidLinearLayoutOrientationPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidLinearLayoutOrientationPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidMagicButtonsInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidMagicButtonsInputPresenterTest.class.st
index 500e5a9e..65ddba88 100644
--- a/src/Pyramid-Tests/PyramidMagicButtonsInputPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidMagicButtonsInputPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidMarginCommandTest.class.st b/src/Pyramid-Tests/PyramidMarginCommandTest.class.st
index a3e61636..1ff7ea4b 100644
--- a/src/Pyramid-Tests/PyramidMarginCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidMarginCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc'
+ #category : #'Pyramid-Tests-cases-plugin-bloc'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidMockCommand.class.st b/src/Pyramid-Tests/PyramidMockCommand.class.st
index 12609a9b..752d6f2b 100644
--- a/src/Pyramid-Tests/PyramidMockCommand.class.st
+++ b/src/Pyramid-Tests/PyramidMockCommand.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidMockCommand,
#superclass : #PyramidCommand,
- #category : 'Pyramid-Tests-cases-command'
+ #category : #'Pyramid-Tests-cases-command'
}
{ #category : #testing }
diff --git a/src/Pyramid-Tests/PyramidMockObjectForTest.class.st b/src/Pyramid-Tests/PyramidMockObjectForTest.class.st
index 8022b1aa..a9bceb18 100644
--- a/src/Pyramid-Tests/PyramidMockObjectForTest.class.st
+++ b/src/Pyramid-Tests/PyramidMockObjectForTest.class.st
@@ -4,7 +4,7 @@ Class {
#instVars : [
'count'
],
- #category : 'Pyramid-Tests-cases-command'
+ #category : #'Pyramid-Tests-cases-command'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidMoveBackwardOrderCommandTest.class.st b/src/Pyramid-Tests/PyramidMoveBackwardOrderCommandTest.class.st
index f114ad5f..beae1f5e 100644
--- a/src/Pyramid-Tests/PyramidMoveBackwardOrderCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidMoveBackwardOrderCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-order'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-order'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Tests/PyramidMoveForwardOrderCommandTest.class.st b/src/Pyramid-Tests/PyramidMoveForwardOrderCommandTest.class.st
index 2c869ad5..876ebefa 100644
--- a/src/Pyramid-Tests/PyramidMoveForwardOrderCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidMoveForwardOrderCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-order'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-order'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Tests/PyramidNavigationPluginTest.class.st b/src/Pyramid-Tests/PyramidNavigationPluginTest.class.st
new file mode 100644
index 00000000..0cf17884
--- /dev/null
+++ b/src/Pyramid-Tests/PyramidNavigationPluginTest.class.st
@@ -0,0 +1,33 @@
+Class {
+ #name : #PyramidNavigationPluginTest,
+ #superclass : #TestCase,
+ #category : #'Pyramid-Tests-cases-plugin-navigation'
+}
+
+{ #category : #tests }
+PyramidNavigationPluginTest >> testRemoveSelectedElements [
+
+ | plugin editor e1 e2 e3 |
+ e1 := BlElement new.
+ e2 := BlElement new.
+ e3 := BlElement new.
+ editor := PyramidEditor new.
+ editor window: PyramidSimpleWindow new.
+ plugin := PyramidNavigationPlugin new.
+ plugin connectOn: editor.
+ editor projectModel firstLevelElements addAll: {
+ e1.
+ e2.
+ e3 }.
+ editor projectModel setSelection: {
+ e1.
+ e2 }.
+ self assert: plugin navigation selectionPanel treeTable selectedItems size equals: 2.
+ self assert: (plugin navigation selectionPanel treeTable selectedItems includes: e1).
+ self assert: (plugin navigation selectionPanel treeTable selectedItems includes: e2).
+ plugin removeSelectedElements.
+ self assert: plugin navigation selectionPanel treeTable selectedItems size equals: 0.
+ self assert: editor projectModel selection size equals: 0.
+ self assert: editor projectModel firstLevelElements size equals: 1.
+ self assert: editor projectModel firstLevelElements first equals: e3
+]
diff --git a/src/Pyramid-Tests/PyramidNumberArrayInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidNumberArrayInputPresenterTest.class.st
index 6b6e3058..cb1df03e 100644
--- a/src/Pyramid-Tests/PyramidNumberArrayInputPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidNumberArrayInputPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidNumberInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidNumberInputPresenterTest.class.st
index 28a63f86..85744a89 100644
--- a/src/Pyramid-Tests/PyramidNumberInputPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidNumberInputPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidOnBackgroundOrderCommandTest.class.st b/src/Pyramid-Tests/PyramidOnBackgroundOrderCommandTest.class.st
index 77ade9ab..0e57fc9e 100644
--- a/src/Pyramid-Tests/PyramidOnBackgroundOrderCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidOnBackgroundOrderCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-order'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-order'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidOnForegroundOrderCommandTest.class.st b/src/Pyramid-Tests/PyramidOnForegroundOrderCommandTest.class.st
index 265bf52b..dfd10ec8 100644
--- a/src/Pyramid-Tests/PyramidOnForegroundOrderCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidOnForegroundOrderCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-order'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-order'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidOpacityCommandTest.class.st b/src/Pyramid-Tests/PyramidOpacityCommandTest.class.st
index 46ffe7c2..15abba92 100644
--- a/src/Pyramid-Tests/PyramidOpacityCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidOpacityCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-visuals'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-visuals'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidPaddingCommandTest.class.st b/src/Pyramid-Tests/PyramidPaddingCommandTest.class.st
index 9734cebf..842a6e73 100644
--- a/src/Pyramid-Tests/PyramidPaddingCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidPaddingCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc'
+ #category : #'Pyramid-Tests-cases-plugin-bloc'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidPluginEditOnRunningTest.class.st b/src/Pyramid-Tests/PyramidPluginEditOnRunningTest.class.st
index 81f91fa4..5308dc28 100644
--- a/src/Pyramid-Tests/PyramidPluginEditOnRunningTest.class.st
+++ b/src/Pyramid-Tests/PyramidPluginEditOnRunningTest.class.st
@@ -7,7 +7,7 @@ Class {
#instVars : [
'setting'
],
- #category : 'Pyramid-Tests-cases-plugin-edit-on-running'
+ #category : #'Pyramid-Tests-cases-plugin-edit-on-running'
}
{ #category : #utils }
diff --git a/src/Pyramid-Tests/PyramidPluginManagerTest.class.st b/src/Pyramid-Tests/PyramidPluginManagerTest.class.st
index e848d3c6..e3e98a55 100644
--- a/src/Pyramid-Tests/PyramidPluginManagerTest.class.st
+++ b/src/Pyramid-Tests/PyramidPluginManagerTest.class.st
@@ -4,7 +4,7 @@ A PyramidPluginManagerTest is a test class for testing the behavior of PyramidPl
Class {
#name : #PyramidPluginManagerTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-core'
+ #category : #'Pyramid-Tests-cases-core'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidPluginTestModeTest.class.st b/src/Pyramid-Tests/PyramidPluginTestModeTest.class.st
index d4750060..de346e56 100644
--- a/src/Pyramid-Tests/PyramidPluginTestModeTest.class.st
+++ b/src/Pyramid-Tests/PyramidPluginTestModeTest.class.st
@@ -6,5 +6,5 @@ Class {
'spacePlugin',
'editor'
],
- #category : 'Pyramid-Tests-cases-plugin-testmode'
+ #category : #'Pyramid-Tests-cases-plugin-testmode'
}
diff --git a/src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st
index cf1b585f..9e0170ed 100644
--- a/src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidPointInputPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidPositionCommandTest.class.st b/src/Pyramid-Tests/PyramidPositionCommandTest.class.st
index a1a0c133..596e92eb 100644
--- a/src/Pyramid-Tests/PyramidPositionCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidPositionCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc'
+ #category : #'Pyramid-Tests-cases-plugin-bloc'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidPositionOffsetCommandTest.class.st b/src/Pyramid-Tests/PyramidPositionOffsetCommandTest.class.st
index f9cbb90b..34285057 100644
--- a/src/Pyramid-Tests/PyramidPositionOffsetCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidPositionOffsetCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc'
+ #category : #'Pyramid-Tests-cases-plugin-bloc'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidProjectModelObserverForTest.class.st b/src/Pyramid-Tests/PyramidProjectModelObserverForTest.class.st
index 886f8f67..5b4f43d4 100644
--- a/src/Pyramid-Tests/PyramidProjectModelObserverForTest.class.st
+++ b/src/Pyramid-Tests/PyramidProjectModelObserverForTest.class.st
@@ -6,7 +6,7 @@ Class {
'pyramidFirstLevelElementsChangedAction',
'pyramidSelectionChangedAction'
],
- #category : 'Pyramid-Tests-cases-models'
+ #category : #'Pyramid-Tests-cases-models'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidProjectModelTest.class.st b/src/Pyramid-Tests/PyramidProjectModelTest.class.st
index 8b2401ec..d8625721 100644
--- a/src/Pyramid-Tests/PyramidProjectModelTest.class.st
+++ b/src/Pyramid-Tests/PyramidProjectModelTest.class.st
@@ -8,7 +8,7 @@ Class {
'pyramidFirstLevelElementsChanged',
'pyramidSelectionChanged'
],
- #category : 'Pyramid-Tests-cases-models'
+ #category : #'Pyramid-Tests-cases-models'
}
{ #category : #running }
diff --git a/src/Pyramid-Tests/PyramidPropertiesManagerTest.class.st b/src/Pyramid-Tests/PyramidPropertiesManagerTest.class.st
index 41fdca08..8a704bc4 100644
--- a/src/Pyramid-Tests/PyramidPropertiesManagerTest.class.st
+++ b/src/Pyramid-Tests/PyramidPropertiesManagerTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidPropertiesManagerTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-property'
+ #category : #'Pyramid-Tests-cases-property'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidProportionnalHorizontalConstraintsCommandTest.class.st b/src/Pyramid-Tests/PyramidProportionnalHorizontalConstraintsCommandTest.class.st
index c62043bf..b7145a1b 100644
--- a/src/Pyramid-Tests/PyramidProportionnalHorizontalConstraintsCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidProportionnalHorizontalConstraintsCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-layout'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-layout'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidProportionnalVerticalConstraintsCommandTest.class.st b/src/Pyramid-Tests/PyramidProportionnalVerticalConstraintsCommandTest.class.st
index b95c8126..e375e6c2 100644
--- a/src/Pyramid-Tests/PyramidProportionnalVerticalConstraintsCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidProportionnalVerticalConstraintsCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-layout'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-layout'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidRemoveChildCommandTest.class.st b/src/Pyramid-Tests/PyramidRemoveChildCommandTest.class.st
index 8c195544..30f24257 100644
--- a/src/Pyramid-Tests/PyramidRemoveChildCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidRemoveChildCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc'
+ #category : #'Pyramid-Tests-cases-plugin-bloc'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidRemoveMockCommandTest.class.st b/src/Pyramid-Tests/PyramidRemoveMockCommandTest.class.st
index ee166273..8853340f 100644
--- a/src/Pyramid-Tests/PyramidRemoveMockCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidRemoveMockCommandTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidRemoveMockCommandTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-command'
+ #category : #'Pyramid-Tests-cases-command'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidRemoveSelectionCommandTest.class.st b/src/Pyramid-Tests/PyramidRemoveSelectionCommandTest.class.st
index 4ef63b7a..18aa0bb1 100644
--- a/src/Pyramid-Tests/PyramidRemoveSelectionCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidRemoveSelectionCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc'
+ #category : #'Pyramid-Tests-cases-plugin-bloc'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Tests/PyramidRoundedRectangleCornerRadiiCommandTest.class.st b/src/Pyramid-Tests/PyramidRoundedRectangleCornerRadiiCommandTest.class.st
index 845cd011..68db7048 100644
--- a/src/Pyramid-Tests/PyramidRoundedRectangleCornerRadiiCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidRoundedRectangleCornerRadiiCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-geometry'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-geometry'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidSaveModelVerifierTest.class.st b/src/Pyramid-Tests/PyramidSaveModelVerifierTest.class.st
index b9342ec4..7be7dfbf 100644
--- a/src/Pyramid-Tests/PyramidSaveModelVerifierTest.class.st
+++ b/src/Pyramid-Tests/PyramidSaveModelVerifierTest.class.st
@@ -4,7 +4,7 @@ A PyramidSaveModelVerifierTest is a test class for testing the behavior of Pyram
Class {
#name : #PyramidSaveModelVerifierTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-plugin-save'
+ #category : #'Pyramid-Tests-cases-plugin-save'
}
{ #category : #test }
diff --git a/src/Pyramid-Tests/PyramidSavingServiceTest.class.st b/src/Pyramid-Tests/PyramidSavingServiceTest.class.st
index 7b2b52ee..807183b2 100644
--- a/src/Pyramid-Tests/PyramidSavingServiceTest.class.st
+++ b/src/Pyramid-Tests/PyramidSavingServiceTest.class.st
@@ -6,7 +6,7 @@ Class {
'savingService',
'savingClass'
],
- #category : 'Pyramid-Tests-cases-plugin-save'
+ #category : #'Pyramid-Tests-cases-plugin-save'
}
{ #category : #running }
diff --git a/src/Pyramid-Tests/PyramidSimpleMockCommand.class.st b/src/Pyramid-Tests/PyramidSimpleMockCommand.class.st
index 19f714d0..abf1e620 100644
--- a/src/Pyramid-Tests/PyramidSimpleMockCommand.class.st
+++ b/src/Pyramid-Tests/PyramidSimpleMockCommand.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidSimpleMockCommand,
#superclass : #PyramidMockCommand,
- #category : 'Pyramid-Tests-cases-command'
+ #category : #'Pyramid-Tests-cases-command'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Tests/PyramidSimpleMockCommandTest.class.st b/src/Pyramid-Tests/PyramidSimpleMockCommandTest.class.st
index 87864823..ef6f433c 100644
--- a/src/Pyramid-Tests/PyramidSimpleMockCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidSimpleMockCommandTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidSimpleMockCommandTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-command'
+ #category : #'Pyramid-Tests-cases-command'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Tests/PyramidSimpleMockGroupedCommand.class.st b/src/Pyramid-Tests/PyramidSimpleMockGroupedCommand.class.st
index f1e4a1a1..84fcebb0 100644
--- a/src/Pyramid-Tests/PyramidSimpleMockGroupedCommand.class.st
+++ b/src/Pyramid-Tests/PyramidSimpleMockGroupedCommand.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidSimpleMockGroupedCommand,
#superclass : #PyramidSimpleMockCommand,
- #category : 'Pyramid-Tests-cases-command'
+ #category : #'Pyramid-Tests-cases-command'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Tests/PyramidSpCodeObjectInteractionModelTest.class.st b/src/Pyramid-Tests/PyramidSpCodeObjectInteractionModelTest.class.st
index 22e3ae0b..5c79f0fb 100644
--- a/src/Pyramid-Tests/PyramidSpCodeObjectInteractionModelTest.class.st
+++ b/src/Pyramid-Tests/PyramidSpCodeObjectInteractionModelTest.class.st
@@ -6,7 +6,7 @@ Class {
'interactionModel',
'firstLevelElements'
],
- #category : 'Pyramid-Tests-cases-plugin-playground'
+ #category : #'Pyramid-Tests-cases-plugin-playground'
}
{ #category : #running }
diff --git a/src/Pyramid-Tests/PyramidSpaceBuilderTest.class.st b/src/Pyramid-Tests/PyramidSpaceBuilderTest.class.st
index 7f32f081..7d0700dd 100644
--- a/src/Pyramid-Tests/PyramidSpaceBuilderTest.class.st
+++ b/src/Pyramid-Tests/PyramidSpaceBuilderTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidSpaceBuilderTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-plugin-space'
+ #category : #'Pyramid-Tests-cases-plugin-space'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidSpacePluginTest.class.st b/src/Pyramid-Tests/PyramidSpacePluginTest.class.st
index e4721cc2..45aac1df 100644
--- a/src/Pyramid-Tests/PyramidSpacePluginTest.class.st
+++ b/src/Pyramid-Tests/PyramidSpacePluginTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidSpacePluginTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-plugin-space'
+ #category : #'Pyramid-Tests-cases-plugin-space'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidSwitchInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidSwitchInputPresenterTest.class.st
index 403fe8ff..4a26981c 100644
--- a/src/Pyramid-Tests/PyramidSwitchInputPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidSwitchInputPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidTestWindow.class.st b/src/Pyramid-Tests/PyramidTestWindow.class.st
index 1d18faa0..29462407 100644
--- a/src/Pyramid-Tests/PyramidTestWindow.class.st
+++ b/src/Pyramid-Tests/PyramidTestWindow.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidTestWindow,
#superclass : #PyramidWindow,
- #category : 'Pyramid-Tests-cases-views'
+ #category : #'Pyramid-Tests-cases-views'
}
{ #category : #initialization }
diff --git a/src/Pyramid-Tests/PyramidTextForegroundCommandTest.class.st b/src/Pyramid-Tests/PyramidTextForegroundCommandTest.class.st
index 43d35800..36b77372 100644
--- a/src/Pyramid-Tests/PyramidTextForegroundCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidTextForegroundCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidFontAttributeCommandTest',
#classTraits : 'TPyramidFontAttributeCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-text'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-text'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Tests/PyramidTextInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidTextInputPresenterTest.class.st
index 8bfe7ddf..6ca9d02b 100644
--- a/src/Pyramid-Tests/PyramidTextInputPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidTextInputPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidTreePluginTest.class.st b/src/Pyramid-Tests/PyramidTreePluginTest.class.st
deleted file mode 100644
index 2d78c2bf..00000000
--- a/src/Pyramid-Tests/PyramidTreePluginTest.class.st
+++ /dev/null
@@ -1,49 +0,0 @@
-Class {
- #name : #PyramidTreePluginTest,
- #superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-plugin-tree-library'
-}
-
-{ #category : #tests }
-PyramidTreePluginTest >> testAddColumns [
-
- | plugin |
- plugin := PyramidTreePlugin new.
- self assert: plugin treePresenter columns size equals: 0.
- plugin addColumns: { SpStringTableColumn new
- title: 'Test1';
- yourself. SpStringTableColumn new
- title: 'Test2';
- yourself. SpStringTableColumn new
- title: 'Test3';
- yourself }.
- self assert: plugin treePresenter columns size equals: 3.
-]
-
-{ #category : #tests }
-PyramidTreePluginTest >> testRemoveSelectedElements [
-
- | plugin editor e1 e2 e3 |
- e1 := BlElement new.
- e2 := BlElement new.
- e3 := BlElement new.
- editor := PyramidEditor new.
- editor window: PyramidSimpleWindow new.
- plugin := PyramidTreePlugin new.
- plugin editor: editor.
- editor projectModel firstLevelElements addAll: {
- e1.
- e2.
- e3 }.
- editor projectModel setSelection: {
- e1.
- e2 }.
- self assert: plugin treePresenter tree selectedItems size equals: 2.
- self assert: (plugin treePresenter tree selectedItems includes: e1).
- self assert: (plugin treePresenter tree selectedItems includes: e2).
- plugin removeSelectedElements.
- self assert: plugin treePresenter tree selectedItems size equals: 0.
- self assert: editor projectModel selection size equals: 0.
- self assert: editor projectModel firstLevelElements size equals: 1.
- self assert: editor projectModel firstLevelElements first equals: e3.
-]
diff --git a/src/Pyramid-Tests/PyramidVerticalFrameConstraintsInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidVerticalFrameConstraintsInputPresenterTest.class.st
index bb0e4779..54377d79 100644
--- a/src/Pyramid-Tests/PyramidVerticalFrameConstraintsInputPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidVerticalFrameConstraintsInputPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidVisibilityCommandTest.class.st b/src/Pyramid-Tests/PyramidVisibilityCommandTest.class.st
index b0cef520..abca3c83 100644
--- a/src/Pyramid-Tests/PyramidVisibilityCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidVisibilityCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc'
+ #category : #'Pyramid-Tests-cases-plugin-bloc'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidVisibilityInputPresenterTest.class.st b/src/Pyramid-Tests/PyramidVisibilityInputPresenterTest.class.st
index 16b09cbb..332e72f0 100644
--- a/src/Pyramid-Tests/PyramidVisibilityInputPresenterTest.class.st
+++ b/src/Pyramid-Tests/PyramidVisibilityInputPresenterTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidInputPresenterTest',
#classTraits : 'TPyramidInputPresenterTest classTrait',
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/PyramidVisibilitySortFunctionTest.class.st b/src/Pyramid-Tests/PyramidVisibilitySortFunctionTest.class.st
index 3c173d02..ec815c10 100644
--- a/src/Pyramid-Tests/PyramidVisibilitySortFunctionTest.class.st
+++ b/src/Pyramid-Tests/PyramidVisibilitySortFunctionTest.class.st
@@ -1,7 +1,7 @@
Class {
#name : #PyramidVisibilitySortFunctionTest,
#superclass : #TestCase,
- #category : 'Pyramid-Tests-cases-bloc-utils'
+ #category : #'Pyramid-Tests-cases-bloc-utils'
}
{ #category : #tests }
diff --git a/src/Pyramid-Tests/PyramidWindowTest.class.st b/src/Pyramid-Tests/PyramidWindowTest.class.st
index 8f51fec4..2ad1b041 100644
--- a/src/Pyramid-Tests/PyramidWindowTest.class.st
+++ b/src/Pyramid-Tests/PyramidWindowTest.class.st
@@ -4,7 +4,7 @@ Class {
#instVars : [
'window'
],
- #category : 'Pyramid-Tests-cases-views'
+ #category : #'Pyramid-Tests-cases-views'
}
{ #category : #running }
diff --git a/src/Pyramid-Tests/PyramidZIndexCommandTest.class.st b/src/Pyramid-Tests/PyramidZIndexCommandTest.class.st
index 4f15146b..ccb5fe23 100644
--- a/src/Pyramid-Tests/PyramidZIndexCommandTest.class.st
+++ b/src/Pyramid-Tests/PyramidZIndexCommandTest.class.st
@@ -3,7 +3,7 @@ Class {
#superclass : #TestCase,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc'
+ #category : #'Pyramid-Tests-cases-plugin-bloc'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Tests/TPyramidCommandTest.trait.st b/src/Pyramid-Tests/TPyramidCommandTest.trait.st
index 54ed130f..fb408590 100644
--- a/src/Pyramid-Tests/TPyramidCommandTest.trait.st
+++ b/src/Pyramid-Tests/TPyramidCommandTest.trait.st
@@ -1,6 +1,6 @@
Trait {
#name : #TPyramidCommandTest,
- #category : 'Pyramid-Tests-cases-command'
+ #category : #'Pyramid-Tests-cases-command'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Tests/TPyramidFontAttributeCommandTest.trait.st b/src/Pyramid-Tests/TPyramidFontAttributeCommandTest.trait.st
index 371f6b73..0c0f1863 100644
--- a/src/Pyramid-Tests/TPyramidFontAttributeCommandTest.trait.st
+++ b/src/Pyramid-Tests/TPyramidFontAttributeCommandTest.trait.st
@@ -2,7 +2,7 @@ Trait {
#name : #TPyramidFontAttributeCommandTest,
#traits : 'TPyramidCommandTest',
#classTraits : 'TPyramidCommandTest classTrait',
- #category : 'Pyramid-Tests-cases-plugin-bloc-text'
+ #category : #'Pyramid-Tests-cases-plugin-bloc-text'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid-Tests/TPyramidInputPresenterTest.trait.st b/src/Pyramid-Tests/TPyramidInputPresenterTest.trait.st
index 7f1e6d5e..9373bc0b 100644
--- a/src/Pyramid-Tests/TPyramidInputPresenterTest.trait.st
+++ b/src/Pyramid-Tests/TPyramidInputPresenterTest.trait.st
@@ -1,6 +1,6 @@
Trait {
#name : #TPyramidInputPresenterTest,
- #category : 'Pyramid-Tests-cases-specs-custom'
+ #category : #'Pyramid-Tests-cases-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid-Toplo-Examples/PyramidToploExamples.class.st b/src/Pyramid-Toplo-Examples/PyramidToploExamples.class.st
index f9606da8..cfbbfe24 100644
--- a/src/Pyramid-Toplo-Examples/PyramidToploExamples.class.st
+++ b/src/Pyramid-Toplo-Examples/PyramidToploExamples.class.st
@@ -581,3 +581,85 @@ blfontsizedefaultattribute21 := BlFontSizeDefaultAttribute new.
yourself)}
] value
]
+
+{ #category : #'pyramid-serialized-bloc' }
+PyramidToploExamples class >> icons [
+ "This class has been generated using Pyramid.
+
+ By: YannLEGOFF
+ 2024-07-30 18:24:19"
+
+
+ ^ [ | blsvgconverterclass1 toantdesigniconproviderclass2 |
+blsvgconverterclass1 := BlSvgConverter.
+toantdesigniconproviderclass2 := ToAntDesignIconProvider.
+{(ToImage new
+ innerImage: (PyramidExternalRessourceProxy new
+ pyramidExternalRessourceSource: (PyramidExternalRessourceSource new
+ target: blsvgconverterclass1;
+ selector: #convertFromString:;
+ arguments: {(PyramidExternalRessourceProxy new
+ pyramidExternalRessourceSource: (PyramidExternalRessourceSource new
+ target: toantdesigniconproviderclass2;
+ selector: #twotone_sound;
+ arguments: {};
+ yourself);
+ yourself)};
+ yourself);
+ yourself);
+ constraintsDo: [:constraints | constraints horizontal exact: 200.0.
+ constraints vertical exact: 200.0 ];
+ layout: BlFrameLayout new;
+ id: #A;
+ yourself) .
+(ToImage new
+ innerImage: (PyramidExternalRessourceProxy new
+ pyramidExternalRessourceSource: (PyramidExternalRessourceSource new
+ target: blsvgconverterclass1;
+ selector: #convertFromString:;
+ arguments: {(PyramidExternalRessourceProxy new
+ pyramidExternalRessourceSource: (PyramidExternalRessourceSource new
+ target: toantdesigniconproviderclass2;
+ selector: #outlined_code;
+ arguments: {};
+ yourself);
+ yourself)};
+ yourself);
+ yourself);
+ constraintsDo: [:constraints | constraints horizontal exact: 48.0.
+ constraints vertical exact: 48.0 ];
+ layout: BlFrameLayout new;
+ id: #B;
+ yourself)} ] value
+]
+
+{ #category : #'pyramid-serialized-bloc' }
+PyramidToploExamples class >> icons2 [
+ "This class has been generated using Pyramid.
+
+ By: YannLEGOFF
+ 2024-07-31 10:27:35"
+
+
+ ^ [ {(ToImage new
+ innerImage: (PyramidExternalRessourceProxy new
+ pyramidExternalRessourceSource: (PyramidExternalRessourceSource new
+ target: BlSvgConverter;
+ selector: #convertFromString:;
+ arguments: {(PyramidExternalRessourceProxy new
+ pyramidExternalRessourceSource: (PyramidExternalRessourceSource new
+ target: ToMaterialDesignIconProvider;
+ selector: #twotone_mediation;
+ arguments: {};
+ yourself);
+ yourself)};
+ postConstructionBlock: [:obj | obj constraints horizontal matchParent.
+ obj constraints vertical matchParent ];
+ yourself);
+ yourself);
+ constraintsDo: [:constraints | constraints horizontal exact: 128.0.
+ constraints vertical exact: 128.0 ];
+ layout: BlFrameLayout new;
+ id: #A;
+ yourself)} ] value
+]
diff --git a/src/Pyramid-Toplo/PyramidContainsValidSelectorInterpreter.class.st b/src/Pyramid-Toplo/PyramidContainsValidSelectorInterpreter.class.st
index 71d2a390..93a8c932 100644
--- a/src/Pyramid-Toplo/PyramidContainsValidSelectorInterpreter.class.st
+++ b/src/Pyramid-Toplo/PyramidContainsValidSelectorInterpreter.class.st
@@ -1,18 +1,16 @@
Class {
- #name : 'PyramidContainsValidSelectorInterpreter',
- #superclass : 'ToElementSelectorVisitor',
+ #name : #PyramidContainsValidSelectorInterpreter,
+ #superclass : #ToElementSelectorVisitor,
#instVars : [
'targetElement',
'validSelectors',
'invalidSelectors',
'ignoredSelectors'
],
- #category : 'Pyramid-Toplo-plugin-theme-management',
- #package : 'Pyramid-Toplo',
- #tag : 'plugin-theme-management'
+ #category : 'Pyramid-Toplo-plugin-theme-management'
}
-{ #category : 'operating' }
+{ #category : #operating }
PyramidContainsValidSelectorInterpreter >> check: aSelector on: anElement [
targetElement := anElement.
@@ -22,39 +20,39 @@ PyramidContainsValidSelectorInterpreter >> check: aSelector on: anElement [
aSelector accept: self.
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidContainsValidSelectorInterpreter >> ignoredSelectors [
^ ignoredSelectors
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidContainsValidSelectorInterpreter >> invalidSelectors [
^ invalidSelectors
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidContainsValidSelectorInterpreter >> result [
invalidSelectors ifNil: [ ^ false ].
^ invalidSelectors isEmpty
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidContainsValidSelectorInterpreter >> targetElement [
^ targetElement
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidContainsValidSelectorInterpreter >> validSelectors [
^ validSelectors
]
-{ #category : 'visiting' }
+{ #category : #visiting }
PyramidContainsValidSelectorInterpreter >> visitActionSelector: aSelector [
(aSelector action value: self targetElement)
@@ -62,7 +60,7 @@ PyramidContainsValidSelectorInterpreter >> visitActionSelector: aSelector [
ifFalse: [ self invalidSelectors add: aSelector ]
]
-{ #category : 'visiting' }
+{ #category : #visiting }
PyramidContainsValidSelectorInterpreter >> visitAndSelector: aSelector [
| interpreterForAndLeft interpreterForAndRight |
@@ -85,7 +83,7 @@ PyramidContainsValidSelectorInterpreter >> visitAndSelector: aSelector [
self ignoredSelectors addAll: interpreterForAndRight ignoredSelectors
]
-{ #category : 'visiting' }
+{ #category : #visiting }
PyramidContainsValidSelectorInterpreter >> visitChildSelector: aSelector [
| parent interpreterForLeft interpreterForRight |
@@ -109,7 +107,7 @@ PyramidContainsValidSelectorInterpreter >> visitChildSelector: aSelector [
self invalidSelectors add: aSelector
]
-{ #category : 'visiting' }
+{ #category : #visiting }
PyramidContainsValidSelectorInterpreter >> visitIdSelector: aSelector [
aSelector id = self targetElement id
@@ -117,7 +115,7 @@ PyramidContainsValidSelectorInterpreter >> visitIdSelector: aSelector [
ifFalse: [ self invalidSelectors add: aSelector ]
]
-{ #category : 'visiting' }
+{ #category : #visiting }
PyramidContainsValidSelectorInterpreter >> visitNotSelector: aSelector [
| interpreterForNot |
@@ -128,7 +126,7 @@ PyramidContainsValidSelectorInterpreter >> visitNotSelector: aSelector [
self ignoredSelectors addAll: interpreterForNot ignoredSelectors
]
-{ #category : 'visiting' }
+{ #category : #visiting }
PyramidContainsValidSelectorInterpreter >> visitOrSelector: aSelector [
| interpreterForOrLeft interpreterForOrRight |
@@ -151,7 +149,7 @@ PyramidContainsValidSelectorInterpreter >> visitOrSelector: aSelector [
self validSelectors add: aSelector
]
-{ #category : 'visiting' }
+{ #category : #visiting }
PyramidContainsValidSelectorInterpreter >> visitParentSelector: aSelector [
| depth current interpreterForLeft interpreterForRight |
@@ -184,7 +182,7 @@ PyramidContainsValidSelectorInterpreter >> visitParentSelector: aSelector [
^ self ] ] ] repeat
]
-{ #category : 'visiting' }
+{ #category : #visiting }
PyramidContainsValidSelectorInterpreter >> visitSiblingSelector: aSelector [
| current interpreterForSiblingLeft interpreterForSiblingRight |
@@ -210,13 +208,13 @@ PyramidContainsValidSelectorInterpreter >> visitSiblingSelector: aSelector [
self invalidSelectors add: aSelector
]
-{ #category : 'visiting' }
+{ #category : #visiting }
PyramidContainsValidSelectorInterpreter >> visitStyleStampSelector: aSelector [
self ignoredSelectors add: aSelector
]
-{ #category : 'visiting' }
+{ #category : #visiting }
PyramidContainsValidSelectorInterpreter >> visitTypeSelector: aSelector [
(aSelector selectType: self targetElement class)
@@ -224,7 +222,7 @@ PyramidContainsValidSelectorInterpreter >> visitTypeSelector: aSelector [
ifFalse: [ self invalidSelectors add: aSelector ]
]
-{ #category : 'visiting' }
+{ #category : #visiting }
PyramidContainsValidSelectorInterpreter >> visitUniversalSelector: aSelector [
"Must be valid for not"
diff --git a/src/Pyramid-Toplo/PyramidElementThemeSelectorPresenter.class.st b/src/Pyramid-Toplo/PyramidElementThemeSelectorPresenter.class.st
index e54aecc9..be82e5f7 100644
--- a/src/Pyramid-Toplo/PyramidElementThemeSelectorPresenter.class.st
+++ b/src/Pyramid-Toplo/PyramidElementThemeSelectorPresenter.class.st
@@ -1,6 +1,6 @@
Class {
- #name : 'PyramidElementThemeSelectorPresenter',
- #superclass : 'PyramidThemeSelectorPresenter',
+ #name : #PyramidElementThemeSelectorPresenter,
+ #superclass : #PyramidThemeSelectorPresenter,
#instVars : [
'projectModel',
'inheritSelector',
@@ -8,12 +8,10 @@ Class {
'commandExecutor',
'themeCommand'
],
- #category : 'Pyramid-Toplo-plugin-theme-management',
- #package : 'Pyramid-Toplo',
- #tag : 'plugin-theme-management'
+ #category : 'Pyramid-Toplo-plugin-theme-management'
}
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidElementThemeSelectorPresenter >> applyTheme [
| themeToApplied |
@@ -28,19 +26,19 @@ PyramidElementThemeSelectorPresenter >> applyTheme [
self projectModel informElementsChanged
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidElementThemeSelectorPresenter >> commandExecutor [
^ commandExecutor
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidElementThemeSelectorPresenter >> commandExecutor: aCommandExecutor [
commandExecutor := aCommandExecutor
]
-{ #category : 'layout' }
+{ #category : #layout }
PyramidElementThemeSelectorPresenter >> defaultLayout [
^ SpBoxLayout newVertical
@@ -64,7 +62,7 @@ PyramidElementThemeSelectorPresenter >> defaultLayout [
yourself
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidElementThemeSelectorPresenter >> elementsOrSelectionChanged: anEvent [
self triggerThemeChangement: false.
@@ -72,13 +70,13 @@ PyramidElementThemeSelectorPresenter >> elementsOrSelectionChanged: anEvent [
self triggerThemeChangement: true
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidElementThemeSelectorPresenter >> inheritSelector [
^ inheritSelector
]
-{ #category : 'initialization' }
+{ #category : #initialization }
PyramidElementThemeSelectorPresenter >> initializePresenters [
super initializePresenters.
@@ -96,19 +94,19 @@ PyramidElementThemeSelectorPresenter >> initializePresenters [
self triggerThemeChangement: true
]
-{ #category : 'initialization' }
+{ #category : #initialization }
PyramidElementThemeSelectorPresenter >> labelPresenter [
^ labelPresenter
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidElementThemeSelectorPresenter >> projectModel [
^ projectModel
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidElementThemeSelectorPresenter >> projectModel: aPyramidProjectModel [
projectModel := aPyramidProjectModel.
@@ -122,7 +120,7 @@ PyramidElementThemeSelectorPresenter >> projectModel: aPyramidProjectModel [
for: self.
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidElementThemeSelectorPresenter >> setDefaultStateForPresenters [
self themeSelector enabled: false.
@@ -130,13 +128,13 @@ PyramidElementThemeSelectorPresenter >> setDefaultStateForPresenters [
self inheritSelector state: true.
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidElementThemeSelectorPresenter >> themeCommand [
^ themeCommand
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidElementThemeSelectorPresenter >> updatePresenterFor: aCollectionOfElement [
| collectionOfLocalThemes |
diff --git a/src/Pyramid-Toplo/PyramidSelectorPossibleStamps.class.st b/src/Pyramid-Toplo/PyramidSelectorPossibleStamps.class.st
index 8bdff1d7..34b51949 100644
--- a/src/Pyramid-Toplo/PyramidSelectorPossibleStamps.class.st
+++ b/src/Pyramid-Toplo/PyramidSelectorPossibleStamps.class.st
@@ -1,15 +1,13 @@
Class {
- #name : 'PyramidSelectorPossibleStamps',
- #superclass : 'Object',
+ #name : #PyramidSelectorPossibleStamps,
+ #superclass : #Object,
#instVars : [
'theme'
],
- #category : 'Pyramid-Toplo-plugin-theme-management',
- #package : 'Pyramid-Toplo',
- #tag : 'plugin-theme-management'
+ #category : 'Pyramid-Toplo-plugin-theme-management'
}
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidSelectorPossibleStamps >> findAllSelectorFor: aBlElement [
^ self theme styleSheet styleRules flatCollect: [
@@ -17,7 +15,7 @@ PyramidSelectorPossibleStamps >> findAllSelectorFor: aBlElement [
self findAllSelectorFor: aBlElement on: rule ].
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidSelectorPossibleStamps >> findAllSelectorFor: aBlElement on: aToStyleRule [
| interpreter |
@@ -31,7 +29,7 @@ PyramidSelectorPossibleStamps >> findAllSelectorFor: aBlElement on: aToStyleRule
ifFalse: [ ^ { } ]
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidSelectorPossibleStamps >> findAllStampsFor: aBlElement [
| allValidSelectors allStampsSelectors |
@@ -42,13 +40,13 @@ PyramidSelectorPossibleStamps >> findAllStampsFor: aBlElement [
sorted
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidSelectorPossibleStamps >> theme [
^ theme
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidSelectorPossibleStamps >> theme: anObject [
theme := anObject
diff --git a/src/Pyramid-Toplo/PyramidSpaceThemeSelectorPresenter.class.st b/src/Pyramid-Toplo/PyramidSpaceThemeSelectorPresenter.class.st
index 2345119e..28df7ae8 100644
--- a/src/Pyramid-Toplo/PyramidSpaceThemeSelectorPresenter.class.st
+++ b/src/Pyramid-Toplo/PyramidSpaceThemeSelectorPresenter.class.st
@@ -1,24 +1,22 @@
Class {
- #name : 'PyramidSpaceThemeSelectorPresenter',
- #superclass : 'PyramidThemeSelectorPresenter',
+ #name : #PyramidSpaceThemeSelectorPresenter,
+ #superclass : #PyramidThemeSelectorPresenter,
#traits : 'TPyramidSpaceExtension',
#classTraits : 'TPyramidSpaceExtension classTrait',
#instVars : [
'projectModel'
],
- #category : 'Pyramid-Toplo-plugin-theme-management',
- #package : 'Pyramid-Toplo',
- #tag : 'plugin-theme-management'
+ #category : 'Pyramid-Toplo-plugin-theme-management'
}
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidSpaceThemeSelectorPresenter >> applyTheme [
self builder space toTheme: self currentTheme.
self projectModel informElementsChanged
]
-{ #category : 'initialization' }
+{ #category : #initialization }
PyramidSpaceThemeSelectorPresenter >> labelPresenter [
^ SpLabelPresenter new
@@ -27,13 +25,13 @@ PyramidSpaceThemeSelectorPresenter >> labelPresenter [
yourself
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidSpaceThemeSelectorPresenter >> projectModel [
^ projectModel
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidSpaceThemeSelectorPresenter >> projectModel: anObject [
projectModel := anObject
diff --git a/src/Pyramid-Toplo/PyramidStampCommand.class.st b/src/Pyramid-Toplo/PyramidStampCommand.class.st
index 3fe41464..e26d219a 100644
--- a/src/Pyramid-Toplo/PyramidStampCommand.class.st
+++ b/src/Pyramid-Toplo/PyramidStampCommand.class.st
@@ -1,21 +1,19 @@
Class {
- #name : 'PyramidStampCommand',
- #superclass : 'PyramidAbstractBlocCommand',
+ #name : #PyramidStampCommand,
+ #superclass : #PyramidAbstractBlocCommand,
#instVars : [
'stamp'
],
- #category : 'Pyramid-Toplo-plugin-theme-management',
- #package : 'Pyramid-Toplo',
- #tag : 'plugin-theme-management'
+ #category : 'Pyramid-Toplo-plugin-theme-management'
}
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidStampCommand >> getValueFor: anObject [
^ anObject hasStamp: self stamp
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidStampCommand >> setValueFor: anObject with: aBoolean [
aBoolean
@@ -23,13 +21,13 @@ PyramidStampCommand >> setValueFor: anObject with: aBoolean [
ifFalse: [ anObject removeStamp: self stamp ]
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidStampCommand >> stamp [
^ stamp
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidStampCommand >> stamp: anObject [
stamp := anObject
diff --git a/src/Pyramid-Toplo/PyramidStyleSheetEditorPresenter.class.st b/src/Pyramid-Toplo/PyramidStyleSheetEditorPresenter.class.st
index a9fcf705..461b0a89 100644
--- a/src/Pyramid-Toplo/PyramidStyleSheetEditorPresenter.class.st
+++ b/src/Pyramid-Toplo/PyramidStyleSheetEditorPresenter.class.st
@@ -1,17 +1,15 @@
Class {
- #name : 'PyramidStyleSheetEditorPresenter',
- #superclass : 'SpPresenter',
+ #name : #PyramidStyleSheetEditorPresenter,
+ #superclass : #SpPresenter,
#instVars : [
'themeSelector',
'styleSheetEditor',
'stampPresenter'
],
- #category : 'Pyramid-Toplo-plugin-theme-management',
- #package : 'Pyramid-Toplo',
- #tag : 'plugin-theme-management'
+ #category : 'Pyramid-Toplo-plugin-theme-management'
}
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidStyleSheetEditorPresenter >> defaultLayout [
^ SpBoxLayout new
@@ -24,19 +22,19 @@ PyramidStyleSheetEditorPresenter >> defaultLayout [
yourself
]
-{ #category : 'initialization' }
+{ #category : #initialization }
PyramidStyleSheetEditorPresenter >> initializePresenters [
stampPresenter := SpNullPresenter new
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidStyleSheetEditorPresenter >> stampPresenter [
^ stampPresenter
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidStyleSheetEditorPresenter >> stampPresenter: anObject [
stampPresenter := anObject
diff --git a/src/Pyramid-Toplo/PyramidThemeCommand.class.st b/src/Pyramid-Toplo/PyramidThemeCommand.class.st
index f8e857bb..f7b52034 100644
--- a/src/Pyramid-Toplo/PyramidThemeCommand.class.st
+++ b/src/Pyramid-Toplo/PyramidThemeCommand.class.st
@@ -1,18 +1,16 @@
Class {
- #name : 'PyramidThemeCommand',
- #superclass : 'PyramidAbstractBlocCommand',
- #category : 'Pyramid-Toplo-plugin-theme-management',
- #package : 'Pyramid-Toplo',
- #tag : 'plugin-theme-management'
+ #name : #PyramidThemeCommand,
+ #superclass : #PyramidAbstractBlocCommand,
+ #category : 'Pyramid-Toplo-plugin-theme-management'
}
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidThemeCommand >> getValueFor: anObject [
^ anObject localTheme
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidThemeCommand >> setValueFor: anObject with: nilOrToTheme [
anObject localTheme: nilOrToTheme
diff --git a/src/Pyramid-Toplo/PyramidThemeFromSpaceExtension.class.st b/src/Pyramid-Toplo/PyramidThemeFromSpaceExtension.class.st
index 3136ea67..4fd98854 100644
--- a/src/Pyramid-Toplo/PyramidThemeFromSpaceExtension.class.st
+++ b/src/Pyramid-Toplo/PyramidThemeFromSpaceExtension.class.st
@@ -1,6 +1,6 @@
Class {
- #name : 'PyramidThemeFromSpaceExtension',
- #superclass : 'Object',
+ #name : #PyramidThemeFromSpaceExtension,
+ #superclass : #Object,
#traits : 'TPyramidPlugin + TPyramidSpaceExtension + TPyramidEditorSpaceIsReadyObserver + TPyramidOpenFromSpacePluginExtension',
#classTraits : 'TPyramidPlugin classTrait + TPyramidSpaceExtension classTrait + TPyramidEditorSpaceIsReadyObserver classTrait + TPyramidOpenFromSpacePluginExtension classTrait',
#instVars : [
@@ -8,18 +8,16 @@ Class {
'themeSpaceSelector',
'spaceIsReady'
],
- #category : 'Pyramid-Toplo-plugin-theme-management',
- #package : 'Pyramid-Toplo',
- #tag : 'plugin-theme-management'
+ #category : 'Pyramid-Toplo-plugin-theme-management'
}
-{ #category : 'asserting' }
+{ #category : #asserting }
PyramidThemeFromSpaceExtension class >> shouldInstall [
^ false
]
-{ #category : 'actions' }
+{ #category : #actions }
PyramidThemeFromSpaceExtension >> configureBuilder: aPyramidEditorBuilder [
(aPyramidEditorBuilder findPlugin: PyramidOpenFromSpacePlugin)
@@ -30,14 +28,14 @@ PyramidThemeFromSpaceExtension >> configureBuilder: aPyramidEditorBuilder [
themePresenter themeSpaceSelector
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidThemeFromSpaceExtension >> configureCloseOnSpace: aSpace [
aSpace toTheme: themeSpaceSelector currentTheme.
aSpace root skinManager postponeRequestSkinIn: aSpace root
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidThemeFromSpaceExtension >> configureOpenFromSpace: aSpace [
"Do something with the space"
@@ -45,13 +43,13 @@ PyramidThemeFromSpaceExtension >> configureOpenFromSpace: aSpace [
aSpace root skinManager postponeRequestSkinIn: aSpace root
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidThemeFromSpaceExtension >> defaultToTheme [
^ defaultToTheme
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidThemeFromSpaceExtension >> defaultToTheme: anObject [
defaultToTheme := anObject.
@@ -59,45 +57,45 @@ PyramidThemeFromSpaceExtension >> defaultToTheme: anObject [
self spaceIsReady ifTrue: [ self informSpaceIsReady ].
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidThemeFromSpaceExtension >> informSpaceIsReady [
self defaultToTheme ifNil: [ self spaceIsReady: true. ^ self ].
self builder space toTheme: self defaultToTheme
]
-{ #category : 'initialization' }
+{ #category : #initialization }
PyramidThemeFromSpaceExtension >> initialize [
spaceIsReady := false.
]
-{ #category : 'displaying' }
+{ #category : #displaying }
PyramidThemeFromSpaceExtension >> installOn: aBuilder [
self builder: aBuilder.
aBuilder addSpaceIsReadyObserver: self.
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidThemeFromSpaceExtension >> spaceIsReady [
^ spaceIsReady
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidThemeFromSpaceExtension >> spaceIsReady: anObject [
spaceIsReady := anObject
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidThemeFromSpaceExtension >> themeSpaceSelector [
^ themeSpaceSelector
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidThemeFromSpaceExtension >> themeSpaceSelector: anObject [
themeSpaceSelector := anObject
diff --git a/src/Pyramid-Toplo/PyramidThemePresenter.class.st b/src/Pyramid-Toplo/PyramidThemePresenter.class.st
index abaeb1d2..d77c8367 100644
--- a/src/Pyramid-Toplo/PyramidThemePresenter.class.st
+++ b/src/Pyramid-Toplo/PyramidThemePresenter.class.st
@@ -1,17 +1,15 @@
Class {
- #name : 'PyramidThemePresenter',
- #superclass : 'SpPresenter',
+ #name : #PyramidThemePresenter,
+ #superclass : #SpPresenter,
#instVars : [
'styleSheetEditor',
'themeSpaceSelector',
'themeElementSelector'
],
- #category : 'Pyramid-Toplo-plugin-theme-management',
- #package : 'Pyramid-Toplo',
- #tag : 'plugin-theme-management'
+ #category : 'Pyramid-Toplo-plugin-theme-management'
}
-{ #category : 'layout' }
+{ #category : #layout }
PyramidThemePresenter >> defaultLayout [
^ SpBoxLayout newVertical
@@ -22,7 +20,7 @@ PyramidThemePresenter >> defaultLayout [
yourself
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidThemePresenter >> editor: aPyramidEditor [
self themeSpaceSelector projectModel: aPyramidEditor projectModel.
@@ -30,7 +28,7 @@ PyramidThemePresenter >> editor: aPyramidEditor [
self themeElementSelector commandExecutor: aPyramidEditor propertiesManager commandExecutor
]
-{ #category : 'layout' }
+{ #category : #layout }
PyramidThemePresenter >> initializePresenters [
themeSpaceSelector := PyramidSpaceThemeSelectorPresenter new.
@@ -38,25 +36,25 @@ PyramidThemePresenter >> initializePresenters [
styleSheetEditor := PyramidStyleSheetEditorPresenter new
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidThemePresenter >> pyramidSpaceBuilderConfigurationOn: aSpaceBuilder [
aSpaceBuilder addExtension: self themeSpaceSelector
]
-{ #category : 'layout' }
+{ #category : #layout }
PyramidThemePresenter >> styleSheetEditor [
^ styleSheetEditor
]
-{ #category : 'layout' }
+{ #category : #layout }
PyramidThemePresenter >> themeElementSelector [
^ themeElementSelector
]
-{ #category : 'layout' }
+{ #category : #layout }
PyramidThemePresenter >> themeSpaceSelector [
^ themeSpaceSelector
diff --git a/src/Pyramid-Toplo/PyramidThemePropertyStrategy.class.st b/src/Pyramid-Toplo/PyramidThemePropertyStrategy.class.st
index 8981bc46..59a0ac89 100644
--- a/src/Pyramid-Toplo/PyramidThemePropertyStrategy.class.st
+++ b/src/Pyramid-Toplo/PyramidThemePropertyStrategy.class.st
@@ -1,12 +1,10 @@
Class {
- #name : 'PyramidThemePropertyStrategy',
- #superclass : 'PyramidHideEmptyPropertyStrategy',
- #category : 'Pyramid-Toplo-plugin-theme-management',
- #package : 'Pyramid-Toplo',
- #tag : 'plugin-theme-management'
+ #name : #PyramidThemePropertyStrategy,
+ #superclass : #PyramidHideEmptyPropertyStrategy,
+ #category : 'Pyramid-Toplo-plugin-theme-management'
}
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidThemePropertyStrategy >> buildPresenterFromCollection: aCollection andManager: aManager [
aManager removeAllProperties.
@@ -14,7 +12,7 @@ PyramidThemePropertyStrategy >> buildPresenterFromCollection: aCollection andMan
^ super buildPresenterFromCollection: aCollection andManager: aManager
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidThemePropertyStrategy >> propertiesFor: aCollectionOfElements [
| elementsWithStyleSheetTheme allPossibleStamps allCommonStamps |
@@ -35,7 +33,7 @@ PyramidThemePropertyStrategy >> propertiesFor: aCollectionOfElements [
^ allCommonStamps collect: [ :each | self propertyForStamp: each ].
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidThemePropertyStrategy >> propertyForStamp: aStamp [
| property |
diff --git a/src/Pyramid-Toplo/PyramidThemeSelectorPresenter.class.st b/src/Pyramid-Toplo/PyramidThemeSelectorPresenter.class.st
index 07bd7e57..6753c8a9 100644
--- a/src/Pyramid-Toplo/PyramidThemeSelectorPresenter.class.st
+++ b/src/Pyramid-Toplo/PyramidThemeSelectorPresenter.class.st
@@ -1,35 +1,33 @@
Class {
- #name : 'PyramidThemeSelectorPresenter',
- #superclass : 'SpPresenter',
+ #name : #PyramidThemeSelectorPresenter,
+ #superclass : #SpPresenter,
#instVars : [
'themeSelector',
'buttonRefreshTheme',
'triggerThemeChangement'
],
- #category : 'Pyramid-Toplo-plugin-theme-management',
- #package : 'Pyramid-Toplo',
- #tag : 'plugin-theme-management'
+ #category : 'Pyramid-Toplo-plugin-theme-management'
}
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidThemeSelectorPresenter >> applyTheme [
self shouldBeImplemented
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidThemeSelectorPresenter >> buttonRefreshTheme [
^ buttonRefreshTheme
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidThemeSelectorPresenter >> currentTheme [
^ self themeSelector selectedItem
]
-{ #category : 'layout' }
+{ #category : #layout }
PyramidThemeSelectorPresenter >> defaultLayout [
^ SpBoxLayout newVertical
@@ -52,7 +50,7 @@ PyramidThemeSelectorPresenter >> defaultLayout [
yourself
]
-{ #category : 'initialization' }
+{ #category : #initialization }
PyramidThemeSelectorPresenter >> initializeAllPossibleThemes [
| allThemes previousTheme |
@@ -72,7 +70,7 @@ PyramidThemeSelectorPresenter >> initializeAllPossibleThemes [
self triggerThemeChangement: true.
]
-{ #category : 'initialization' }
+{ #category : #initialization }
PyramidThemeSelectorPresenter >> initializePresenters [
triggerThemeChangement := false.
@@ -88,13 +86,13 @@ PyramidThemeSelectorPresenter >> initializePresenters [
self initializeAllPossibleThemes
]
-{ #category : 'initialization' }
+{ #category : #initialization }
PyramidThemeSelectorPresenter >> labelPresenter [
^ self shouldBeImplemented
]
-{ #category : 'private' }
+{ #category : #private }
PyramidThemeSelectorPresenter >> selectTheme: aToTheme [
self triggerThemeChangement: false.
@@ -103,7 +101,7 @@ PyramidThemeSelectorPresenter >> selectTheme: aToTheme [
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidThemeSelectorPresenter >> themeSelectionChanged: aThemeClass [
aThemeClass ifNil: [ ^ self ].
@@ -111,25 +109,25 @@ PyramidThemeSelectorPresenter >> themeSelectionChanged: aThemeClass [
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidThemeSelectorPresenter >> themeSelector [
^ themeSelector
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidThemeSelectorPresenter >> triggerThemeChangement [
^ triggerThemeChangement
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidThemeSelectorPresenter >> triggerThemeChangement: anObject [
triggerThemeChangement := anObject
]
-{ #category : 'as yet unclassified' }
+{ #category : #'as yet unclassified' }
PyramidThemeSelectorPresenter >> variantSelectionChanged: aVariantClass [
aVariantClass ifNil: [ ^ self ].
diff --git a/src/Pyramid-Toplo/PyramidToploThemePlugin.class.st b/src/Pyramid-Toplo/PyramidToploThemePlugin.class.st
index c54d95ba..fa3f0d8a 100644
--- a/src/Pyramid-Toplo/PyramidToploThemePlugin.class.st
+++ b/src/Pyramid-Toplo/PyramidToploThemePlugin.class.st
@@ -1,45 +1,126 @@
Class {
- #name : 'PyramidToploThemePlugin',
- #superclass : 'Object',
- #traits : 'TPyramidPlugin + TPyramidElementToAdd',
- #classTraits : 'TPyramidPlugin classTrait + TPyramidElementToAdd classTrait',
+ #name : #PyramidToploThemePlugin,
+ #superclass : #Object,
+ #traits : 'TPyramidPlugin',
+ #classTraits : 'TPyramidPlugin classTrait',
#instVars : [
'themePresenter',
'themePropertyManager'
],
- #category : 'Pyramid-Toplo-plugin-theme-management',
- #package : 'Pyramid-Toplo',
- #tag : 'plugin-theme-management'
+ #category : #'Pyramid-Toplo-plugin-theme-management'
}
-{ #category : 'adding' }
-PyramidToploThemePlugin class >> addOnLibrary: aLibrary [
-
- | classes factories |
- classes := ToElement allSubclasses.
- factories := classes
- reject: [ :each | each isAbstract ]
- thenCollect: [ :class |
- PyramidElementToAddFactory new
- elementIcon:
- (Smalltalk ui icons iconNamed: class systemIconName);
- elementName: class name;
- elementBlock: [ { class new } ];
- yourself ].
-
- aLibrary
- addCategoryWithName: 'Toplo'
- withIcon: (Smalltalk ui icons iconNamed: #smallInfo)
- withAllFactories: factories asArray sorted.
-]
-
-{ #category : 'asserting' }
+{ #category : #asserting }
PyramidToploThemePlugin class >> shouldInstall [
^ false
]
-{ #category : 'adding' }
+{ #category : #adding }
+PyramidToploThemePlugin class >> toploAntIconCategory [
+
+
+ ^ PyramidToploThemePlugin
+ toploIconThemeCategoryFromClass: ToAntDesignIconProvider
+ withCategoryPrefix: 'Ant Design - '
+]
+
+{ #category : #adding }
+PyramidToploThemePlugin class >> toploIconThemeCategoryFromClass: aClass withCategoryPrefix: aString [
+
+ | categoriesMethods |
+ categoriesMethods := aClass class methods select: [ :method |
+ method selector first = $_ and: [
+ ($_ split: method selector) last = 'loaded' ] ].
+
+ ^ categoriesMethods collect: [ :method |
+ | prefix elementSelectors elements |
+ prefix := ($_ split: method selector) second.
+
+ elementSelectors := (aClass perform: method selector) collect: [
+ :suffix | prefix , '_' , suffix ].
+
+ elements := elementSelectors collect: [ :selector |
+ PyramidLibraryElement new
+ name: selector;
+ icon: (Smalltalk ui icons iconNamed: #blank);
+ block: [
+ | image |
+ image := ToImage new
+ size: 48 asPoint;
+ innerImage:
+ (PyramidExternalRessourceProxy new
+ pyramidExternalRessourceSource:
+ (PyramidExternalRessourceSource new
+ postConstructionBlock: [ :obj |
+ obj constraints horizontal
+ matchParent.
+ obj constraints vertical
+ matchParent ];
+ target: BlSvgConverter;
+ selector: #convertFromString:;
+ arguments:
+ { (PyramidExternalRessourceProxy
+ new
+ pyramidExternalRessourceSource:
+ (PyramidExternalRessourceSource
+ new
+ target: aClass;
+ selector: selector asSymbol;
+ arguments: { };
+ yourself);
+ yourself) };
+ yourself);
+ yourself).
+ { image } ];
+ yourself ].
+ PyramidLibraryCategory new
+ name: aString , prefix;
+ icon: (Smalltalk ui icons iconNamed: #image);
+ elements: elements;
+ yourself ]
+]
+
+{ #category : #adding }
+PyramidToploThemePlugin class >> toploLibraryCategory [
+
+
+ | classes elements |
+ classes := ToElement allSubclasses , { ToElement }.
+ elements := classes
+ reject: [ :each |
+ each isAbstract or: [
+ (each name findString: 'Abstract') > 0 or: [
+ [
+ each new.
+ false ]
+ on: Error
+ do: [ true ] ] ] ]
+ thenCollect: [ :class |
+ PyramidLibraryElement new
+ icon:
+ (Smalltalk ui icons iconNamed: class systemIconName);
+ name: class name;
+ block: [ { class new } ];
+ yourself ].
+
+ ^ { (PyramidLibraryCategory new
+ name: 'Toplo';
+ icon: (Smalltalk ui icons iconNamed: #box);
+ elements: (elements sorted: [ :a :b | a name < b name ]);
+ yourself) }
+]
+
+{ #category : #adding }
+PyramidToploThemePlugin class >> toploMaterialIconCategory [
+
+
+ ^ PyramidToploThemePlugin
+ toploIconThemeCategoryFromClass: ToMaterialDesignIconProvider
+ withCategoryPrefix: 'Material Design - '
+]
+
+{ #category : #adding }
PyramidToploThemePlugin >> addPanelsOn: aPyramidSimpleWindow [
aPyramidSimpleWindow at: #tabRight addItem: [ :builder |
@@ -50,7 +131,7 @@ PyramidToploThemePlugin >> addPanelsOn: aPyramidSimpleWindow [
order: 1 ]
]
-{ #category : 'actions' }
+{ #category : #actions }
PyramidToploThemePlugin >> configureBuilder: aPyramidEditorBuilder [
| spacePlugin |
@@ -58,14 +139,14 @@ PyramidToploThemePlugin >> configureBuilder: aPyramidEditorBuilder [
self themePresenter pyramidSpaceBuilderConfigurationOn: spacePlugin builder
]
-{ #category : 'connecting' }
+{ #category : #connecting }
PyramidToploThemePlugin >> connectOn: aPyramidEditor [
self themePresenter editor: aPyramidEditor.
self themePropertyManager projectModel: aPyramidEditor projectModel
]
-{ #category : 'initialization' }
+{ #category : #initialization }
PyramidToploThemePlugin >> initialize [
themePresenter := PyramidThemePresenter new.
@@ -76,13 +157,13 @@ PyramidToploThemePlugin >> initialize [
themePresenter styleSheetEditor stampPresenter: themePropertyManager presenter
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidToploThemePlugin >> themePresenter [
^ themePresenter
]
-{ #category : 'accessing' }
+{ #category : #accessing }
PyramidToploThemePlugin >> themePropertyManager [
^ themePropertyManager
diff --git a/src/Pyramid-Toplo/package.st b/src/Pyramid-Toplo/package.st
index f130d9ab..3788959f 100644
--- a/src/Pyramid-Toplo/package.st
+++ b/src/Pyramid-Toplo/package.st
@@ -1 +1 @@
-Package { #name : 'Pyramid-Toplo' }
+Package { #name : #'Pyramid-Toplo' }
diff --git a/src/Pyramid/Object.extension.st b/src/Pyramid/Object.extension.st
new file mode 100644
index 00000000..30172d0c
--- /dev/null
+++ b/src/Pyramid/Object.extension.st
@@ -0,0 +1,7 @@
+Extension { #name : #Object }
+
+{ #category : #'*Pyramid' }
+Object >> isPyramidProxy [
+
+ ^ false
+]
diff --git a/src/Pyramid/PyramidAbstractMemento.class.st b/src/Pyramid/PyramidAbstractMemento.class.st
index 34aead3d..c46d77d0 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 b4a0224b..6e949f47 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 c1eb5377..4fe0c85f 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 01669d1d..9c5d599d 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 b008d470..1eaf90b9 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 3a225279..5e54f874 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 fb260465..b8abac35 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 c9ef304d..149a4fba 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 5a938884..4c90f21d 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/PyramidColorInputSingleLinePresenter.class.st b/src/Pyramid/PyramidColorInputSingleLinePresenter.class.st
index a8e43c2a..7e360de6 100644
--- a/src/Pyramid/PyramidColorInputSingleLinePresenter.class.st
+++ b/src/Pyramid/PyramidColorInputSingleLinePresenter.class.st
@@ -7,7 +7,7 @@ Class {
'previewPresenter',
'whenValueChangedDo'
],
- #category : #'Pyramid-specs-custom'
+ #category : 'Pyramid-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid/PyramidColorInputSingleLineWithPickupButtonPresenter.class.st b/src/Pyramid/PyramidColorInputSingleLineWithPickupButtonPresenter.class.st
index 714b612e..1555fb4c 100644
--- a/src/Pyramid/PyramidColorInputSingleLineWithPickupButtonPresenter.class.st
+++ b/src/Pyramid/PyramidColorInputSingleLineWithPickupButtonPresenter.class.st
@@ -7,7 +7,7 @@ Class {
'multiLinesInput',
'whenValueChangedDo'
],
- #category : #'Pyramid-specs-custom'
+ #category : 'Pyramid-specs-custom'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid/PyramidCommand.class.st b/src/Pyramid/PyramidCommand.class.st
index 4bf754c6..2d357fcd 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 8c3a2038..5772a51d 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 ec7ddd8a..2ac31b4b 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 ad4e0420..a916836b 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 f3eb07f9..21205187 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/PyramidDashArrayInputPresenter.class.st b/src/Pyramid/PyramidDashArrayInputPresenter.class.st
index 4f483d5f..f6681a39 100644
--- a/src/Pyramid/PyramidDashArrayInputPresenter.class.st
+++ b/src/Pyramid/PyramidDashArrayInputPresenter.class.st
@@ -5,7 +5,7 @@ Class {
'submitBlock',
'inputArray'
],
- #category : #'Pyramid-specs-custom'
+ #category : 'Pyramid-specs-custom'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid/PyramidDynamicLayoutAllPanels.class.st b/src/Pyramid/PyramidDynamicLayoutAllPanels.class.st
index 71042492..163e7b7b 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 860e12b3..d2eb1287 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 5556f2b0..aa2b005c 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 802da25a..a7dc8427 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 8503c2a0..1f5856e5 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 995c2ae8..580bfe38 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/PyramidEditor.class.st b/src/Pyramid/PyramidEditor.class.st
index b4177428..f77eaa30 100644
--- a/src/Pyramid/PyramidEditor.class.st
+++ b/src/Pyramid/PyramidEditor.class.st
@@ -10,7 +10,7 @@ Class {
'propertiesManager',
'announcer'
],
- #category : #'Pyramid-core'
+ #category : 'Pyramid-core'
}
{ #category : #private }
diff --git a/src/Pyramid/PyramidEditorBuilder.class.st b/src/Pyramid/PyramidEditorBuilder.class.st
index d2e9ba64..0177e0e1 100644
--- a/src/Pyramid/PyramidEditorBuilder.class.st
+++ b/src/Pyramid/PyramidEditorBuilder.class.st
@@ -8,7 +8,7 @@ Class {
'editor',
'window'
],
- #category : #'Pyramid-core'
+ #category : 'Pyramid-core'
}
{ #category : #building }
diff --git a/src/Pyramid/PyramidElementsChangedEvent.class.st b/src/Pyramid/PyramidElementsChangedEvent.class.st
index 32699db6..2d2b18b2 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 5d6002d3..008c8d64 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 e75716ca..a7b3e921 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 c7ebff97..f8c0c807 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/PyramidExternalRessourceProxy.class.st b/src/Pyramid/PyramidExternalRessourceProxy.class.st
index 880cc1a3..049fdf16 100644
--- a/src/Pyramid/PyramidExternalRessourceProxy.class.st
+++ b/src/Pyramid/PyramidExternalRessourceProxy.class.st
@@ -3,7 +3,8 @@ Class {
#superclass : #Object,
#instVars : [
'object',
- 'source'
+ 'source',
+ 'hasComputedObject'
],
#category : #'Pyramid-external-ressources'
}
@@ -13,19 +14,46 @@ PyramidExternalRessourceProxy class >> fromSource: aSource [
^ self new
pyramidExternalRessourceSource: aSource;
- pyramidExternalRessourceObject: aSource getRessource;
yourself
]
+{ #category : #'instance creation' }
+PyramidExternalRessourceProxy class >> fromTarget: aTarget selector: aSelector arguments: aCollection [
+
+ ^ self fromTarget: aTarget selector: aSelector arguments: aCollection withPostConstructionBlock: nil
+]
+
+{ #category : #'instance creation' }
+PyramidExternalRessourceProxy class >> fromTarget: aTarget selector: aSelector arguments: aCollection withPostConstructionBlock: aBlock [
+
+ ^ self fromSource: (PyramidExternalRessourceSource
+ target: aTarget
+ selector: aSelector
+ arguments: aCollection
+ postConstructionBlock: aBlock)
+]
+
+{ #category : #converting }
+PyramidExternalRessourceProxy >> asStashConstructor [
+
+ ^ self class printString , ' new'
+]
+
{ #category : #'as yet unclassified' }
PyramidExternalRessourceProxy >> doesNotUnderstand: aMessage [
- ^ (self pyramidExternalRessourceObject respondsTo: aMessage selector)
- ifTrue: [
- self pyramidExternalRessourceObject
- perform: aMessage selector
- withEnoughArguments: aMessage arguments ]
- ifFalse: [ super doesNotUnderstand: aMessage ]
+ | returnValue target |
+ target := self pyramidExternalRessourceObject.
+ self pyramidExternalRessourceObject isPyramidProxy ifTrue: [ ^ target doesNotUnderstand: aMessage ].
+
+ (target respondsTo: aMessage selector)
+ ifFalse: [ ^ super doesNotUnderstand: aMessage ].
+
+ returnValue := target
+ perform: aMessage selector
+ withEnoughArguments: aMessage arguments.
+ returnValue == object ifTrue: [ ^ self ].
+ ^ returnValue
]
{ #category : #'instance creation' }
@@ -37,10 +65,265 @@ PyramidExternalRessourceProxy >> fromSton: stonReader [
] ]
]
+{ #category : #initialization }
+PyramidExternalRessourceProxy >> initialize [
+
+ super initialize.
+ hasComputedObject := false.
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isArray [
+
+ ^ self pyramidExternalRessourceObject isArray
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isAssociation [
+
+ ^ self pyramidExternalRessourceObject isAssociation
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isBehavior [
+
+ ^ self pyramidExternalRessourceObject isBehavior
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isBlock [
+
+ ^ self pyramidExternalRessourceObject isBlock
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isCharacter [
+
+ ^ self pyramidExternalRessourceObject isCharacter
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isClass [
+
+ ^ self pyramidExternalRessourceObject isClass
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isClassOrTrait [
+
+ ^ self pyramidExternalRessourceObject isClassOrTrait
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isClosure [
+
+ ^ self pyramidExternalRessourceObject isClosure
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isCollection [
+
+ ^ self pyramidExternalRessourceObject isCollection
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isColor [
+
+ ^ self pyramidExternalRessourceObject isColor
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isColorForm [
+
+ ^ self pyramidExternalRessourceObject isColorForm
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isCompiledBlock [
+
+ ^ self pyramidExternalRessourceObject isCompiledBlock
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isCompiledMethod [
+
+ ^ self pyramidExternalRessourceObject isCompiledMethod
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isContext [
+
+ ^ self pyramidExternalRessourceObject isContext
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isDictionary [
+
+ ^ self pyramidExternalRessourceObject isDictionary
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isEmbeddedBlock [
+
+ ^ self pyramidExternalRessourceObject isEmbeddedBlock
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isFloat [
+
+ ^ self pyramidExternalRessourceObject isFloat
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isForm [
+
+ ^ self pyramidExternalRessourceObject isForm
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isFraction [
+
+ ^ self pyramidExternalRessourceObject isFraction
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isHeap [
+
+ ^ self pyramidExternalRessourceObject isHeap
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isInteger [
+
+ ^ self pyramidExternalRessourceObject isInteger
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isInterval [
+
+ ^ self pyramidExternalRessourceObject isInterval
+]
+
+{ #category : #'class membership' }
+PyramidExternalRessourceProxy >> isKindOf: aClass [
+
+ ^ self pyramidExternalRessourceObject isKindOf: aClass
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isLiteral [
+
+ ^ self pyramidExternalRessourceObject isLiteral
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isMessageSend [
+
+ ^ self pyramidExternalRessourceObject isMessageSend
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isMethodProperties [
+
+ ^ self pyramidExternalRessourceObject isMethodProperties
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isMorph [
+
+ ^ self pyramidExternalRessourceObject isMorph
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isMorphicEvent [
+
+ ^ self pyramidExternalRessourceObject isMorphicEvent
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isNotNil [
+
+ ^ self pyramidExternalRessourceObject isNotNil
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isNumber [
+
+ ^ self pyramidExternalRessourceObject isNumber
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isPoint [
+
+ ^ self pyramidExternalRessourceObject isPoint
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isPyramidProxy [
+
+ ^ true
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isRectangle [
+
+ ^ self pyramidExternalRessourceObject isRectangle
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isStream [
+
+ ^ self pyramidExternalRessourceObject isStream
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isString [
+
+ ^ self pyramidExternalRessourceObject isString
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isSymbol [
+
+ ^ self pyramidExternalRessourceObject isSymbol
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isSystemWindow [
+
+ ^ self pyramidExternalRessourceObject isSystemWindow
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isText [
+
+ ^ self pyramidExternalRessourceObject isText
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isTrait [
+
+ ^ self pyramidExternalRessourceObject isTrait
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> isVariableBinding [
+
+ ^ self pyramidExternalRessourceObject isVariableBinding
+]
+
+{ #category : #testing }
+PyramidExternalRessourceProxy >> notNil [
+
+ ^ self pyramidExternalRessourceObject notNil
+]
+
{ #category : #accessing }
PyramidExternalRessourceProxy >> pyramidExternalRessourceObject [
- object ifNil: [ object := self pyramidExternalRessourceSource getRessource ].
+ hasComputedObject ifFalse: [
+ hasComputedObject := true.
+ object := self pyramidExternalRessourceSource getRessource ].
^ object
]
@@ -62,11 +345,23 @@ PyramidExternalRessourceProxy >> pyramidExternalRessourceSource: anObject [
source := anObject
]
+{ #category : #asserting }
+PyramidExternalRessourceProxy >> shouldSerializedChildren [
+
+ ^ false
+]
+
+{ #category : #accessing }
+PyramidExternalRessourceProxy >> size [
+
+ ^ self pyramidExternalRessourceObject size
+]
+
{ #category : #'as yet unclassified' }
PyramidExternalRessourceProxy >> stashAccessors [
- ^ { #pyramidExternalRessourceSource }
+ ^ { #pyramidExternalRessourceSource . #pyramidExternalRessourceObject onlyGetOnStash }
]
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid/PyramidExternalRessourceSource.class.st b/src/Pyramid/PyramidExternalRessourceSource.class.st
index 562455dc..9bf6ea03 100644
--- a/src/Pyramid/PyramidExternalRessourceSource.class.st
+++ b/src/Pyramid/PyramidExternalRessourceSource.class.st
@@ -4,7 +4,8 @@ Class {
#instVars : [
'target',
'selector',
- 'arguments'
+ 'arguments',
+ 'postConstructionBlock'
],
#category : #'Pyramid-external-ressources'
}
@@ -20,21 +21,33 @@ PyramidExternalRessourceSource class >> formFromFileNamed: aFileReference [
]
{ #category : #initialization }
-PyramidExternalRessourceSource class >> target: aClass selector: aSelector [
+PyramidExternalRessourceSource class >> target: anObject selector: aSelector [
- ^ self new
- target: aClass;
- selector: aSelector;
- yourself
+ ^ self
+ target: anObject
+ selector: aSelector
+ arguments: { }
+ postConstructionBlock: nil
+]
+
+{ #category : #initialization }
+PyramidExternalRessourceSource class >> target: anObject selector: aSelector arguments: anArray [
+
+ ^ self
+ target: anObject
+ selector: aSelector
+ arguments: anArray
+ postConstructionBlock: nil
]
{ #category : #initialization }
-PyramidExternalRessourceSource class >> target: aClass selector: aSelector arguments: anArray [
+PyramidExternalRessourceSource class >> target: anObject selector: aSelector arguments: anArray postConstructionBlock: aBlock [
^ self new
- target: aClass;
+ target: anObject;
selector: aSelector;
arguments: anArray;
+ postConstructionBlock: aBlock;
yourself
]
@@ -63,13 +76,32 @@ PyramidExternalRessourceSource >> fromSton: stonReader [
{ #category : #'as yet unclassified' }
PyramidExternalRessourceSource >> getRessource [
- ^ self target perform: self selector withArguments: self arguments
+ | ressource |
+ ressource := self target
+ perform: self selector
+ withArguments: self arguments.
+ self postConstructionBlock ifNotNil: [ :block |
+ block value: ressource ].
+ ^ ressource
]
{ #category : #initialization }
PyramidExternalRessourceSource >> initialize [
- arguments := { }
+ arguments := { }.
+ postConstructionBlock := nil.
+]
+
+{ #category : #accessing }
+PyramidExternalRessourceSource >> postConstructionBlock [
+
+ ^ postConstructionBlock
+]
+
+{ #category : #accessing }
+PyramidExternalRessourceSource >> postConstructionBlock: anObject [
+
+ postConstructionBlock := anObject
]
{ #category : #accessing }
@@ -88,7 +120,12 @@ PyramidExternalRessourceSource >> selector: anObject [
PyramidExternalRessourceSource >> stashAccessors [
- ^ { #target . #selector . #arguments }
+ | accessors |
+ accessors := OrderedCollection new.
+ accessors addAll: { #target. #selector. #arguments }.
+ self postConstructionBlock ifNotNil: [
+ accessors add: #postConstructionBlock ].
+ ^ accessors
]
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid/PyramidFirstLevelElementsChangedEvent.class.st b/src/Pyramid/PyramidFirstLevelElementsChangedEvent.class.st
index ff3b191c..87df6823 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 88b4473b..947f16af 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 05a8d77e..ef604005 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 db1f02d1..5244150a 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/PyramidHistoryPlugin.class.st b/src/Pyramid/PyramidHistoryPlugin.class.st
index 1d34c2b8..54e8d3c3 100644
--- a/src/Pyramid/PyramidHistoryPlugin.class.st
+++ b/src/Pyramid/PyramidHistoryPlugin.class.st
@@ -9,7 +9,7 @@ Class {
'history',
'projectModel'
],
- #category : #'Pyramid-history'
+ #category : 'Pyramid-history'
}
{ #category : #adding }
diff --git a/src/Pyramid/PyramidInputPresenter.class.st b/src/Pyramid/PyramidInputPresenter.class.st
index a69babbd..07234de5 100644
--- a/src/Pyramid/PyramidInputPresenter.class.st
+++ b/src/Pyramid/PyramidInputPresenter.class.st
@@ -15,7 +15,7 @@ Class {
#instVars : [
'strings'
],
- #category : #'Pyramid-specs-custom'
+ #category : 'Pyramid-specs-custom'
}
{ #category : #testing }
diff --git a/src/Pyramid/PyramidInputStrings.class.st b/src/Pyramid/PyramidInputStrings.class.st
index 1e71cb65..3c6c87c5 100644
--- a/src/Pyramid/PyramidInputStrings.class.st
+++ b/src/Pyramid/PyramidInputStrings.class.st
@@ -4,7 +4,7 @@ Class {
#instVars : [
'help'
],
- #category : #'Pyramid-specs-custom'
+ #category : 'Pyramid-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid/PyramidMagicButtonModel.class.st b/src/Pyramid/PyramidMagicButtonModel.class.st
index 70cf3671..6896975c 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/PyramidMagicButtonsInputPresenter.class.st b/src/Pyramid/PyramidMagicButtonsInputPresenter.class.st
index 9b25f781..78aeeb53 100644
--- a/src/Pyramid/PyramidMagicButtonsInputPresenter.class.st
+++ b/src/Pyramid/PyramidMagicButtonsInputPresenter.class.st
@@ -13,7 +13,7 @@ Class {
#classInstVars : [
'whenValueChangedDo'
],
- #category : #'Pyramid-specs-custom'
+ #category : 'Pyramid-specs-custom'
}
{ #category : #deprecated }
diff --git a/src/Pyramid/PyramidMagicButtonsModel.class.st b/src/Pyramid/PyramidMagicButtonsModel.class.st
index 5dc13c58..212f63ff 100644
--- a/src/Pyramid/PyramidMagicButtonsModel.class.st
+++ b/src/Pyramid/PyramidMagicButtonsModel.class.st
@@ -4,7 +4,7 @@ Class {
#instVars : [
'buttonsModel'
],
- #category : #'Pyramid-specs-custom'
+ #category : 'Pyramid-specs-custom'
}
{ #category : #adding }
diff --git a/src/Pyramid/PyramidMainCommandExecutor.class.st b/src/Pyramid/PyramidMainCommandExecutor.class.st
index 2f95fb28..7fe07c65 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 11e5ba91..f7c9366d 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 c57aa50e..346271e3 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 ac63c5f9..22e9231a 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 d3922776..ceb678b2 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/PyramidModalInputStrings.class.st b/src/Pyramid/PyramidModalInputStrings.class.st
index dacde292..5dfc8a0a 100644
--- a/src/Pyramid/PyramidModalInputStrings.class.st
+++ b/src/Pyramid/PyramidModalInputStrings.class.st
@@ -4,7 +4,7 @@ Class {
#instVars : [
'windowTitle'
],
- #category : #'Pyramid-specs-custom'
+ #category : 'Pyramid-specs-custom'
}
{ #category : #initialization }
diff --git a/src/Pyramid/PyramidMultiplePluginsFoundError.class.st b/src/Pyramid/PyramidMultiplePluginsFoundError.class.st
index e9d18706..0fd8d9db 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 44d26e83..140a4fbb 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/PyramidNumberArrayInputPresenter.class.st b/src/Pyramid/PyramidNumberArrayInputPresenter.class.st
index 8d4a5b5c..cae0b377 100644
--- a/src/Pyramid/PyramidNumberArrayInputPresenter.class.st
+++ b/src/Pyramid/PyramidNumberArrayInputPresenter.class.st
@@ -5,7 +5,7 @@ Class {
'submitBlock',
'inputArray'
],
- #category : #'Pyramid-specs-custom'
+ #category : 'Pyramid-specs-custom'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid/PyramidNumberInputPresenter.class.st b/src/Pyramid/PyramidNumberInputPresenter.class.st
index 138106b3..a39df4d2 100644
--- a/src/Pyramid/PyramidNumberInputPresenter.class.st
+++ b/src/Pyramid/PyramidNumberInputPresenter.class.st
@@ -8,7 +8,7 @@ Class {
'inputNumber',
'submitBlock'
],
- #category : #'Pyramid-specs-custom'
+ #category : 'Pyramid-specs-custom'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid/PyramidPanelBuilder.class.st b/src/Pyramid/PyramidPanelBuilder.class.st
index f87319a7..0fa3f566 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 b9485ade..6b5512c7 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 eb1d2274..304a7345 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 08019f82..f9ee24f3 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 621ccdc9..59365d8d 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 fa066358..d64e1aa2 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/PyramidPointInputPresenter.class.st b/src/Pyramid/PyramidPointInputPresenter.class.st
index 7e531bbd..863b777a 100644
--- a/src/Pyramid/PyramidPointInputPresenter.class.st
+++ b/src/Pyramid/PyramidPointInputPresenter.class.st
@@ -8,7 +8,7 @@ Class {
'labelX',
'labelY'
],
- #category : #'Pyramid-specs-custom'
+ #category : 'Pyramid-specs-custom'
}
{ #category : #accessing }
diff --git a/src/Pyramid/PyramidPointInputStrings.class.st b/src/Pyramid/PyramidPointInputStrings.class.st
index cc620893..692431d8 100644
--- a/src/Pyramid/PyramidPointInputStrings.class.st
+++ b/src/Pyramid/PyramidPointInputStrings.class.st
@@ -5,7 +5,7 @@ Class {
'labelX',
'labelY'
],
- #category : #'Pyramid-specs-custom'
+ #category : 'Pyramid-specs-custom'
}
{ #category : #initialization }
diff --git a/src/Pyramid/PyramidPopingPresenterBuilder.class.st b/src/Pyramid/PyramidPopingPresenterBuilder.class.st
index ff684f5f..ac7cf9b0 100644
--- a/src/Pyramid/PyramidPopingPresenterBuilder.class.st
+++ b/src/Pyramid/PyramidPopingPresenterBuilder.class.st
@@ -7,7 +7,7 @@ I create a presenter with a main input to change property of all element at once
Class {
#name : #PyramidPopingPresenterBuilder,
#superclass : #PyramidPropertyPresenterBuilder,
- #category : #'Pyramid-property'
+ #category : 'Pyramid-property'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid/PyramidPopoverFactory.class.st b/src/Pyramid/PyramidPopoverFactory.class.st
index 3ac14869..360c92b2 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 555ffa0e..fa28e68e 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 d915aae3..8645e67d 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/PyramidProjectModel.class.st b/src/Pyramid/PyramidProjectModel.class.st
index 4cb9ccf6..0fc5a122 100644
--- a/src/Pyramid/PyramidProjectModel.class.st
+++ b/src/Pyramid/PyramidProjectModel.class.st
@@ -6,7 +6,7 @@ Class {
'firstLevelElements',
'selection'
],
- #category : #'Pyramid-models'
+ #category : 'Pyramid-models'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid/PyramidProjectModelEvent.class.st b/src/Pyramid/PyramidProjectModelEvent.class.st
index 2188ab33..fc4f9a59 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/PyramidPropertiesManager.class.st b/src/Pyramid/PyramidPropertiesManager.class.st
index 06fdd063..bc4c20bc 100644
--- a/src/Pyramid/PyramidPropertiesManager.class.st
+++ b/src/Pyramid/PyramidPropertiesManager.class.st
@@ -7,7 +7,7 @@ Class {
'presenterStrategy',
'history'
],
- #category : #'Pyramid-property'
+ #category : 'Pyramid-property'
}
{ #category : #removing }
diff --git a/src/Pyramid/PyramidPropertiesManagerForSelection.class.st b/src/Pyramid/PyramidPropertiesManagerForSelection.class.st
index 050d83c7..60a4f063 100644
--- a/src/Pyramid/PyramidPropertiesManagerForSelection.class.st
+++ b/src/Pyramid/PyramidPropertiesManagerForSelection.class.st
@@ -6,7 +6,7 @@ Class {
'shouldComputeProperties',
'projectModel'
],
- #category : #'Pyramid-property'
+ #category : 'Pyramid-property'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid/PyramidProperty.class.st b/src/Pyramid/PyramidProperty.class.st
index 52ded07c..22eeaad6 100644
--- a/src/Pyramid/PyramidProperty.class.st
+++ b/src/Pyramid/PyramidProperty.class.st
@@ -9,7 +9,7 @@ Class {
'name',
'pyramidInputPresenterStrings'
],
- #category : #'Pyramid-property'
+ #category : 'Pyramid-property'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid/PyramidPropertyNotInstalledError.class.st b/src/Pyramid/PyramidPropertyNotInstalledError.class.st
index 839cb6c3..7d3481d4 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/PyramidPropertyPopupPresenter.class.st b/src/Pyramid/PyramidPropertyPopupPresenter.class.st
index a0af4e94..afb43214 100644
--- a/src/Pyramid/PyramidPropertyPopupPresenter.class.st
+++ b/src/Pyramid/PyramidPropertyPopupPresenter.class.st
@@ -8,7 +8,7 @@ Class {
'groupedPresenters',
'name'
],
- #category : #'Pyramid-property'
+ #category : 'Pyramid-property'
}
{ #category : #accessing }
diff --git a/src/Pyramid/PyramidPropertyPresenterBuilder.class.st b/src/Pyramid/PyramidPropertyPresenterBuilder.class.st
index 1eedbf21..8acdca0d 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 e039ab4d..906f28c3 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 cf9386a4..364c829a 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 363506a3..9f8f2f2f 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 1f5a6e7a..56ec2b4d 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 f3ad34a3..2dadf5af 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 5ae77801..15200275 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 2939f972..3e3c884c 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/PyramidSwitchInputStrings.class.st b/src/Pyramid/PyramidSwitchInputStrings.class.st
index 5304a8ef..f7c1c547 100644
--- a/src/Pyramid/PyramidSwitchInputStrings.class.st
+++ b/src/Pyramid/PyramidSwitchInputStrings.class.st
@@ -6,7 +6,7 @@ Class {
'offLabel',
'uncertainLabel'
],
- #category : #'Pyramid-specs-custom'
+ #category : 'Pyramid-specs-custom'
}
{ #category : #initialization }
diff --git a/src/Pyramid/PyramidTabItem.class.st b/src/Pyramid/PyramidTabItem.class.st
index b2277756..90a32b64 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 b2f5aa0c..71065a73 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/PyramidTextInputPresenter.class.st b/src/Pyramid/PyramidTextInputPresenter.class.st
index a3323814..81f20676 100644
--- a/src/Pyramid/PyramidTextInputPresenter.class.st
+++ b/src/Pyramid/PyramidTextInputPresenter.class.st
@@ -8,7 +8,7 @@ Class {
#instVars : [
'textInput'
],
- #category : #'Pyramid-specs-custom'
+ #category : 'Pyramid-specs-custom'
}
{ #category : #'as yet unclassified' }
diff --git a/src/Pyramid/PyramidToolbarItem.class.st b/src/Pyramid/PyramidToolbarItem.class.st
index 1872c58a..b31fc578 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 cb40c62d..8adfdd4e 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 8ac2ac34..052394ad 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 6b4fdc96..e5b0012f 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/TPyramidFindPlugin.trait.st b/src/Pyramid/TPyramidFindPlugin.trait.st
index 79944593..d6ae1080 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 20e56c9a..5472abad 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 }