Fenêtres alert, confirm et prompt 100% SVG
Nouvelle version compatible avec Firefox 1.5, Opera 9 et Batik 1.6
Objets SVG et script sont séparés
Le script est chargé au démarrage
Les objets SVG sont chargés à la demande et déchargés après utilisation.
Vous pouvez créer votre propre design pour les fenêtres et le sauver dans un fichier SVG ou SVGZ.
Dans votre SVG, Pour pouvoir utiliser ces
fenêtres vous devez function messages_use_prompt(result,data,num_w) Contraintes
1) charger les scripts avec
<script xlink:href="js/alert.js"/>
gestion des fenêtres
<script xlink:href="js/opera.js"/>
émulation de getURL() et parseXML()
<script xlink:href="js/tools.js"/>
déplacement des fenêtres
2) réserver à la fin du SVG une place pour les objets avec
<g id="messages" transform="translate(100,50)">
</g>
par exemple
3) mettre dans un groupe <defs> les gradients utilisés pour les boutons
4) appeler la fenêtre avec
add_alert("svg/alert.svg","messages","La largeur du rectangle\n"
+ large.toString() + "\n ");
dans l'ordre: fichier SVG des objets, id du groupe où insérer les objets,
chaîne pour le texte
( les lignes sont séparées par \n )
ou
add_confirm("svg/confirm.svg","messages","Changer la
couleur color\ndu rectangle\nen vert",num);
Ici, un paramètre supplémentaire un nombre pour différencier les appels dans
un même SVG
ou
add_prompt("svg/prompt.svg","messages","Entrer une couleur\npour
le rectangle\ncomme red ou #CCCC00",num);
5) créer les fonctions utilisant le résultat de vos fenêtres
Un exemple:
function messages_use_confirm(result,num_w)
{
if (!result)
return
switch(num_w)
{
case 0:
obj=svgdoc.getElementById("rect");
obj.setAttribute("fill","green");
break;
case 1:
obj=svgdoc.getElementById("rect2");
obj.setAttribute("width","200");
break;
}
}
{
if (!result)
return
switch(num_w)
{
case 0:
obj=svgdoc.getElementById("rect3");
obj.setAttribute("fill",data);
break;
case 1:
obj=svgdoc.getElementById("rect4");
obj.setAttribute("fill",data);
break;
}
}
svgdoc est le nom de SVGDocument
nom du groupe + "_use_confirm" ou "_use_prompt" le
nom des fonctions
Cette fonction est appelée quand vous fermez la fenêtre avec
onclick="close_confirm(true)".
Les fonctions alert_tape, confirm_tape et prompt_tape permettent l'utilisation
des touches Enter et Escape pour fermer la fenêtre et entrer du texte dans la
fenêtre prompt ( tout caractère, Backspace, Supprime et les flèches
horizontales ).
Trois lignes de texte avec "invite0", "invite1",
"invite2" comme id sont utilisables pour les messages
Pour la fenêtre prompt, la chaîne entrée a pour id "prompt_result".