Envoyé par : gp974
Date : 31/08/2006 11:31
Bonjour,
J'ai un petit souci avec 'broadcaster'
voici donc un exemple :
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="logins-window" title="Test" orient="horizontal" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" > <script> <![CDATA[ function foo () { alert('foo'); } function switchbrd () { var bc = document.getElementById('broadc_test'); if (bc.getAttribute("disabled") == "true") bc.setAttribute("disabled", "false"); else bc.setAttribute("disabled", "true"); } ]]> </script> <broadcasterset> <broadcaster id="broadc_test" disabled="true" /> </broadcasterset> <commandset> <command id="cmd_bc" oncommand="switchbrd();" /> <command id="cmd_test" oncommand="foo();" /> </commandset> <vbox flex="1"> <toolbox> <menubar> <menu label="Action"> <menupopup> <menuitem label="Switch disabled" command="cmd_bc" /> <menuitem label="Test 1" command="cmd_test" observes="broadc_test" /> </menupopup> </menu> </menubar> </toolbox> </vbox> </window>
Le disabled ne fonctionne pas dans le menuitem (ce n'est jamais grisé) mais si je replace le command="cmd_test" par oncommand="foo();" alors là ça marche. Y a t-il une chose que je n'est pas compris avec le broadcaster ?
Il faux savoir que je suis avec firefox-1.5.0.X soux XP ou win98 En version mandriva, slackware avec firefox-1.0.XX celà fonctionne.
Fichier XUL indépendant (non déclaré ds le chrome)
Merçi d'avance
Envoyé par : Paul Rouget
Date : 31/08/2006 17:09
Un broadcaster et un command sont en fait les mêmes élements je crois.
Je sais qu'il y a des soucis avec des balises exploitant un <command> en combinaison avec un <broadcaster> et l'attribut disable.
Personnellement, je dois passer mes broadcaster en disable="true" via du JS au chargement de la page, sinon, ça ne fonctionne pas. Donc l'attribut disable doit être passé à true dans la méthode onload de la ta page xul.
Envoyé par : gp974
Date : 01/09/2006 08:36
Hello Paul,
Celà ne marche pas mieux ! Mais ton conseil n'a pas été vain.
il a suffi de déplacer l'observeur du 'menuitem' vers le 'command'
Avant :
<command id="cmd_test" oncommand="foo();" /> ... <menuitem label="Test 1" command="cmd_test" observes="broadc_test" />
Après
<command id="cmd_test" oncommand="foo();" observes="broadc_test" /> ... <menuitem label="Test 1" command="cmd_test" />
Et là ... Nickel-chrome ;-)
Merci
A++
Gilles
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.