home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / text / html / HTMLDocument.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  3.4 KB  |  93 lines

  1. package com.sun.java.swing.text.html;
  2.  
  3. import com.sun.java.swing.text.AbstractDocument;
  4. import com.sun.java.swing.text.AttributeSet;
  5. import com.sun.java.swing.text.BadLocationException;
  6. import com.sun.java.swing.text.DefaultStyledDocument;
  7. import com.sun.java.swing.text.Element;
  8. import com.sun.java.swing.text.MutableAttributeSet;
  9. import com.sun.java.swing.text.StringContent;
  10. import com.sun.java.swing.text.StyleConstants;
  11. import com.sun.java.swing.text.StyleContext;
  12. import java.awt.Component;
  13. import java.io.IOException;
  14. import java.io.Reader;
  15. import java.net.URL;
  16. import java.util.Vector;
  17.  
  18. class HTMLDocument extends DefaultStyledDocument implements HTMLDefs {
  19.    public static final String HTMLTagAttribute = "htmltag";
  20.    public static final String BaseHrefProperty = "basehref";
  21.    public static final String BGCOLOR = "BGCOLOR";
  22.    public static final String BACKGROUND = "BACKGROUND";
  23.    public static final String KEYWORDS = "Keywords";
  24.    public static final String TEXT = "TEXT";
  25.    public static final String LINK = "LINK";
  26.    public static final String VLINK = "VLINK";
  27.    public static final String ALINK = "ALINK";
  28.    public static final String HTMLInputComponent = "input-component";
  29.    URL reference;
  30.  
  31.    public HTMLDocument() {
  32.    }
  33.  
  34.    public HTMLDocument(StyleContext var1) {
  35.       super(new StringContent(4096), var1);
  36.    }
  37.  
  38.    public void setRootElementAttributes(MutableAttributeSet var1) {
  39.       Element var2 = ((DefaultStyledDocument)this).getDefaultRootElement();
  40.  
  41.       try {
  42.          ((AbstractDocument)this).writeLock();
  43.          MutableAttributeSet var5 = (MutableAttributeSet)var2.getAttributes();
  44.          var5.addAttributes(var1);
  45.       } finally {
  46.          ((AbstractDocument)this).writeUnlock();
  47.       }
  48.  
  49.    }
  50.  
  51.    public void read(Reader var1, int var2) throws IOException {
  52.       Object var3 = ((AbstractDocument)this).getProperty("stream");
  53.       if (var3 instanceof URL) {
  54.          this.reference = (URL)var3;
  55.       }
  56.  
  57.       HTMLReader var4 = new HTMLReader(this);
  58.       var4.read(var2, var1);
  59.    }
  60.  
  61.    protected void insert(int var1, DefaultStyledDocument.ElementSpec[] var2) throws BadLocationException {
  62.       super.insert(var1, var2);
  63.    }
  64.  
  65.    StyleContext getStyleContext() {
  66.       return (StyleContext)((AbstractDocument)this).getAttributeContext();
  67.    }
  68.  
  69.    public void getComponents(Vector var1) {
  70.       AbstractDocument.AbstractElement var2 = (AbstractDocument.AbstractElement)((DefaultStyledDocument)this).getDefaultRootElement();
  71.       this.findComponents(var2, var1);
  72.    }
  73.  
  74.    private void findComponents(AbstractDocument.AbstractElement var1, Vector var2) {
  75.       if (var1.isLeaf()) {
  76.          AttributeSet var3 = var1.getAttributes();
  77.          String var4 = new String("input-component");
  78.          if (var3.getAttribute(var4) != null) {
  79.             var2.addElement((Component)var3.getAttribute(StyleConstants.ComponentAttribute));
  80.             return;
  81.          }
  82.       } else {
  83.          int var6 = var1.getElementCount();
  84.  
  85.          for(int var7 = 0; var7 < var6; ++var7) {
  86.             AbstractDocument.AbstractElement var5 = (AbstractDocument.AbstractElement)var1.getElement(var7);
  87.             this.findComponents(var5, var2);
  88.          }
  89.       }
  90.  
  91.    }
  92. }
  93.