/* Jaxe - Editeur XML en Java Copyright (C) 2003 Observatoire de Paris-Meudon 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. 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 . 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. */ package jaxe; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.ArrayList; import java.util.ResourceBundle; import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; import org.w3c.dom.Element; import org.w3c.dom.NodeList; public class DialogueXpath extends JFrame implements ActionListener, ItemListener, CaretListener { private static ResourceBundle rb = JaxeResourceBundle.getRB(); JTextField textF = new JTextField(""); JCheckBox box1, box2; ButtonGroup groupe; private JButton butOk, butAnnuler; private ArrayList listingBalises = new ArrayList(); DialogueRechercher DialRech; JaxeDocument doc; private JComboBox list; private Element baliseCourante; private String nomBaliseCourante = ""; private int nbBalise; private JTextField textInterne; private JComponent[] champsAtt; private String[] titresAtt; private String[] typeRech; private String typeRechTxt; private JPanel pane, exprPane, listPane, textPane, attrPane, buttonPane; private int natt; private String prefix = null; private boolean existNS = false; public DialogueXpath(final DialogueRechercher DR, JaxeDocument doc) { super(rb.getString("xpath.ExprXpath")); DialRech = DR; this.doc = doc; org.w3c.dom.Node DomRoot = (org.w3c.dom.Node)doc.DOMdoc.getDocumentElement(); if (DomRoot.getNamespaceURI() != null) existNS = true; prefix = DomRoot.getPrefix(); pane = new JPanel(); pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS)); listPane = new JPanel(new FlowLayout()); JLabel textElt = new JLabel(rb.getString("xpath.TitreElt")); listingBalises = listingBalises(); nbBalise = listingBalises.size(); ArrayList listeTitre = new ArrayList(); for (int i=0; i 0) { champsAtt[i] = new JComboBox(); ((JComboBox) champsAtt[i]).addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { majExprXpath(); } } ); ((JComboBox)champsAtt[i]).addItem(""); for (int j=0; j0) listeTriee.add(0,(Element)list.get(0)); for (int i=1; i