OpenSmock / Pyramid

Pyramid is a Graphical User-Interface (GUI) builder and editor for Bloc and Toplo.
MIT License
29 stars 5 forks source link

Toplo with themes and skins #156

Closed Nyan11 closed 2 months ago

Nyan11 commented 3 months ago

Fix: #155

It is a PR to make Pyramid compatible with Toplo.

You need to validate the pull request on Bloc-Serialization at: https://github.com/OpenSmock/Bloc-Serialization/pull/14.

Attention when this version will be merged it will possibily break all projects that currently use Pyramid.

It change the serialization (all examples are brokens + all specials widget (switch and visibility). It change deep mechanics inside Pyramid.

Nyan11 commented 3 months ago

What's comming: image

labordep commented 3 months ago

Thanks @Nyan11

You need to validate the pull request on Bloc-Serialization at: OpenSmock/Bloc-Serialization#14.

Ok, I have a review with comments.

Attention when this version will be merged it will possibily break all projects that currently use Pyramid.

No problem this is an alpha version and this is normal to introduce problems between them.

labordep commented 2 months ago

TODO: This script should load with Toplo by default:

Metacello new
    baseline: 'Pyramid';
    repository: 'github://OpenSmock/Pyramid:main/src';
    load
labordep commented 2 months ago

@Nyan11 I think the example PyramidToploExamples>>buttons need to be recreate because there is an exception on opening. And this is strange because ToElement have serialized children :/

Nyan11 commented 2 months ago

@Nyan11 I think the example PyramidToploExamples>>buttons need to be recreate because there is an exception on opening. And this is strange because ToElement have serialized children :/

I will check it

Nyan11 commented 2 months ago

We need to load the dev branch of Toplo but currently the dev branch of Toplo is bugged

Nyan11 commented 2 months ago

@labordep Everything should work, but you need to merge first: https://github.com/OpenSmock/Toplo-Serialization/pull/1 and: https://github.com/pharo-graphics/Toplo/pull/123 . You should check on your side if everithing is ok before merging.

Toplo-Serialization -> If we have a ToElement, it should serialized itt's children. If we have anything with TToPlaceHolder trait it should serialize it's children. Everithing else should not serialize it's children.

Toplo -> There is a bug that make impossible to instanciate ToElement currently on master ... (it also break the tests of Toplo-Serialization)

labordep commented 2 months ago

@labordep Everything should work, but you need to merge first: OpenSmock/Toplo-Serialization#1 and: pharo-graphics/Toplo#123 . You should check on your side if everithing is ok before merging.

Toplo-Serialization -> If we have a ToElement, it should serialized itt's children. If we have anything with TToPlaceHolder trait it should serialize it's children. Everithing else should not serialize it's children.

Toplo -> There is a bug that make impossible to instanciate ToElement currently on master ... (it also break the tests of Toplo-Serialization)

Ok I can launch the example, but buttons are all the same:

image

@Nyan11 I'm trying to reload a new image from scratch.

Nyan11 commented 2 months ago

Do you have this ?

image

It is a menu to select the theme

labordep commented 2 months ago

Do you have this ?

image

It is a menu to select the theme

Yes good! But when I save and re-edit the theme that I choose is not recovered. Is it normal?

Nyan11 commented 2 months ago

Yes i did not implement a way to save the default theme for the space.

Nyan11 commented 2 months ago

It is complicated, since it only saves the BlElements inside the space and not directly the space ...

labordep commented 2 months ago

It is complicated, since it only saves the BlElements inside the space and not directly the space ...

Ok thanks @Nyan11, we will discuss on that later.