Forums : Template et RDF

Aller à la discussion :  Plus récente Plus ancienne

# Génération de menu

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.