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

Block Factory #36

Open
Tournesol01 opened this issue Nov 3, 2021 Discussed in #35 · 1 comment
Open

Block Factory #36

Tournesol01 opened this issue Nov 3, 2021 Discussed in #35 · 1 comment
Labels
enhancement New feature or request

Comments

@Tournesol01
Copy link

Tournesol01 commented Nov 3, 2021

Discussed in #35

Originally posted by Tournesol01 November 3, 2021
Je me suis amusé avec la version BLOCKLY FACTORY disponible dans BLOCKLINO.

Je suppose que toutes les versions de BLOCKLY FACTORY sont semblables.

Je suppose aussi que, à l'heure actuelle, l'implémentation de BLOCKLY FACTORY dans S4E n'est pas la priorité.

C'est donc le bon moment pour vous faire part des défauts que je trouve à cette version de BLOCKLY FACTORY.

Lorsqu'on élabore le futur bloc, la prévisualisation montre l'aspect final du bloc, et la fenêtre "aspect visuel" donne le code descripteur de cet aspect. Parfait.

Premier... inconvénient :
Quand on complète le code dans la fenêtre "Codes générés C/C++" , on ne dispose d'aucun moyen de pré-visualiser le résultat réel du code C++ qui sera généré par ce bloc.
Le seul moyen consiste à ajouter le bloc avec "Ajouter à Blocklino" (dans le cas de Blocklino), puis de tester l'effet du nouveau bloc dans la partie «code» de Blocklino.

Deuxième inconvénient :
Lorsqu'on enregistre le bloc, on enregistre bien un fichier ".bf" qui contient seulement le descripteur du bloc, mais pas le code associé C/C++ qu'on a mis au point.

Or, après avoir ajouté le bloc à Blocklino, la fenêtre "Factory" se referme et on perd le code en question ---> si on doit reprendre le bloc pour le modifier, on récupère donc son aspect, mais pas le code C++ associé !

... et on doit recommencer le codage (qui peut parfois être très complexe), sauf si on a pensé à faire un copier/coller (dans un éditeur de texte externe) du contenu de la fenêtre "Codes générés C/C++" .
Dommage !

Troisième inconvénient :
Quand on ajoute un bloc à Blocklino, on a le choix de la catégorie de destination, mais
-- pas le choix de la sous catégorie (quand il en existe) ;
-- pas de possibilité de créer éventuellement une catégorie "perso", histoire de ne pas mélanger les blocs "officiels" et les créations personnelles.

Quatrième inconvénient :
Quand on reprend un bloc pour l'améliorer ou le corriger et qu'on l'ajoute à Blocklino, même sans avoir changé son nom, le bloc n'est pas remplacé mais ajouté à la suite du bloc précédemment ajouté ---> on finit par se retrouver avec une quantité de blocs pas au point, donc inutiles, qu'on n'a pas le moyen de supprimer. (sauf à réinstaller l'application Blocklino, en perdant au passage tous les blocs corrects).

Cinquième inconvénient :
Si on commet une erreur dans le code C++ du bloc (dans "codes générés C/C++") et qu'on ajoute ce bloc à Blocklino, il arrive très souvent que les blocs précédemment ajoutés soient rendus inopérants : ils perdent leur aspect et se présentent sous la forme de l'embryon de départ (visible dans la prévisualisation de "Factory") et ne peuvent plus être sélectionnés. (vécu plus qu'une fois ! ).
On risque ainsi de perdre tout le travail précédent sur des blocs "perso" ET corrects.

En résumé, il me paraît indispensable, pour que "Factory" soit utile et efficace :
-- de pouvoir supprimer des blocs "perso" ;
-- de pouvoir créer des catégories personnelles pour y stocker nos blocs perso ;
-- de pouvoir prévisualiser le code C++ tel qu'il apparaîtra dans l'IDE, AVANT d'ajouter le bloc dans S4E ;
-- d'enregistrer le bloc AVEC le code qu'on lui a associé, et ainsi pouvoir retravailler un bloc sans recommencer chaque fois l'écriture du code associé ;

Cerise sur le gâteau : de la même façon que l'IDE et/ou les "xxxblockly "proposent des exemples de programmes de base, si on pouvait disposer dans Factory de S4E, en local et/ou en ligne, d'une bibliothèque d'exemples de blocs préparés (et modifiables), et, pourquoi pas de pouvoir, éditer les blocs existants (d'origine) pour, par exemple, les personnaliser ou s'en servir de base pour un nouveau bloc, ce serait parfait !

@SebCanet SebCanet added the enhancement New feature or request label Nov 15, 2021
@SebCanet
Copy link
Contributor

SebCanet commented Jul 7, 2022

Premier prototype pour la v0.9.6

@SebCanet SebCanet added this to To do in Core v1.5 via automation Aug 5, 2022
@SebCanet SebCanet added this to To do in Block Factory Aug 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
No open projects
Development

No branches or pull requests

2 participants