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 / InlineView.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.8 KB  |  107 lines

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