home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2001 October / PCpro_2001_10.ISO / xml / xmlpro / data1.cab / Program_Executable_FILES / xmlpro.jar / AttributeWiz.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-09-15  |  6.9 KB  |  222 lines

  1. import COM.objectspace.jgl.Array;
  2. import java.awt.BorderLayout;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Dialog;
  6. import java.awt.GridLayout;
  7. import java.awt.Window;
  8. import java.awt.event.ActionEvent;
  9. import java.awt.event.ActionListener;
  10. import java.util.Enumeration;
  11. import java.util.Vector;
  12. import javax.swing.AbstractButton;
  13. import javax.swing.DefaultListModel;
  14. import javax.swing.JButton;
  15. import javax.swing.JComponent;
  16. import javax.swing.JDialog;
  17. import javax.swing.JFrame;
  18. import javax.swing.JLabel;
  19. import javax.swing.JList;
  20. import javax.swing.JPanel;
  21. import javax.swing.JScrollPane;
  22. import javax.swing.border.EmptyBorder;
  23. import javax.swing.border.TitledBorder;
  24. import javax.swing.event.ListSelectionEvent;
  25. import javax.swing.event.ListSelectionListener;
  26. import javax.swing.tree.DefaultTreeModel;
  27. import javax.swing.tree.TreePath;
  28. import org.w3c.dom.Node;
  29.  
  30. public class AttributeWiz extends BaseDialog implements ActionListener, ListSelectionListener {
  31.    JList elemList;
  32.    DefaultListModel elemModel;
  33.    JList attList;
  34.    DefaultListModel attModel;
  35.    KTextField entryField;
  36.    XMLPro theApp;
  37.    String lastSelected;
  38.  
  39.    AttributeWiz(XMLPro var1) {
  40.       super(var1, Strings.AttributeWizard, true);
  41.       this.theApp = var1;
  42.       ((Component)this).setSize(425, 285);
  43.       ((Dialog)this).setResizable(false);
  44.       ((BaseDialog)this).centerOnScreen();
  45.       JPanel var3 = new JPanel();
  46.       JPanel var4 = new JPanel();
  47.       JPanel var5 = new JPanel();
  48.       ((JComponent)var3).setBorder(new EmptyBorder(10, 10, 10, 10));
  49.       ((JComponent)var4).setBorder(new EmptyBorder(10, 10, 10, 10));
  50.       ((JComponent)var5).setBorder(new EmptyBorder(10, 10, 10, 10));
  51.       ((JDialog)this).getContentPane().setLayout(new GridLayout(1, 3));
  52.       this.elemModel = new DefaultListModel();
  53.       this.elemList = new JList(this.elemModel);
  54.       this.elemList.setSelectionMode(0);
  55.       this.elemList.addListSelectionListener(this);
  56.       Enumeration var6 = this.theApp.elemPalette.allElems.elements();
  57.  
  58.       while(var6.hasMoreElements()) {
  59.          this.elemModel.addElement(var6.nextElement());
  60.       }
  61.  
  62.       ((JComponent)var3).setBorder(new EmptyBorder(10, 10, 10, 10));
  63.       ((Container)var3).setLayout(new BorderLayout());
  64.       JScrollPane var7 = new JScrollPane(this.elemList);
  65.       JPanel var8 = new JPanel();
  66.       ((Container)var8).setLayout(new BorderLayout());
  67.       ((JComponent)var8).setBorder(new TitledBorder(Strings.Elements));
  68.       ((Container)var8).add("Center", var7);
  69.       ((Container)var3).add(var8);
  70.       ((JDialog)this).getContentPane().add(var3);
  71.       GridLayout var9 = new GridLayout(8, 1);
  72.       var9.setVgap(6);
  73.       ((Container)var5).setLayout(var9);
  74.       ((JComponent)var5).setBorder(new EmptyBorder(10, 10, 10, 10));
  75.       JLabel var10 = new JLabel(Strings.NewAttributeName);
  76.       this.entryField = new KTextField("");
  77.       ((Container)var5).add(var10);
  78.       ((Container)var5).add(this.entryField);
  79.       this.entryField.requestFocus();
  80.       ((Container)var5).add(new JPanel());
  81.       ((Container)var5).add(new JPanel());
  82.       JButton var11 = new JButton(Strings.Add);
  83.       ((AbstractButton)var11).setMnemonic('A');
  84.       ((AbstractButton)var11).addActionListener(this);
  85.       ((Container)var5).add(var11);
  86.       var11 = new JButton(Strings.Remove);
  87.       ((AbstractButton)var11).setMnemonic('R');
  88.       ((AbstractButton)var11).addActionListener(this);
  89.       ((Container)var5).add(var11);
  90.       ((Container)var5).add(new JPanel());
  91.       var11 = new JButton(Strings.Close);
  92.       ((AbstractButton)var11).setMnemonic('C');
  93.       ((AbstractButton)var11).addActionListener(this);
  94.       ((Container)var5).add(var11);
  95.       ((JDialog)this).getContentPane().add(var5);
  96.       this.attModel = new DefaultListModel();
  97.       this.attList = new JList(this.attModel);
  98.       this.attList.setSelectionMode(0);
  99.       ((JComponent)var4).setBorder(new EmptyBorder(10, 10, 10, 10));
  100.       ((Container)var4).setLayout(new BorderLayout());
  101.       JScrollPane var12 = new JScrollPane(this.attList);
  102.       JPanel var13 = new JPanel();
  103.       ((JComponent)var13).setBorder(new TitledBorder(Strings.Attributes));
  104.       ((Container)var13).setLayout(new BorderLayout());
  105.       ((Container)var13).add("Center", var12);
  106.       ((Container)var4).add(var13);
  107.       ((JDialog)this).getContentPane().add(var4);
  108.       this.elemList.setSelectedIndex(0);
  109.       this.entryField.requestFocus();
  110.    }
  111.  
  112.    public void actionPerformed(ActionEvent var1) {
  113.       String var3 = var1.getActionCommand();
  114.       if (var3.equals(Strings.Remove)) {
  115.          String var4 = (String)this.elemList.getSelectedValue();
  116.          String var5 = (String)this.attList.getSelectedValue();
  117.          if (var5 == null) {
  118.             return;
  119.          }
  120.  
  121.          if (XMLPro.containsKey(this.theApp.xmlDocument.elemVals, var4)) {
  122.             YesNoBox var6 = new YesNoBox((JFrame)null, Strings.Alert, Strings.ThisWillDeleteAllAttributes);
  123.             ((Dialog)var6).show();
  124.             if (var6.result == Strings.Yes) {
  125.                ElementVector var2 = (ElementVector)this.theApp.xmlDocument.elemVals.get(var4);
  126.                var2.removeElement(var5);
  127.                DefaultTreeModel var7 = (DefaultTreeModel)this.theApp.elems.theTree.getModel();
  128.                this.theApp.elems.deleteAttribType(var4, var5, (ElemNode)var7.getRoot());
  129.                var7.nodeStructureChanged((ElemNode)this.theApp.elems.theTree.getModel().getRoot());
  130.                if (this.theApp.elems.selectedElem != null) {
  131.                   this.theApp.elems.theTree.setSelectionPath(new TreePath(this.theApp.elems.selectedElem.getPath()));
  132.                }
  133.  
  134.                this.attList.setSelectedIndex(0);
  135.                this.updateAtts(var4);
  136.                this.theApp.xmlDocument.modified = true;
  137.                this.theApp.undoManager.cantUndoMod();
  138.             }
  139.          } else {
  140.             MesgBox var12 = new MesgBox((JFrame)null, Strings.CannotDeleteAttributes);
  141.             ((Dialog)var12).show();
  142.          }
  143.       } else if (var3.equals(Strings.Add)) {
  144.          String var9 = (String)this.elemList.getSelectedValue();
  145.          String var11 = (String)this.attList.getSelectedValue();
  146.          if (var9 == null) {
  147.             return;
  148.          }
  149.  
  150.          String var13 = this.entryField.getText();
  151.          if (!var13.equals("")) {
  152.             if (XMLPro.containsKey(this.theApp.xmlDocument.dtdElemVals, var9)) {
  153.                MesgBox var14 = new MesgBox((JFrame)null, Strings.AttributesForThis);
  154.                ((Dialog)var14).show();
  155.             } else if (!this.attModel.contains(var13)) {
  156.                ElementVector var8 = (ElementVector)this.theApp.xmlDocument.elemVals.get(var9);
  157.                var8.add(var13);
  158.                DefaultTreeModel var15 = (DefaultTreeModel)this.theApp.elems.theTree.getModel();
  159.                var15.nodeStructureChanged((ElemNode)this.theApp.elems.theTree.getModel().getRoot());
  160.                if (this.theApp.elems.selectedElem != null) {
  161.                   this.theApp.elems.theTree.setSelectionPath(new TreePath(this.theApp.elems.selectedElem.getPath()));
  162.                }
  163.  
  164.                this.updateAtts(var9);
  165.             }
  166.  
  167.             this.entryField.setText("");
  168.             this.theApp.xmlDocument.modified = true;
  169.             this.theApp.undoManager.cantUndoMod();
  170.          }
  171.       } else {
  172.          ((Window)this).dispose();
  173.       }
  174.  
  175.       Node var10 = this.theApp.elems.selectedElem.e;
  176.       if (var10 != null && var10.getNodeType() == 1) {
  177.          this.theApp.elems.pan.editElement(var10);
  178.       }
  179.  
  180.       this.entryField.requestFocus();
  181.    }
  182.  
  183.    public void updateAtts(String var1) {
  184.       Vector var4 = new Vector();
  185.       this.attModel.clear();
  186.       ElementVector var3 = (ElementVector)this.theApp.xmlDocument.dtdElemVals.get(var1);
  187.       if (var3 != null) {
  188.          Enumeration var2 = ((Array)var3).elements();
  189.  
  190.          while(var2.hasMoreElements()) {
  191.             String var5 = ((AttDefn)var2.nextElement()).id;
  192.             var4.addElement(var5);
  193.          }
  194.       } else {
  195.          var3 = (ElementVector)this.theApp.xmlDocument.elemVals.get(var1);
  196.          Enumeration var8 = ((Array)var3).elements();
  197.  
  198.          while(var8.hasMoreElements()) {
  199.             String var10 = (String)var8.nextElement();
  200.             var4.addElement(var10);
  201.          }
  202.       }
  203.  
  204.       Enumeration var11 = var4.elements();
  205.       Vector var6 = Sorter.sortStringEnumeration(var11);
  206.       Enumeration var7 = var6.elements();
  207.  
  208.       while(var7.hasMoreElements()) {
  209.          this.attModel.addElement(var7.nextElement());
  210.       }
  211.  
  212.    }
  213.  
  214.    public void valueChanged(ListSelectionEvent var1) {
  215.       String var2 = (String)this.elemList.getSelectedValue();
  216.       if (!var2.equals(this.lastSelected) && !var1.getValueIsAdjusting()) {
  217.          this.updateAtts(var2);
  218.       }
  219.  
  220.    }
  221. }
  222.