Envoyé par : gehiks
Date : 26/09/2009 18:29
Bonjour,
Je débute en XUL et j'essaye de faire une application XULRunner.
Sur toutes les pages de mon application la barre de menu (menubar) sera la même. Pour faciliter la maintenance, je voudrais que ce menu soit dans un overlay appelé par chaque page. J'ai essayé de suivre le tutoriel de XulFr.org et celui sur le site de Mozilla, mais je dois rater quelquechose car il me semble que l'overlay (overlay_menu.xul) ne soit pas appelée par la page principale (main.xul).
Structure
->chrome -->content about.xul controller.js main.js main.xul options.xul overlay_menu.xul -->locale -->skin
main.xul
<?xml version="1.0"?> <?xml-stylesheet href="chrome://BENuRH/skin/main.css" type="text/css"?> <!DOCTYPE window SYSTEM "chrome://BENuRH/locale/main.dtd"> <window id="main" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" title="&title;" style="width: 700px; height: 500px;" persist="screenX screenY width height sizemode"> <?xul-overlay href="chrome://BENuRH/content/overlay_menu.xul"?> <toolbox> <menubar id="menubar"/> <toolbar id="main-toolbar" mode="icons"> </toolbar> </toolbox> </window>
overlay_menu.xul
<?xml version="1.0"?> <!DOCTYPE overlay SYSTEM "chrome://BENuRH/locale/overlay_menu.dtd"> <overlay id="overlay_menu" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <menubar id="menubar"> <menu id="file_menu" label="&file.label;"> <menupopup id="file_popup"> <menuitem label="&import.label;"/> <menuitem label="&export.label;"/> <menuitem command="cmd_print"/> <menuitem command="cmd_exit"/> </menupopup> </menu> </menubar> </overlay>
Quand j'exécute mon code, le menu n'apparaît pas alors que quand je colle le contenu de menubar dans main.xul, le menu apparaît normalement. Quelqu'un voit-il ce qui ne va pas?
Merci,
Gêhïks
Envoyé par : jordan
Date : 26/09/2009 22:27
Bonjour,
On peut voir ton fichier .manifest ?
++
Envoyé par : gehiks
Date : 27/09/2009 00:20
Voici le .manifest
content BENuRH content/ skin BENuRH classic/1.0 skin/ locale BENuRH fr-FR locale/fr-FR/
Il n'y a pas d'erreurs dans les fichiers précédents?
Gêhïks
Envoyé par : gehiks
Date : 27/09/2009 13:04
Merci Jordan,
Tu m'as permis de voir ce qui clochait. Il manquait une ligne à mon manifest. Voici le nouveau manifest.
content BENuRH content/ skin BENuRH classic/1.0 skin/ locale BENuRH fr-FR locale/fr-FR/ overlay chrome://BENuRH/content/main.xul chrome://BENuRH/content/overlay_menu.xul
Avec cette méthode, il ne semble pas nécessaire d'ajouter la ligne de chargement explicite <?xul-overlay href="chrome://component/content/componentOverlay.xul"?>. Je dois encore avoir loupé quelquechose :)
A votre connaissance, y aurait-il un moyen d'ajouter "overlay_menu.xul" à plusieurs pages sans tout déclarer dans le manifest?
Envoyé par : jordan
Date : 27/09/2009 16:33
Moi j'ai toujours tout déclaré dans le manifest. Je ne savais pas qu'il existait une alternative :
<?xul-overlay href="chrome://BENuRH/content/overlay_menu.xul"?>
Encore que visiblement, elle ne marche pas/plus. De toute manière, à ce jour, j'ai réalisé qu'une extension Firefox, c'est un peu différent.
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.