home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 144 / DPCS0200.iso / Internet / Supanet / system / swing.jar / javax / swing / text / html / StyleSheet$ViewAttributeSet.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-05  |  3.7 KB  |  162 lines

  1. package javax.swing.text.html;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Vector;
  5. import javax.swing.text.AttributeSet;
  6. import javax.swing.text.Document;
  7. import javax.swing.text.Element;
  8. import javax.swing.text.SimpleAttributeSet;
  9. import javax.swing.text.Style;
  10. import javax.swing.text.StyleConstants;
  11. import javax.swing.text.View;
  12. import javax.swing.text.html.HTML.Attribute;
  13. import javax.swing.text.html.HTML.Tag;
  14.  
  15. class StyleSheet$ViewAttributeSet implements AttributeSet {
  16.    static Vector muxList = new Vector();
  17.    AttributeSet[] attrs;
  18.    View host;
  19.  
  20.    StyleSheet$ViewAttributeSet(View var1) {
  21.       this.host = var1;
  22.       Document var2 = var1.getDocument();
  23.       if (var2 instanceof HTMLDocument) {
  24.          StyleSheet var3 = ((HTMLDocument)var2).getStyleSheet();
  25.          Element var4 = var1.getElement();
  26.          AttributeSet var5 = var4.getAttributes();
  27.          muxList.removeAllElements();
  28.          AttributeSet var6 = var3.translateHTMLToCSS(var5);
  29.          if (var6.getAttributeCount() != 0) {
  30.             muxList.addElement(var6);
  31.          }
  32.  
  33.          if (var4.isLeaf()) {
  34.             Enumeration var7 = var5.getAttributeNames();
  35.  
  36.             while(var7.hasMoreElements()) {
  37.                Object var8 = var7.nextElement();
  38.                if (var8 instanceof HTML.Tag) {
  39.                   if ((HTML.Tag)var8 == Tag.A) {
  40.                      Object var9 = var5.getAttribute((HTML.Tag)var8);
  41.                      if (var9 != null && var9 instanceof AttributeSet) {
  42.                         AttributeSet var10 = (AttributeSet)var9;
  43.                         if (var10.getAttribute(Attribute.HREF) == null) {
  44.                            continue;
  45.                         }
  46.                      }
  47.                   }
  48.  
  49.                   Style var13 = var3.getRule((HTML.Tag)var8, var4);
  50.                   if (var13 != null) {
  51.                      muxList.addElement(var13);
  52.                   }
  53.                }
  54.             }
  55.          } else {
  56.             HTML.Tag var11 = (HTML.Tag)var5.getAttribute(StyleConstants.NameAttribute);
  57.             if (var11 == Tag.IMPLIED) {
  58.                var11 = Tag.P;
  59.             }
  60.  
  61.             Style var12 = var3.getRule(var11, var4);
  62.             if (var12 != null) {
  63.                muxList.addElement(var12);
  64.             }
  65.          }
  66.       }
  67.  
  68.       this.attrs = new AttributeSet[muxList.size()];
  69.       muxList.copyInto(this.attrs);
  70.    }
  71.  
  72.    public boolean containsAttribute(Object var1, Object var2) {
  73.       return var2.equals(this.getAttribute(var1));
  74.    }
  75.  
  76.    public boolean containsAttributes(AttributeSet var1) {
  77.       boolean var2 = true;
  78.  
  79.       Object var4;
  80.       for(Enumeration var3 = var1.getAttributeNames(); var2 && var3.hasMoreElements(); var2 = var1.getAttribute(var4).equals(this.getAttribute(var4))) {
  81.          var4 = var3.nextElement();
  82.       }
  83.  
  84.       return var2;
  85.    }
  86.  
  87.    public AttributeSet copyAttributes() {
  88.       SimpleAttributeSet var1 = new SimpleAttributeSet();
  89.       boolean var2 = false;
  90.  
  91.       for(int var3 = 0; var3 < this.attrs.length; ++var3) {
  92.          var1.addAttributes(this.attrs[var3]);
  93.       }
  94.  
  95.       return var1;
  96.    }
  97.  
  98.    public Object getAttribute(Object var1) {
  99.       int var2 = this.attrs.length;
  100.  
  101.       for(int var3 = 0; var3 < var2; ++var3) {
  102.          Object var4 = this.attrs[var3].getAttribute(var1);
  103.          if (var4 != null) {
  104.             return var4;
  105.          }
  106.       }
  107.  
  108.       if (var1 instanceof CSS.Attribute) {
  109.          CSS.Attribute var6 = (CSS.Attribute)var1;
  110.          if (var6.isInherited()) {
  111.             AttributeSet var5 = this.getResolveParent();
  112.             if (var5 != null) {
  113.                return var5.getAttribute(var1);
  114.             }
  115.          }
  116.       }
  117.  
  118.       return null;
  119.    }
  120.  
  121.    public int getAttributeCount() {
  122.       int var1 = 0;
  123.  
  124.       for(int var2 = 0; var2 < this.attrs.length; ++var2) {
  125.          var1 += this.attrs[var2].getAttributeCount();
  126.       }
  127.  
  128.       return var1;
  129.    }
  130.  
  131.    public Enumeration getAttributeNames() {
  132.       return null;
  133.    }
  134.  
  135.    public AttributeSet getResolveParent() {
  136.       View var1 = this.host.getParent();
  137.       if (var1 != null) {
  138.          var1.getElement().getName();
  139.       } else {
  140.          String var10000 = "*none*";
  141.       }
  142.  
  143.       return var1 != null ? var1.getAttributes() : null;
  144.    }
  145.  
  146.    public boolean isDefined(Object var1) {
  147.       boolean var2 = false;
  148.  
  149.       for(int var3 = 0; var3 < this.attrs.length; ++var3) {
  150.          if (this.attrs[var3].isDefined(var1)) {
  151.             return true;
  152.          }
  153.       }
  154.  
  155.       return false;
  156.    }
  157.  
  158.    public boolean isEqual(AttributeSet var1) {
  159.       return this.getAttributeCount() == var1.getAttributeCount() && this.containsAttributes(var1);
  160.    }
  161. }
  162.