Source code: jaxe/elements/JESymbole.java
1 /*
2 Jaxe - Editeur XML en Java
3
4 Copyright (C) 2002 Observatoire de Paris-Meudon
5
6 Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier conformément aux dispositions de la Licence Publique Générale GNU, telle que publiée par la Free Software Foundation ; version 2 de la licence, ou encore (à votre choix) toute version ultérieure.
7
8 Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou D'ADAPTATION A UN OBJET PARTICULIER. Pour plus de détail, voir la Licence Publique Générale GNU .
9
10 Vous devez avoir reçu un exemplaire de la Licence Publique Générale GNU en même temps que ce programme ; si ce n'est pas le cas, écrivez à la Free Software Foundation Inc., 675 Mass Ave, Cambridge, MA 02139, Etats-Unis.
11 */
12
13 package jaxe.elements;
14
15 import jaxe.JaxeDocument;
16 import jaxe.JaxeElement;
17
18 import javax.swing.text.Position;
19
20 import org.w3c.dom.Element;
21 import org.w3c.dom.DOMException;
22
23 /**
24 * Fichier d'image comme Fichier, mais que l'on peut créer avec un dialogue affichant les images
25 * se trouvant dans le dossier 'symboles' de Jaxe.
26 * Type d'élément Jaxe: 'symbole'
27 */
28 public class JESymbole extends JEFichier {
29
30 public JESymbole(JaxeDocument doc) {
31 super(doc);
32 }
33
34 public Element nouvelElement(Element defbalise) {
35 String nombalise = doc.cfg.nomBalise(defbalise);
36
37 String srcAttr = defbalise.getAttribute("param");
38 if (srcAttr.equals(""))
39 srcAttr = defaultSrcAttr;
40 srcAttr = doc.cfg.getParamFromDefinition(defbalise, "srcAtt", srcAttr);
41
42 Element newel = nouvelElementDOM(doc, nombalise);
43
44 DialogueSymbole dlg = new DialogueSymbole(doc.jframe, newel);
45 if (!dlg.afficher())
46 return null;
47 String sf = dlg.fichierChoisi();
48
49 try {
50 newel.setAttribute(srcAttr, sf);
51 if ("FICHIER".equals(nombalise))
52 newel.setAttribute("type", "gif");
53 } catch (DOMException ex) {
54 System.err.println("DOMException: " + ex.getMessage());
55 return null;
56 }
57
58 return(newel);
59 }
60 }