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

  1. import java.awt.BorderLayout;
  2. import java.awt.Component;
  3. import java.awt.Container;
  4. import java.awt.Dialog;
  5. import java.awt.GridLayout;
  6. import java.awt.Window;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9. import java.util.Enumeration;
  10. import javax.swing.AbstractButton;
  11. import javax.swing.DefaultListModel;
  12. import javax.swing.JButton;
  13. import javax.swing.JComponent;
  14. import javax.swing.JDialog;
  15. import javax.swing.JFrame;
  16. import javax.swing.JList;
  17. import javax.swing.JPanel;
  18. import javax.swing.JScrollPane;
  19. import javax.swing.border.EmptyBorder;
  20. import javax.swing.border.TitledBorder;
  21. import javax.swing.tree.DefaultTreeModel;
  22. import javax.swing.tree.TreePath;
  23.  
  24. public class ElemWiz extends BaseDialog implements ActionListener {
  25.    JList elemList;
  26.    ElementVector elemVec;
  27.    DefaultListModel model;
  28.    FixedTextField entryField;
  29.    JFrame frame;
  30.    XMLPro theApp;
  31.  
  32.    ElemWiz(XMLPro var1) {
  33.       super(var1, Strings.ElementWizard, true);
  34.       this.theApp = var1;
  35.       ((Component)this).setSize(300, 300);
  36.       ((BaseDialog)this).centerOnScreen();
  37.       ((Dialog)this).setResizable(false);
  38.       JPanel var3 = new JPanel();
  39.       JPanel var4 = new JPanel();
  40.       JPanel var5 = new JPanel();
  41.       ((JDialog)this).getContentPane().setLayout(new BorderLayout());
  42.       ((JDialog)this).getContentPane().add("Center", var3);
  43.       ((Container)var3).setLayout(new BorderLayout());
  44.       ((Container)var3).add("Center", var4);
  45.       ((Container)var3).add("East", var5);
  46.       ((JComponent)var3).setBorder(new EmptyBorder(5, 5, 5, 5));
  47.       GridLayout var6 = new GridLayout(8, 1);
  48.       var6.setVgap(8);
  49.       ((Container)var5).setLayout(var6);
  50.       ((JComponent)var5).setBorder(new EmptyBorder(5, 5, 3, 5));
  51.       ((Container)var5).add(new JPanel());
  52.       ((Container)var5).add(new JPanel());
  53.       ((Container)var5).add(new JPanel());
  54.       ((Container)var5).add(new JPanel());
  55.       ((Container)var5).add(new JPanel());
  56.       JButton var7 = new JButton(Strings.Add);
  57.       ((AbstractButton)var7).setMnemonic('A');
  58.       ((AbstractButton)var7).addActionListener(this);
  59.       ((Container)var5).add(var7);
  60.       var7 = new JButton(Strings.Remove);
  61.       ((AbstractButton)var7).setMnemonic('R');
  62.       ((AbstractButton)var7).addActionListener(this);
  63.       ((Container)var5).add(var7);
  64.       var7 = new JButton(Strings.Close);
  65.       ((AbstractButton)var7).setMnemonic('C');
  66.       ((AbstractButton)var7).addActionListener(this);
  67.       ((Container)var5).add(var7);
  68.       this.model = new DefaultListModel();
  69.       this.elemList = new JList(this.model);
  70.       this.elemList.setSelectionMode(0);
  71.       this.elemList.setSelectedIndex(0);
  72.       ((JComponent)var4).setBorder(new EmptyBorder(5, 5, 5, 20));
  73.       ((Container)var4).setLayout(new BorderLayout());
  74.       JScrollPane var8 = new JScrollPane(this.elemList);
  75.       JPanel var9 = new JPanel();
  76.       ((Container)var9).setLayout(new BorderLayout());
  77.       ((JComponent)var9).setBorder(new TitledBorder(Strings.Elements));
  78.       ((Container)var9).add("Center", var8);
  79.       ((Container)var4).add(var9);
  80.       JPanel var10 = new JPanel();
  81.       ((Container)var10).setLayout(new BorderLayout());
  82.       ((JComponent)var10).setBorder(new TitledBorder(Strings.NewElementName));
  83.       this.entryField = new FixedTextField("");
  84.       ((Container)var10).add("Center", this.entryField);
  85.       ((Container)var4).add("South", var10);
  86.       this.updateElems();
  87.    }
  88.  
  89.    public void actionPerformed(ActionEvent var1) {
  90.       String var2 = var1.getActionCommand();
  91.       if (var2.equals(Strings.Remove)) {
  92.          String var3 = (String)this.elemList.getSelectedValue();
  93.          if (this.theApp.xmlDocument.document.getDocumentElement().getTagName().equals(var3)) {
  94.             MesgBox var4 = new MesgBox(this.frame, Strings.CannotDeleteRoot);
  95.             ((Dialog)var4).show();
  96.          } else if (XMLPro.containsKey(this.theApp.xmlDocument.elemVals, var3)) {
  97.             YesNoBox var7 = new YesNoBox(this.frame, Strings.Alert, Strings.ThisWillDeleteAllElements);
  98.             ((Dialog)var7).show();
  99.             if (var7.result == Strings.Yes) {
  100.                this.theApp.xmlDocument.elemVals.remove(var3);
  101.                this.elemList.setSelectedIndex(0);
  102.                DefaultTreeModel var5 = (DefaultTreeModel)this.theApp.elems.theTree.getModel();
  103.                this.theApp.elems.deleteElemType(var3, (ElemNode)var5.getRoot());
  104.                var5.nodeStructureChanged((ElemNode)this.theApp.elems.theTree.getModel().getRoot());
  105.                if (this.theApp.elems.selectedElem != null) {
  106.                   this.theApp.elems.theTree.setSelectionPath(new TreePath(this.theApp.elems.selectedElem.getPath()));
  107.                }
  108.  
  109.                this.theApp.xmlDocument.modified = true;
  110.                this.theApp.undoManager.cantUndoMod();
  111.                this.theApp.elemPalette.elementsChanged();
  112.                this.theApp.elemPalette.updateElements();
  113.                this.updateElems();
  114.             }
  115.          } else {
  116.             MesgBox var8 = new MesgBox(this.frame, Strings.CannotDeleteElements);
  117.             ((Dialog)var8).show();
  118.          }
  119.       } else if (var2.equals(Strings.Add)) {
  120.          String var6 = this.entryField.getText();
  121.          if (!var6.equals("")) {
  122.             if (!XMLPro.containsKey(this.theApp.xmlDocument.elemVals, var6) || !XMLPro.containsKey(this.theApp.xmlDocument.dtdElemVals, var6)) {
  123.                this.theApp.xmlDocument.elemVals.put(var6, new ElementVector());
  124.                this.theApp.elemPalette.elementsChanged();
  125.                this.theApp.xmlDocument.modified = true;
  126.                this.updateElems();
  127.             }
  128.  
  129.             this.entryField.setText("");
  130.             this.theApp.elemPalette.updateElements();
  131.          }
  132.       } else {
  133.          ((Window)this).dispose();
  134.       }
  135.  
  136.       this.entryField.requestFocus();
  137.    }
  138.  
  139.    void updateElems() {
  140.       this.model.clear();
  141.       Enumeration var1 = this.theApp.elemPalette.allElems.elements();
  142.  
  143.       while(var1.hasMoreElements()) {
  144.          this.model.addElement(var1.nextElement());
  145.       }
  146.  
  147.       this.entryField.requestFocus();
  148.    }
  149. }
  150.