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

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