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

  1. package javax.swing.text.html;
  2.  
  3. import java.awt.FontMetrics;
  4. import java.text.BreakIterator;
  5. import javax.swing.text.AttributeSet;
  6. import javax.swing.text.BadLocationException;
  7. import javax.swing.text.Document;
  8. import javax.swing.text.Element;
  9. import javax.swing.text.LabelView;
  10. import javax.swing.text.Segment;
  11. import javax.swing.text.View;
  12. import javax.swing.text.html.CSS.Attribute;
  13.  
  14. public class InlineView extends LabelView {
  15.    AttributeSet attr;
  16.    static Segment buff = new Segment();
  17.  
  18.    public InlineView(Element var1) {
  19.       super(var1);
  20.       StyleSheet var2 = this.getStyleSheet();
  21.       this.attr = var2.getViewAttributes(this);
  22.    }
  23.  
  24.    public AttributeSet getAttributes() {
  25.       return this.attr;
  26.    }
  27.  
  28.    float getLongestWordSpan() {
  29.       float var1 = 0.0F;
  30.  
  31.       try {
  32.          Document var2 = ((View)this).getDocument();
  33.          int var3 = ((View)this).getStartOffset();
  34.          int var4 = ((View)this).getEndOffset();
  35.          String var5 = var2.getText(var3, var4 - var3);
  36.          int var6 = var3;
  37.          int var7 = var3;
  38.          if (var5 != null && var5.length() > 0) {
  39.             BreakIterator var8 = BreakIterator.getWordInstance();
  40.             var8.setText(var5);
  41.             int var9 = var8.first();
  42.  
  43.             for(int var10 = var8.next(); var10 != -1; var10 = var8.next()) {
  44.                if (var10 - var9 > var7 - var6) {
  45.                   var6 = var9;
  46.                   var7 = var10;
  47.                }
  48.  
  49.                var9 = var10;
  50.             }
  51.          }
  52.  
  53.          if (var7 - var6 > 0) {
  54.             FontMetrics var12 = ((LabelView)this).getFontMetrics();
  55.             String var13 = var5.substring(var6, var7);
  56.             var1 = (float)var12.stringWidth(var13);
  57.          }
  58.       } catch (BadLocationException var11) {
  59.       }
  60.  
  61.       return var1;
  62.    }
  63.  
  64.    protected StyleSheet getStyleSheet() {
  65.       HTMLDocument var1 = (HTMLDocument)((View)this).getDocument();
  66.       return var1.getStyleSheet();
  67.    }
  68.  
  69.    public boolean isVisible() {
  70.       int var1 = ((View)this).getStartOffset();
  71.       int var2 = ((View)this).getEndOffset();
  72.       if (var2 - var1 == 1) {
  73.          Document var3 = ((View)this).getDocument();
  74.  
  75.          try {
  76.             var3.getText(var1, var2 - var1, buff);
  77.             if (Character.isWhitespace(buff.array[buff.offset])) {
  78.                return false;
  79.             }
  80.          } catch (BadLocationException var4) {
  81.             return false;
  82.          }
  83.       }
  84.  
  85.       return true;
  86.    }
  87.  
  88.    protected void setPropertiesFromAttributes() {
  89.       super.setPropertiesFromAttributes();
  90.       AttributeSet var1 = this.getAttributes();
  91.       String var2 = (String)var1.getAttribute(Attribute.TEXT_DECORATION);
  92.       boolean var3 = var2 != null ? var2.indexOf("underline") >= 0 : false;
  93.       ((LabelView)this).setUnderline(var3);
  94.       boolean var4 = var2 != null ? var2.indexOf("line-through") >= 0 : false;
  95.       ((LabelView)this).setStrikeThrough(var4);
  96.       String var5 = (String)var1.getAttribute(Attribute.VERTICAL_ALIGN);
  97.       var4 = var5 != null ? var5.indexOf("sup") >= 0 : false;
  98.       ((LabelView)this).setSuperscript(var4);
  99.       var4 = var5 != null ? var5.indexOf("sub") >= 0 : false;
  100.       ((LabelView)this).setSubscript(var4);
  101.    }
  102. }
  103.