Envoyé par : Ptit Lutin
Date : 28/07/2006 16:56
Bonjour à tous,
Dans le cadre d'une extension, je voudrais générer automatiquement un menu (pour un bouton dans la barre d'outils) à partir d'un fichier RDF.
Voici le fichier RDF :
<?xml version="1.0"?> <!DOCTYPE overlay SYSTEM "chrome://babelzillamenu/locale/babelzillamenu.dtd"> <RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:bzm="http://www.babelzilla.org/rdf/bzm#"> <!-- Menu structure --> <RDF:Seq RDF:about="http://www.babelzilla.org/root"> <RDF:li RDF:resource="site_main_page"/> <RDF:li> <RDF:Seq RDF:about="forum_menu"> <RDF:li RDF:resource="forum_main_page"/> <RDF:li RDF:resource="forum_general"/> <RDF:li> <RDF:Seq RDF:about="forum_extensions_menu"> <RDF:li RDF:resource="forum_extensions"/> <RDF:li RDF:resource="forum_extensions_firefox"/> <RDF:li RDF:resource="forum_extensions_thunderbird"/> <RDF:li RDF:resource="forum_extensions_multi-application"/> </RDF:Seq> </RDF:li> <RDF:li RDF:resource="forum_my_international_forum"/> <RDF:li RDF:resource="forum_wts_development"/> <RDF:li RDF:resource="forum_search"/> </RDF:Seq> </RDF:li> <RDF:li> <RDF:Seq RDF:about="wts_menu"> <RDF:li RDF:resource="wts_main_page"/> <RDF:li RDF:resource="wts_submit_extension"/> <RDF:li RDF:resource="wts_list_all_extensions"/> <RDF:li RDF:resource="wts_manage_my_extensions"/> <RDF:li RDF:resource="wts_manage_my_translations"/> <RDF:li RDF:resource="wts_my_qa_page"/> </RDF:Seq> </RDF:li> <RDF:li RDF:resource="forum_view_new_posts"/> <RDF:li RDF:resource="site_my_glossary"/> <RDF:li RDF:resource="forum_pm"/> <RDF:li RDF:resource="forum_who_is_online"/> <RDF:li RDF:resource="forum_login"/> </RDF:Seq> <!-- Menu resources --> <RDF:Description RDF:about="site_main_page"> <bzm:link>http://www.babelzilla.org</bzm:link> <bzm:label>&site.main.page.label;</bzm:label> <bzm:accesskey>&site.main.page.accesskey;</bzm:accesskey> </RDF:Description> ... </RDF:RDF>
et le fichier XUL utilisé :
... <!-- Toolbar Button --> <toolbarpalette id="BrowserToolbarPalette"> <toolbarbutton id="bzm-toolbarbutton" type="menu-button" class="toolbarbutton-1" label="BabelZillaMenu" tooltiptext="BabelZillaMenu" datasources="chrome://babelzillamenu/content/bzmCommonMenu.rdf" ref="http://www.babelzilla.org/root" oncommand="window.open('chrome://babelzillamenu/content/test.xul', 'TestRDF', 'chrome,centerscreen');" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <template> <rule iscontainer="true"> <menupopup> <menu uri="rdf:*" label="rdf:http://www.babelzilla.org/rdf/bzm#label" tooltiptext="rdf:http://www.babelzilla.org/rdf/bzm#label" accesskey="rdf:http://www.babelzilla.org/rdf/bzm#accesskey"/> </menupopup> </rule> <rule> <menupopup> <menuitem uri="rdf:*" label="rdf:http://www.babelzilla.org/rdf/bzm#label" tooltiptext="rdf:http://www.babelzilla.org/rdf/bzm#label" accesskey="rdf:http://www.babelzilla.org/rdf/bzm#accesskey" onclick="babel_open(event, ' rdf:http://www.babelzilla.org/rdf/bzm#link ');" oncommand="babel_open(null, ' rdf:http://www.babelzilla.org/rdf/bzm#link ');"/> </menupopup> </rule> </template> </toolbarbutton> </toolbarpalette> ...
inspiré de ce que j'ai trouvé ici : http://xulplanet.com/tutorials/xulqa/q_t(..)
Voici le résultat :
1. Les sous-menus (forum_menu et wts_menu) sont ignorés. Une erreur dans le RDF et/ou le template ?
2. Lorsqu'une option est sélectionnée, la commande du bouton est aussi exécutée (la fenêtre test.xul s'affiche). Comment empêcher cela ?
Merci d'avance pour votre aide :)
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.