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 / TableView$RowView.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  4.4 KB  |  225 lines

  1. package javax.swing.text.html;
  2.  
  3. import java.awt.Graphics;
  4. import java.awt.Rectangle;
  5. import java.awt.Shape;
  6. import java.util.BitSet;
  7. import javax.swing.SizeRequirements;
  8. import javax.swing.event.DocumentEvent;
  9. import javax.swing.text.AttributeSet;
  10. import javax.swing.text.BoxView;
  11. import javax.swing.text.CompositeView;
  12. import javax.swing.text.Element;
  13. import javax.swing.text.View;
  14. import javax.swing.text.ViewFactory;
  15.  
  16. public class TableView$RowView extends BoxView {
  17.    private StyleSheet.BoxPainter painter;
  18.    private AttributeSet attr;
  19.    BitSet fillColumns;
  20.    int rowIndex;
  21.    int viewIndex;
  22.    boolean multiRowCells;
  23.    // $FF: synthetic field
  24.    private final TableView this$0;
  25.  
  26.    public TableView$RowView(TableView var1, Element var2) {
  27.       super(var2, 0);
  28.       this.this$0 = var1;
  29.       this.fillColumns = new BitSet();
  30.       this.setPropertiesFromAttributes();
  31.    }
  32.  
  33.    void clearFilledColumns() {
  34.       this.fillColumns.and(TableView.access$300());
  35.    }
  36.  
  37.    void fillColumn(int var1) {
  38.       this.fillColumns.set(var1);
  39.    }
  40.  
  41.    boolean isFilled(int var1) {
  42.       return this.fillColumns.get(var1);
  43.    }
  44.  
  45.    int getColumnCount() {
  46.       int var1 = 0;
  47.       int var2 = this.fillColumns.size();
  48.  
  49.       for(int var3 = 0; var3 < var2; ++var3) {
  50.          if (this.fillColumns.get(var3)) {
  51.             ++var1;
  52.          }
  53.       }
  54.  
  55.       return ((CompositeView)this).getViewCount() + var1;
  56.    }
  57.  
  58.    public AttributeSet getAttributes() {
  59.       return this.attr;
  60.    }
  61.  
  62.    protected StyleSheet getStyleSheet() {
  63.       HTMLDocument var1 = (HTMLDocument)((View)this).getDocument();
  64.       return var1.getStyleSheet();
  65.    }
  66.  
  67.    public void preferenceChanged(View var1, boolean var2, boolean var3) {
  68.       super.preferenceChanged(var1, var2, var3);
  69.       if (TableView.access$200(this.this$0) && var3) {
  70.          for(int var4 = this.rowIndex - 1; var4 >= 0; --var4) {
  71.             TableView$RowView var5 = this.this$0.getRow(var4);
  72.             if (var5.multiRowCells) {
  73.                var5.preferenceChanged((View)null, false, true);
  74.                break;
  75.             }
  76.          }
  77.       }
  78.  
  79.    }
  80.  
  81.    public void changedUpdate(DocumentEvent var1, Shape var2, ViewFactory var3) {
  82.       super.changedUpdate(var1, var2, var3);
  83.       int var4 = var1.getOffset();
  84.       if (var4 <= ((View)this).getStartOffset() && var4 + var1.getLength() >= ((View)this).getEndOffset()) {
  85.          this.setPropertiesFromAttributes();
  86.       }
  87.  
  88.    }
  89.  
  90.    public void paint(Graphics var1, Shape var2) {
  91.       Rectangle var3 = (Rectangle)var2;
  92.       this.painter.paint(var1, (float)var3.x, (float)var3.y, (float)var3.width, (float)var3.height, this);
  93.       super.paint(var1, var3);
  94.    }
  95.  
  96.    public void replace(int var1, int var2, View[] var3) {
  97.       super.replace(var1, var2, var3);
  98.       this.this$0.invalidateGrid();
  99.    }
  100.  
  101.    protected SizeRequirements calculateMinorAxisRequirements(int var1, SizeRequirements var2) {
  102.       long var3 = 0L;
  103.       long var5 = 0L;
  104.       long var7 = 0L;
  105.       this.multiRowCells = false;
  106.       int var9 = ((CompositeView)this).getViewCount();
  107.  
  108.       for(int var10 = 0; var10 < var9; ++var10) {
  109.          View var11 = ((CompositeView)this).getView(var10);
  110.          if (this.this$0.getRowsOccupied(var11) > 1) {
  111.             this.multiRowCells = true;
  112.             var7 = Math.max((long)((int)var11.getMaximumSpan(var1)), var7);
  113.          } else {
  114.             var3 = Math.max((long)((int)var11.getMinimumSpan(var1)), var3);
  115.             var5 = Math.max((long)((int)var11.getPreferredSpan(var1)), var5);
  116.             var7 = Math.max((long)((int)var11.getMaximumSpan(var1)), var7);
  117.          }
  118.       }
  119.  
  120.       if (var2 == null) {
  121.          var2 = new SizeRequirements();
  122.          var2.alignment = 0.5F;
  123.       }
  124.  
  125.       var2.preferred = (int)var5;
  126.       var2.minimum = (int)var3;
  127.       var2.maximum = (int)var7;
  128.       return var2;
  129.    }
  130.  
  131.    protected void layoutMajorAxis(int var1, int var2, int[] var3, int[] var4) {
  132.       int var5 = 0;
  133.       int var6 = ((CompositeView)this).getViewCount();
  134.  
  135.       for(int var7 = 0; var7 < var6; ++var5) {
  136.          View var8;
  137.          for(var8 = ((CompositeView)this).getView(var7); this.isFilled(var5); ++var5) {
  138.          }
  139.  
  140.          int var9 = this.this$0.getColumnsOccupied(var8);
  141.          var4[var7] = this.this$0.columnSpans[var5];
  142.          var3[var7] = this.this$0.columnOffsets[var5];
  143.          if (var9 > 1) {
  144.             int var10 = this.this$0.columnSpans.length;
  145.  
  146.             for(int var11 = 1; var11 < var9; ++var11) {
  147.                if (var5 + var11 < var10) {
  148.                   var4[var7] += this.this$0.columnSpans[var5 + var11];
  149.                }
  150.             }
  151.  
  152.             var5 += var9 - 1;
  153.          }
  154.  
  155.          ++var7;
  156.       }
  157.  
  158.    }
  159.  
  160.    protected void layoutMinorAxis(int var1, int var2, int[] var3, int[] var4) {
  161.       super.layoutMinorAxis(var1, var2, var3, var4);
  162.       int var5 = 0;
  163.       int var6 = ((CompositeView)this).getViewCount();
  164.  
  165.       for(int var7 = 0; var7 < var6; ++var5) {
  166.          View var8;
  167.          for(var8 = ((CompositeView)this).getView(var7); this.isFilled(var5); ++var5) {
  168.          }
  169.  
  170.          int var9 = this.this$0.getColumnsOccupied(var8);
  171.          int var10 = this.this$0.getRowsOccupied(var8);
  172.          if (var10 > 1) {
  173.             int var11 = this.rowIndex;
  174.             int var12 = Math.min(this.rowIndex + var10 - 1, this.this$0.getRowCount() - 1);
  175.             var4[var7] = this.this$0.getMultiRowSpan(var11, var12);
  176.          }
  177.  
  178.          if (var9 > 1) {
  179.             var5 += var9 - 1;
  180.          }
  181.  
  182.          ++var7;
  183.       }
  184.  
  185.    }
  186.  
  187.    public int getResizeWeight(int var1) {
  188.       return 1;
  189.    }
  190.  
  191.    protected View getViewAtPosition(int var1, Rectangle var2) {
  192.       int var3 = ((CompositeView)this).getViewCount();
  193.  
  194.       for(int var4 = 0; var4 < var3; ++var4) {
  195.          View var5 = ((CompositeView)this).getView(var4);
  196.          int var6 = var5.getStartOffset();
  197.          int var7 = var5.getEndOffset();
  198.          if (var1 >= var6 && var1 < var7) {
  199.             if (var2 != null) {
  200.                ((BoxView)this).childAllocation(var4, var2);
  201.             }
  202.  
  203.             return var5;
  204.          }
  205.       }
  206.  
  207.       if (var1 == ((View)this).getEndOffset()) {
  208.          View var8 = ((CompositeView)this).getView(var3 - 1);
  209.          if (var2 != null) {
  210.             ((BoxView)this).childAllocation(var3 - 1, var2);
  211.          }
  212.  
  213.          return var8;
  214.       } else {
  215.          return null;
  216.       }
  217.    }
  218.  
  219.    void setPropertiesFromAttributes() {
  220.       StyleSheet var1 = this.getStyleSheet();
  221.       this.attr = var1.getViewAttributes(this);
  222.       this.painter = var1.getBoxPainter(this.attr);
  223.    }
  224. }
  225.