On trouve d'assez nombreux exemples de contrôle des menus sur les forums, mais je n'ai pas trouvé de présentation synthétique.
Travaillant sur un projet nécessitant de remplacer la barre de menus d'un document Calc, j'ai passé un certain temps (litote !) à décortiquer les relations existantes entre les UIConfigurationsManagers, LayoutManager, MenuBar et autres PopupMenus.
Je publie donc le document synthétique que j'aurais aimé trouver, sous forme du fichier DemoMenus.odt ci-joint, en espérant qu'il fera gagner du temps à ceux qui seraient confrontés au même problème.
Outre les explications dans le texte, le document contient bien sûr des macros Basic qui mettent en oeuvre les éléments présentés dans celui-ci.
La structure présentée est cohérente et conforme à l'observation, mais je n'ai pas analysé le code source de LibreOffice. Je ne garantis donc pas qu'elle soit exactement celle du code source.
Si vous trouvez ce document utile, ou si vous avez des compléments ou des corrections, je serai ravi de le savoir.
En particulier si vous avez des informations sur la façon de contrôler les relations entre les menus et les ImageManager et ShortcutManager.
[Résolu][Basic] Gérer les menus avec le LayoutManager
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !

Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- NOOuvel adepte
- Messages : 23
- Inscription : 18 juil. 2024 23:21
[Résolu][Basic] Gérer les menus avec le LayoutManager
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Oukcha le 24 janv. 2025 11:27, modifié 1 fois.
Raison : Ajout balise (coche présente)
Raison : Ajout balise (coche présente)
LibreOffice 24.2.5.2 sous Windows 10
-
- RespOOnsable forum
- Messages : 9809
- Inscription : 28 août 2010 08:45
Re: [Basic] Gérer les menus avec le LayoutManager
Bonjour ? (Règle du forum n°10)
La modération vous a écrit: Suppression de l'icône Merci de supprimer l'icône
Les icônes mises à votre disposition ont une signification précise sur ce forum.
Veuillez consulter ce fil pour en savoir plus : ftopic3299.html
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
-
- NOOuvel adepte
- Messages : 23
- Inscription : 18 juil. 2024 23:21
Re: [Basic] Gérer les menus avec le LayoutManager
Bonjour,
Il me semblait bien me souvenir que la coche verte signifiait que le problème avait été résolu, ce que je viens de revérifier suite à votre message.
Je ne sais pas si vous avez lu mon message (je suppose que non vu votre réaction), mais il ne s'agit pas d'une question mais d'une solution sous forme d'une documentation détaillée. J'ai donc mis la coche verte pour indiquer que le message traite d'un problème résolu, et que celui qui cherche une réponse pour gérer les menus y trouvera une solution.
La présence de la coche me semble donc tout à fait appropriée.
Mais peut être n'ai-je rien compris.
Cordialement
Il me semblait bien me souvenir que la coche verte signifiait que le problème avait été résolu, ce que je viens de revérifier suite à votre message.
Je ne sais pas si vous avez lu mon message (je suppose que non vu votre réaction), mais il ne s'agit pas d'une question mais d'une solution sous forme d'une documentation détaillée. J'ai donc mis la coche verte pour indiquer que le message traite d'un problème résolu, et que celui qui cherche une réponse pour gérer les menus y trouvera une solution.
La présence de la coche me semble donc tout à fait appropriée.
Mais peut être n'ai-je rien compris.
Cordialement
LibreOffice 24.2.5.2 sous Windows 10
-
- IdOOle de la suite
- Messages : 25964
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Basic] Gérer les menus avec le LayoutManager
Salut,
Pour ceux qui tenterait de télécharger le document, celui-ci exécute une macro au démarrage.
Il est toujours préférable d'avertir de ce genre de surprise.
Le document n'est pas compatible avec OpenOffice sans adaptation.
Chacun traite de la gestion : Peux-tu nous dire ce que ta contribution donne en plus de ces ressources ?
Le contenu de ton document devrait sans doute figurer dans un Wiki. Par exemple, une traduction de cette page :
https://wiki.openoffice.org/wiki/Framew ... ementation
Avec une adaptation des codes en Basic, ce serait un vrai plus pour la documentation.
Pour ceux qui tenterait de télécharger le document, celui-ci exécute une macro au démarrage.
Il est toujours préférable d'avertir de ce genre de surprise.
Le document n'est pas compatible avec OpenOffice sans adaptation.
Pourtant, il me semble qu'on a rassemblé l'essentiel depuis plusieurs années dans des suprêmes de code.
Chacun traite de la gestion : Peux-tu nous dire ce que ta contribution donne en plus de ces ressources ?
Le contenu de ton document devrait sans doute figurer dans un Wiki. Par exemple, une traduction de cette page :
https://wiki.openoffice.org/wiki/Framew ... ementation
Avec une adaptation des codes en Basic, ce serait un vrai plus pour la documentation.

PS : regarde mieux comment sont balisés toutes les autres fils
-
- NOOuvel adepte
- Messages : 23
- Inscription : 18 juil. 2024 23:21
Re: [Basic] Gérer les menus avec le LayoutManager
Bonjour,
Effectivement, le nez dans le guidon, je n'avais pas réalisé le problème d'un appel de macro au démarrage et j'en suis confus. Je joins une nouvelle version qui ne présente pas ce problème. Est-il possible de supprimer la précédente version ?
Pour la coche verte, je n'ai toujours pas compris, même en regardant mieux. Je dois être bouché
)
Ce qu'apporte mon document :
1/ une présentation synthétique dans le texte, avec des dessins clairs, et plus détaillés que ce que l'on trouve dans le Wiki que tu indiques, qui est plus général et axé sur la maintenance des fichiers xml de configuration, alors que mon document porte sur la manipulation en Basic des menus et précise les interactions au runtime entre les Settings des différents managers. Je n'ai rien vu d'équivalent dans les suprêmes de code.
2/un code exemple largement commenté et réutilisable facilement (le module MenuToolsModule est réutilisable tel quel à condition de fournir dans un autre module les 2 fonctions externes nécessaires).
Je suis d'accord que ce document serait adapté à un Wiki. Sauf qu'il aurait fallu que je me plonge dans les modalités d'écriture d'un Wiki, que je ne connais pas, alors que ce document était beaucoup plus rapide à faire pour moi, car il est simplement extrait de la documentation écrite pour mon projet.
Peut être quand je pourrais lever le nez de mon guidon ...
Cordialement
Effectivement, le nez dans le guidon, je n'avais pas réalisé le problème d'un appel de macro au démarrage et j'en suis confus. Je joins une nouvelle version qui ne présente pas ce problème. Est-il possible de supprimer la précédente version ?
Pour la coche verte, je n'ai toujours pas compris, même en regardant mieux. Je dois être bouché

Ce qu'apporte mon document :
1/ une présentation synthétique dans le texte, avec des dessins clairs, et plus détaillés que ce que l'on trouve dans le Wiki que tu indiques, qui est plus général et axé sur la maintenance des fichiers xml de configuration, alors que mon document porte sur la manipulation en Basic des menus et précise les interactions au runtime entre les Settings des différents managers. Je n'ai rien vu d'équivalent dans les suprêmes de code.
2/un code exemple largement commenté et réutilisable facilement (le module MenuToolsModule est réutilisable tel quel à condition de fournir dans un autre module les 2 fonctions externes nécessaires).
Je suis d'accord que ce document serait adapté à un Wiki. Sauf qu'il aurait fallu que je me plonge dans les modalités d'écriture d'un Wiki, que je ne connais pas, alors que ce document était beaucoup plus rapide à faire pour moi, car il est simplement extrait de la documentation écrite pour mon projet.
Peut être quand je pourrais lever le nez de mon guidon ...
Cordialement
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 24.2.5.2 sous Windows 10
-
- RespOOnsable modération
- Messages : 4254
- Inscription : 06 oct. 2008 08:03
Re: [Basic] Gérer les menus avec le LayoutManager
Bonjour,
Cordialement
Cette icône est indissociable de la balise [Résolu], donc, si vous considérez que ce sujet l'est, il vous suffit d'ajouter la balise en début de titre.
L'ambiguïté réside dans le fait qu'outre vous apportiez une participation bienvenue, vous posez également une question :
Le plus simple semble être de créer un sujet pour cette question.
Cordialement
-
- NOOuvel adepte
- Messages : 23
- Inscription : 18 juil. 2024 23:21
Re: [Basic] Gérer les menus avec le LayoutManager
Bonjour,
Merci pour votre message et pour le temps pris pour cela.
En ce qui concerne la coche, je considérais bien mon premier post comme une question résolue, comme je l'ai déjà dit dans mon message du 22 janvier 16h31.
Si, dans celui du 23/01 10h24, je disais que je n'ai toujours pas compris, c'est parce que Dude m'avait écrit postérieurement en PS "regarde mieux comment sont balisés toutes les autres fils" ce qui m'a fait me demander ce qui pouvait bien motiver ce PS, après que j'aie confirmé qu'il s'agissait bien d'une question résolue.
En ce qui concerne la dernière phrase de mon post initial ("En particulier si vous avez des informations ...." ), ce n'était pas une question, mais une simple manifestation de curiosité, au cas ou quelqu'un qui me lirait aurait des lumières là-dessus et voudrait bien m'en faire part. Mais je n'ai pas de besoin sur ce thème.
Je reconnais que la formulation peut être ambigüe (et je trouve qu'il est particulièrement difficile ne laisser aucune ambigüité dans l'écriture des posts !
)
Cordialement
Merci pour votre message et pour le temps pris pour cela.
En ce qui concerne la coche, je considérais bien mon premier post comme une question résolue, comme je l'ai déjà dit dans mon message du 22 janvier 16h31.
Si, dans celui du 23/01 10h24, je disais que je n'ai toujours pas compris, c'est parce que Dude m'avait écrit postérieurement en PS "regarde mieux comment sont balisés toutes les autres fils" ce qui m'a fait me demander ce qui pouvait bien motiver ce PS, après que j'aie confirmé qu'il s'agissait bien d'une question résolue.
En ce qui concerne la dernière phrase de mon post initial ("En particulier si vous avez des informations ...." ), ce n'était pas une question, mais une simple manifestation de curiosité, au cas ou quelqu'un qui me lirait aurait des lumières là-dessus et voudrait bien m'en faire part. Mais je n'ai pas de besoin sur ce thème.
Je reconnais que la formulation peut être ambigüe (et je trouve qu'il est particulièrement difficile ne laisser aucune ambigüité dans l'écriture des posts !

Cordialement
LibreOffice 24.2.5.2 sous Windows 10
-
- IdOOle de la suite
- Messages : 25964
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Basic] Gérer les menus avec le LayoutManager
Et pourtant dans le 1er suprême, il y a un exemple de création de menu dynamique.
Donc qu'est ce qu'apporte de plus ton document ?
Le jeu des 7 erreurs

