Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Library to create Bloc elements & Toplo widgets #168

Open
labordep opened this issue Mar 17, 2024 · 3 comments · May be fixed by #179
Open

Library to create Bloc elements & Toplo widgets #168

labordep opened this issue Mar 17, 2024 · 3 comments · May be fixed by #179
Labels
enhancement New feature or request question Further information is requested
Milestone

Comments

@labordep
Copy link
Member

Hi @Nyan11,
I'm considering the library panel for creating elements (when click on + button of the tree).
I would like to propose a similar architecture to the "Pharo Settings", based on a pragma in methods.

Thus, all declared pragma should offer contents for the library (or catalog) similar to how classes offer Settings content.
It can be provided by active plugins or static classes. I'm not sure, but I think using plugins is more coherent with Pyramid principles.

This content can be a tree organized as menu or Tree Settings with a dedicated structure.
We can start from actuel PyramidLibraryElement to add these features.

The need is:

  • To provide basics BlElements prepared with shapes or properties (text, square, circle, image, etc.)
  • To offer Toplo Widgets, organized into categories (action, list, pane, etc.).

What is you opinion?

@labordep labordep added enhancement New feature or request question Further information is requested labels Mar 17, 2024
@labordep labordep added this to the alpha 5 milestone Mar 17, 2024
@Nyan11
Copy link
Collaborator

Nyan11 commented Apr 4, 2024

Currently, you have to write a BlocClosure that create a new BlElement to add it to the library list.

based on a pragma in methods

We can also imagine a solution based on the subclasses of BlElement. I do not like the class solution because there is a lot of subclasses of BlElement. The pragma solution remove the need to have any plugins because the pragma will automatically be detected.

It can be provided by active plugins or static classes.

plugins. This way we will have a plugin for Bloc and one for Toplo. Because Pragma are automatically detected, there will be a plugin that do not bring any modificaiton to Pyramid, it will just contains the Pragma for the library.

Later we could add a plugin with logos and icons.

This content can be a tree organized as menu

We should brainstorm all the elements we need in the library, and then organize them. It will be easier to make the different section and decide if the catalog model is a tree, a list or something else.

@Nyan11
Copy link
Collaborator

Nyan11 commented Apr 4, 2024

We can even imagine a system where each plugins bring it's on catalog.
For example the BlocLibrary plugin will be a list and the ToploLibrary plugin will be a menu with different categories.

@Nyan11
Copy link
Collaborator

Nyan11 commented Apr 4, 2024

image

@Nyan11 Nyan11 linked a pull request Jun 15, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants