home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / text / html / StyleSheet$ViewAttributeSet.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  3.3 KB  |  129 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.Style;
  9. import javax.swing.text.StyleConstants;
  10. import javax.swing.text.View;
  11. import javax.swing.text.html.HTML.Attribute;
  12. import javax.swing.text.html.HTML.Tag;
  13. import javax.swing.text.html.StyleSheet.SearchBuffer;
  14.  
  15. class StyleSheet$ViewAttributeSet extends StyleSheet.MuxingAttributeSet {
  16.    View host;
  17.    // $FF: synthetic field
  18.    private final StyleSheet this$0;
  19.  
  20.    StyleSheet$ViewAttributeSet(StyleSheet var1, View var2) {
  21.       this.this$0 = var1;
  22.       this.host = var2;
  23.       Document var3 = var2.getDocument();
  24.       StyleSheet.SearchBuffer var4 = SearchBuffer.obtainSearchBuffer();
  25.       Vector var5 = var4.getVector();
  26.  
  27.       try {
  28.          if (var3 instanceof HTMLDocument) {
  29.             StyleSheet var6 = var1;
  30.             Element var7 = var2.getElement();
  31.             AttributeSet var8 = var7.getAttributes();
  32.             AttributeSet var9 = var1.translateHTMLToCSS(var8);
  33.             if (var9.getAttributeCount() != 0) {
  34.                var5.addElement(var9);
  35.             }
  36.  
  37.             if (!var7.isLeaf()) {
  38.                HTML.Tag var18 = (HTML.Tag)var8.getAttribute(StyleConstants.NameAttribute);
  39.                Style var19 = var1.getRule(var18, var7);
  40.                if (var19 != null) {
  41.                   var5.addElement(var19);
  42.                }
  43.             } else {
  44.                Enumeration var10 = var8.getAttributeNames();
  45.  
  46.                while(var10.hasMoreElements()) {
  47.                   Object var11 = var10.nextElement();
  48.                   if (var11 instanceof HTML.Tag) {
  49.                      if ((HTML.Tag)var11 == Tag.A) {
  50.                         Object var12 = var8.getAttribute((HTML.Tag)var11);
  51.                         if (var12 != null && var12 instanceof AttributeSet) {
  52.                            AttributeSet var13 = (AttributeSet)var12;
  53.                            if (var13.getAttribute(Attribute.HREF) == null) {
  54.                               continue;
  55.                            }
  56.                         }
  57.                      }
  58.  
  59.                      Style var20 = var6.getRule((HTML.Tag)var11, var7);
  60.                      if (var20 != null) {
  61.                         var5.addElement(var20);
  62.                      }
  63.                   }
  64.                }
  65.             }
  66.          }
  67.  
  68.          super.attrs = new AttributeSet[var5.size()];
  69.          var5.copyInto(super.attrs);
  70.       } finally {
  71.          SearchBuffer.releaseSearchBuffer(var4);
  72.       }
  73.  
  74.    }
  75.  
  76.    public boolean isDefined(Object var1) {
  77.       if (var1 instanceof StyleConstants) {
  78.          CSS.Attribute var2 = StyleSheet.access$000(this.this$0).styleConstantsKeyToCSSKey((StyleConstants)var1);
  79.          if (var2 != null) {
  80.             var1 = var2;
  81.          }
  82.       }
  83.  
  84.       return super.isDefined(var1);
  85.    }
  86.  
  87.    public Object getAttribute(Object var1) {
  88.       if (var1 instanceof StyleConstants) {
  89.          CSS.Attribute var2 = StyleSheet.access$000(this.this$0).styleConstantsKeyToCSSKey((StyleConstants)var1);
  90.          if (var2 != null) {
  91.             Object var3 = this.doGetAttribute(var2);
  92.             if (var3 instanceof CSS.CssValue) {
  93.                return ((CSS.CssValue)var3).toStyleConstants((StyleConstants)var1, this.host);
  94.             }
  95.          }
  96.       }
  97.  
  98.       return this.doGetAttribute(var1);
  99.    }
  100.  
  101.    Object doGetAttribute(Object var1) {
  102.       Object var2 = super.getAttribute(var1);
  103.       if (var2 != null) {
  104.          return var2;
  105.       } else {
  106.          if (var1 instanceof CSS.Attribute) {
  107.             CSS.Attribute var3 = (CSS.Attribute)var1;
  108.             if (var3.isInherited()) {
  109.                AttributeSet var4 = this.getResolveParent();
  110.                if (var4 != null) {
  111.                   return var4.getAttribute(var1);
  112.                }
  113.             }
  114.          }
  115.  
  116.          return null;
  117.       }
  118.    }
  119.  
  120.    public AttributeSet getResolveParent() {
  121.       if (this.host == null) {
  122.          return null;
  123.       } else {
  124.          View var1 = this.host.getParent();
  125.          return var1 != null ? var1.getAttributes() : null;
  126.       }
  127.    }
  128. }
  129.