-
- NOOuvel adepte
- Messages : 23
- Inscription : 18 juil. 2024 23:21
Re: [Basic] Gérer les menus avec le LayoutManager
Bonjour,
N'aurait-il pas été plus rapide, au sujet de cette coche verte, de me dire dès le début "cette coche doit toujours être suivie de la balise [Résolu]" (ce qui au passage me semble un détail parfaitement redondant), plutôt que cette avalanche de remarques sybillines ("les icônes ont une signification précise", "regarde mieux", ...). En relisant cette longue série de posts, je ne trouve qu'en 6ème position "Cette icône est indissociable de la balise [Résolu]". Que de temps passé sur des points esthétiques mineurs !
Quand à la répétition de ta question "Qu'apporte de plus ton document ?", je te suggère simplement de le lire et de regarder le code associé. Si tu trouves dans le suprême de code un texte pédagogique de 5 pages accompagné de schémas graphiques clairs montrant le rapport entre le LayoutManager et les ConfigurationManagers, ainsi qu'un code abondamment et clairement commenté, de plus structuré avec un module pouvant être récupéré tel quel pour construire de nouveaux menus, fais le moi savoir. De mon côté, je n'y ai trouvé que des exemples de code peu et souvent mal commentés, d'une lisibilité souvent perfectible et sans vision générale.
Pour être tout à fait franc, plutôt que ces chipotages, je m'attendais plutôt à ce que mon document soit jugé digne d'être "promu" dans le suprême de code. Mais nous ne devons pas avoir la même perception de ce que doit être un code de qualité. Il est vrai que j'ai seulement quelques dizaines d'années d'expérience en programmation professionnelle derrière moi. Je peux encore faire des progrès.
Je suis donc plutôt déçu - pour ne pas dire consterné - de devoir perdre mon temps dans cette litanie de posts alors que j'avais déjà passé du temps à adapter ma documentation pour en faire bénéficier la communauté.
Je ne suis pas sûr de continuer à poster sur ce forum. Par comparaison, sur le forum anglais, où j'ai aussi publié, l'accueil y est beaucoup moins pointilleux. Et l'on y reçoit même des encouragements et des remerciements ! Le seul inconvénient est qu'il me faut traduire tous les commentaires dans mon code en anglais. Et il y en a beaucoup ...
Cordialement
N'aurait-il pas été plus rapide, au sujet de cette coche verte, de me dire dès le début "cette coche doit toujours être suivie de la balise [Résolu]" (ce qui au passage me semble un détail parfaitement redondant), plutôt que cette avalanche de remarques sybillines ("les icônes ont une signification précise", "regarde mieux", ...). En relisant cette longue série de posts, je ne trouve qu'en 6ème position "Cette icône est indissociable de la balise [Résolu]". Que de temps passé sur des points esthétiques mineurs !
Quand à la répétition de ta question "Qu'apporte de plus ton document ?", je te suggère simplement de le lire et de regarder le code associé. Si tu trouves dans le suprême de code un texte pédagogique de 5 pages accompagné de schémas graphiques clairs montrant le rapport entre le LayoutManager et les ConfigurationManagers, ainsi qu'un code abondamment et clairement commenté, de plus structuré avec un module pouvant être récupéré tel quel pour construire de nouveaux menus, fais le moi savoir. De mon côté, je n'y ai trouvé que des exemples de code peu et souvent mal commentés, d'une lisibilité souvent perfectible et sans vision générale.
Pour être tout à fait franc, plutôt que ces chipotages, je m'attendais plutôt à ce que mon document soit jugé digne d'être "promu" dans le suprême de code. Mais nous ne devons pas avoir la même perception de ce que doit être un code de qualité. Il est vrai que j'ai seulement quelques dizaines d'années d'expérience en programmation professionnelle derrière moi. Je peux encore faire des progrès.
Je suis donc plutôt déçu - pour ne pas dire consterné - de devoir perdre mon temps dans cette litanie de posts alors que j'avais déjà passé du temps à adapter ma documentation pour en faire bénéficier la communauté.
Je ne suis pas sûr de continuer à poster sur ce forum. Par comparaison, sur le forum anglais, où j'ai aussi publié, l'accueil y est beaucoup moins pointilleux. Et l'on y reçoit même des encouragements et des remerciements ! Le seul inconvénient est qu'il me faut traduire tous les commentaires dans mon code en anglais. Et il y en a beaucoup ...
Cordialement
LibreOffice 24.2.5.2 sous Windows 10