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

  1. package javax.swing.text.html;
  2.  
  3. import java.awt.Container;
  4. import java.awt.Graphics;
  5. import java.awt.Rectangle;
  6. import java.awt.Shape;
  7. import javax.swing.SizeRequirements;
  8. import javax.swing.text.AttributeSet;
  9. import javax.swing.text.CompositeView;
  10. import javax.swing.text.Element;
  11. import javax.swing.text.JTextComponent;
  12. import javax.swing.text.View;
  13. import javax.swing.text.html.CSS.Attribute;
  14.  
  15. public class ParagraphView extends javax.swing.text.ParagraphView {
  16.    private AttributeSet attr;
  17.    private StyleSheet.BoxPainter painter;
  18.  
  19.    public ParagraphView(Element var1) {
  20.       super(var1);
  21.    }
  22.  
  23.    public void setParent(View var1) {
  24.       super.setParent(var1);
  25.       this.setPropertiesFromAttributes();
  26.    }
  27.  
  28.    public AttributeSet getAttributes() {
  29.       if (this.attr == null) {
  30.          StyleSheet var1 = this.getStyleSheet();
  31.          this.attr = var1.getViewAttributes(this);
  32.       }
  33.  
  34.       return this.attr;
  35.    }
  36.  
  37.    protected void setPropertiesFromAttributes() {
  38.       StyleSheet var1 = this.getStyleSheet();
  39.       this.attr = var1.getViewAttributes(this);
  40.       this.painter = var1.getBoxPainter(this.attr);
  41.       if (this.attr != null) {
  42.          super.setPropertiesFromAttributes();
  43.          ((CompositeView)this).setInsets((short)((int)this.painter.getInset(1, this)), (short)((int)this.painter.getInset(2, this)), (short)((int)this.painter.getInset(3, this)), (short)((int)this.painter.getInset(4, this)));
  44.          Object var2 = this.attr.getAttribute(Attribute.TEXT_ALIGN);
  45.          if (var2 != null) {
  46.             String var3 = var2.toString();
  47.             if (var3.equals("left")) {
  48.                ((javax.swing.text.ParagraphView)this).setJustification(0);
  49.             } else if (var3.equals("center")) {
  50.                ((javax.swing.text.ParagraphView)this).setJustification(1);
  51.             } else if (var3.equals("right")) {
  52.                ((javax.swing.text.ParagraphView)this).setJustification(2);
  53.             } else if (var3.equals("justify")) {
  54.                ((javax.swing.text.ParagraphView)this).setJustification(3);
  55.             }
  56.          }
  57.       }
  58.  
  59.    }
  60.  
  61.    protected StyleSheet getStyleSheet() {
  62.       HTMLDocument var1 = (HTMLDocument)((View)this).getDocument();
  63.       return var1.getStyleSheet();
  64.    }
  65.  
  66.    protected SizeRequirements calculateMinorAxisRequirements(int var1, SizeRequirements var2) {
  67.       var2 = super.calculateMinorAxisRequirements(var1, var2);
  68.       float var3 = 0.0F;
  69.       int var4 = ((javax.swing.text.ParagraphView)this).getLayoutViewCount();
  70.  
  71.       for(int var5 = 0; var5 < var4; ++var5) {
  72.          View var6 = ((javax.swing.text.ParagraphView)this).getLayoutView(var5);
  73.          if (var6 instanceof InlineView) {
  74.             float var7 = ((InlineView)var6).getLongestWordSpan();
  75.             var3 = Math.max(var7, var3);
  76.          } else {
  77.             var3 = Math.max(var6.getMinimumSpan(var1), var3);
  78.          }
  79.       }
  80.  
  81.       var2.minimum = Math.max(var2.minimum, (int)var3);
  82.       var2.preferred = Math.max(var2.minimum, var2.preferred);
  83.       var2.maximum = Math.max(var2.preferred, var2.maximum);
  84.       return var2;
  85.    }
  86.  
  87.    public boolean isVisible() {
  88.       int var1 = ((javax.swing.text.ParagraphView)this).getLayoutViewCount() - 1;
  89.  
  90.       for(int var2 = 0; var2 < var1; ++var2) {
  91.          View var3 = ((javax.swing.text.ParagraphView)this).getLayoutView(var2);
  92.          if (var3.isVisible()) {
  93.             return true;
  94.          }
  95.       }
  96.  
  97.       if (var1 > 0) {
  98.          View var5 = ((javax.swing.text.ParagraphView)this).getLayoutView(var1);
  99.          if (var5.getEndOffset() - var5.getStartOffset() == 1) {
  100.             return false;
  101.          }
  102.       }
  103.  
  104.       if (((View)this).getStartOffset() == ((View)this).getDocument().getLength()) {
  105.          boolean var6 = false;
  106.          Container var4 = ((View)this).getContainer();
  107.          if (var4 instanceof JTextComponent) {
  108.             var6 = ((JTextComponent)var4).isEditable();
  109.          }
  110.  
  111.          if (!var6) {
  112.             return false;
  113.          }
  114.       }
  115.  
  116.       return true;
  117.    }
  118.  
  119.    public void paint(Graphics var1, Shape var2) {
  120.       Rectangle var3;
  121.       if (var2 instanceof Rectangle) {
  122.          var3 = (Rectangle)var2;
  123.       } else {
  124.          var3 = var2.getBounds();
  125.       }
  126.  
  127.       this.painter.paint(var1, (float)var3.x, (float)var3.y, (float)var3.width, (float)var3.height, this);
  128.       super.paint(var1, var2);
  129.    }
  130.  
  131.    public float getPreferredSpan(int var1) {
  132.       return !this.isVisible() ? 0.0F : super.getPreferredSpan(var1);
  133.    }
  134.  
  135.    public float getMinimumSpan(int var1) {
  136.       return !this.isVisible() ? 0.0F : super.getMinimumSpan(var1);
  137.    }
  138.  
  139.    public float getMaximumSpan(int var1) {
  140.       return !this.isVisible() ? 0.0F : super.getMaximumSpan(var1);
  141.    }
  142. }
  143.