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

  1. import java.awt.BorderLayout;
  2. import java.awt.Component;
  3. import java.awt.Dimension;
  4. import java.awt.Frame;
  5. import java.awt.Toolkit;
  6. import java.awt.Window;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9. import java.awt.event.WindowEvent;
  10. import java.awt.event.WindowListener;
  11. import java.util.Enumeration;
  12. import javax.swing.DefaultListModel;
  13. import javax.swing.JButton;
  14. import javax.swing.JComponent;
  15. import javax.swing.JDialog;
  16. import javax.swing.JList;
  17. import javax.swing.JScrollPane;
  18. import javax.swing.border.CompoundBorder;
  19. import javax.swing.border.EmptyBorder;
  20. import javax.swing.border.EtchedBorder;
  21.  
  22. public class ElemPalette extends BaseDialog implements ActionListener, WindowListener {
  23.    public JList elemList;
  24.    ElementVector elemVec;
  25.    public DefaultListModel model;
  26.    Frame frame;
  27.    JButton curr = null;
  28.    XMLPro theApp;
  29.    public ElementVector allElems = null;
  30.    boolean viewingAll = false;
  31.  
  32.    ElemPalette(XMLPro var1) {
  33.       super(var1, Strings.Elements, false);
  34.       this.theApp = var1;
  35.       this.frame = this.frame;
  36.       ((Component)this).setSize(115, 240);
  37.       ((JDialog)this).getContentPane().setLayout(new BorderLayout());
  38.       this.model = new DefaultListModel();
  39.       this.elemList = new JList(this.model);
  40.       this.elemList.setSelectionMode(0);
  41.       this.curr = new JButton(Strings.Insert);
  42.       this.curr.setMnemonic('A');
  43.       this.curr.addActionListener(this);
  44.       JScrollPane var2 = new JScrollPane(this.elemList);
  45.       ((JComponent)var2).setBorder(new CompoundBorder(new EmptyBorder(2, 2, 2, 2), new EtchedBorder()));
  46.       ((Window)this).addWindowListener(this);
  47.       ((JDialog)this).getContentPane().add("Center", var2);
  48.       ((JDialog)this).getContentPane().add("South", this.curr);
  49.    }
  50.  
  51.    public void actionPerformed(ActionEvent var1) {
  52.       String var2 = var1.getActionCommand();
  53.       String var3 = (String)this.elemList.getSelectedValue();
  54.       if (var3 != null) {
  55.          this.theApp.elems.addElement(var3, 1);
  56.       }
  57.  
  58.    }
  59.  
  60.    protected void centerOnScreen() {
  61.       Dimension var1 = Toolkit.getDefaultToolkit().getScreenSize();
  62.       Dimension var2 = ((Component)this).getSize();
  63.       ((Component)this).setLocation((var1.width - var2.width) / 2, (var1.height - var2.height) / 2);
  64.    }
  65.  
  66.    public void clear() {
  67.       this.model.clear();
  68.       this.allElems = null;
  69.       this.viewingAll = false;
  70.       this.curr.setEnabled(false);
  71.    }
  72.  
  73.    public void elementsChanged() {
  74.       ElementVector var1 = new ElementVector();
  75.       Enumeration var2 = this.theApp.xmlDocument.dtdElemVals.keys();
  76.  
  77.       while(var2.hasMoreElements()) {
  78.          var1.add(var2.nextElement());
  79.       }
  80.  
  81.       Enumeration var3 = this.theApp.xmlDocument.elemVals.keys();
  82.  
  83.       while(var3.hasMoreElements()) {
  84.          var1.add(var3.nextElement());
  85.       }
  86.  
  87.       var1.sort();
  88.       this.viewingAll = false;
  89.       this.allElems = var1;
  90.    }
  91.  
  92.    public void updateElements() {
  93.       String var1 = this.theApp.elems.selectedElem.e.getNodeName();
  94.       if (this.theApp.elems.selectedElem.e.getNodeType() != 1) {
  95.          this.model.clear();
  96.          this.curr.setEnabled(false);
  97.          this.viewingAll = false;
  98.       } else {
  99.          if (this.theApp.xmlDocument.hasDTD && this.theApp.limitElements && this.theApp.xmlDocument.dtdCache.containsKey(var1)) {
  100.             ElemCache var2 = (ElemCache)this.theApp.xmlDocument.dtdCache.get(var1);
  101.             if (!var2.empty && var2.elements.size() > 0) {
  102.                this.model.clear();
  103.                Enumeration var3 = var2.elements.elements();
  104.  
  105.                while(var3.hasMoreElements()) {
  106.                   this.model.addElement(var3.nextElement());
  107.                }
  108.  
  109.                this.curr.setEnabled(true);
  110.                this.viewingAll = false;
  111.                return;
  112.             }
  113.  
  114.             if (var2.empty) {
  115.                this.model.clear();
  116.                this.curr.setEnabled(false);
  117.                this.viewingAll = false;
  118.                return;
  119.             }
  120.          }
  121.  
  122.          if (!this.viewingAll) {
  123.             this.model.clear();
  124.             Enumeration var4 = this.allElems.elements();
  125.  
  126.             while(var4.hasMoreElements()) {
  127.                this.model.addElement(var4.nextElement());
  128.             }
  129.  
  130.             this.viewingAll = true;
  131.          }
  132.  
  133.          this.curr.setEnabled(true);
  134.       }
  135.    }
  136.  
  137.    public void windowActivated(WindowEvent var1) {
  138.    }
  139.  
  140.    public void windowClosed(WindowEvent var1) {
  141.    }
  142.  
  143.    public void windowClosing(WindowEvent var1) {
  144.       this.theApp.viewElemPalette(false);
  145.    }
  146.  
  147.    public void windowDeactivated(WindowEvent var1) {
  148.    }
  149.  
  150.    public void windowDeiconified(WindowEvent var1) {
  151.    }
  152.  
  153.    public void windowIconified(WindowEvent var1) {
  154.    }
  155.  
  156.    public void windowOpened(WindowEvent var1) {
  157.    }
  158. }
  159.