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

  1. package javax.swing.text.html;
  2.  
  3. import javax.swing.text.BoxView;
  4. import javax.swing.text.CompositeView;
  5. import javax.swing.text.View;
  6.  
  7. class TableView$RowIterator implements CSS.LayoutIterator {
  8.    private int row;
  9.    private int[] adjustments;
  10.    private int[] offsets;
  11.    private int[] spans;
  12.    // $FF: synthetic field
  13.    private final TableView this$0;
  14.  
  15.    TableView$RowIterator(TableView var1) {
  16.       this.this$0 = var1;
  17.    }
  18.  
  19.    void updateAdjustments() {
  20.       byte var1 = 1;
  21.       if (TableView.access$200(this.this$0)) {
  22.          int var2 = this.this$0.getRowCount();
  23.          this.adjustments = new int[var2];
  24.  
  25.          for(int var3 = 0; var3 < var2; ++var3) {
  26.             TableView.RowView var4 = this.this$0.getRow(var3);
  27.             if (var4.multiRowCells) {
  28.                int var5 = ((CompositeView)var4).getViewCount();
  29.  
  30.                for(int var6 = 0; var6 < var5; ++var6) {
  31.                   View var7 = ((CompositeView)var4).getView(var6);
  32.                   int var8 = this.this$0.getRowsOccupied(var7);
  33.                   if (var8 > 1) {
  34.                      int var9 = (int)var7.getPreferredSpan(var1);
  35.                      this.adjustMultiRowSpan(var9, var8, var3);
  36.                   }
  37.                }
  38.             }
  39.          }
  40.       } else {
  41.          this.adjustments = null;
  42.       }
  43.  
  44.    }
  45.  
  46.    void adjustMultiRowSpan(int var1, int var2, int var3) {
  47.       if (var3 + var2 > this.getCount()) {
  48.          var2 = this.getCount() - var3;
  49.          if (var2 < 1) {
  50.             return;
  51.          }
  52.       }
  53.  
  54.       int var4 = 0;
  55.  
  56.       for(int var5 = 0; var5 < var2; ++var5) {
  57.          TableView.RowView var6 = this.this$0.getRow(var3 + var5);
  58.          var4 = (int)((float)var4 + ((BoxView)var6).getPreferredSpan(1));
  59.       }
  60.  
  61.       if (var1 > var4) {
  62.          int var11 = var1 - var4;
  63.          int var7 = var11 / var2;
  64.          int var8 = var7 + (var11 - var7 * var2);
  65.          this.this$0.getRow(var3);
  66.          int[] var10000 = this.adjustments;
  67.          var10000[var3] += var8;
  68.  
  69.          for(int var10 = 1; var10 < var2; ++var10) {
  70.             var10000 = this.adjustments;
  71.             var10000[var3 + var10] += var7;
  72.          }
  73.       }
  74.  
  75.    }
  76.  
  77.    void setLayoutArrays(int[] var1, int[] var2) {
  78.       this.offsets = var1;
  79.       this.spans = var2;
  80.    }
  81.  
  82.    public void setOffset(int var1) {
  83.       TableView.RowView var2 = this.this$0.getRow(this.row);
  84.       if (var2 != null) {
  85.          this.offsets[var2.viewIndex] = var1;
  86.       }
  87.  
  88.    }
  89.  
  90.    public int getOffset() {
  91.       TableView.RowView var1 = this.this$0.getRow(this.row);
  92.       return var1 != null ? this.offsets[var1.viewIndex] : 0;
  93.    }
  94.  
  95.    public void setSpan(int var1) {
  96.       TableView.RowView var2 = this.this$0.getRow(this.row);
  97.       if (var2 != null) {
  98.          this.spans[var2.viewIndex] = var1;
  99.       }
  100.  
  101.    }
  102.  
  103.    public int getSpan() {
  104.       TableView.RowView var1 = this.this$0.getRow(this.row);
  105.       return var1 != null ? this.spans[var1.viewIndex] : 0;
  106.    }
  107.  
  108.    public int getCount() {
  109.       return this.this$0.rows.size();
  110.    }
  111.  
  112.    public void setIndex(int var1) {
  113.       this.row = var1;
  114.    }
  115.  
  116.    public float getMinimumSpan(float var1) {
  117.       return this.getPreferredSpan(var1);
  118.    }
  119.  
  120.    public float getPreferredSpan(float var1) {
  121.       TableView.RowView var2 = this.this$0.getRow(this.row);
  122.       if (var2 != null) {
  123.          int var3 = this.adjustments != null ? this.adjustments[this.row] : 0;
  124.          var3 += 2 * TableView.access$100(this.this$0);
  125.          return ((BoxView)var2).getPreferredSpan(this.this$0.getAxis()) + (float)var3;
  126.       } else {
  127.          return 0.0F;
  128.       }
  129.    }
  130.  
  131.    public float getMaximumSpan(float var1) {
  132.       return this.getPreferredSpan(var1);
  133.    }
  134.  
  135.    public float getLeadingCollapseSpan() {
  136.       return (float)TableView.access$100(this.this$0);
  137.    }
  138.  
  139.    public float getTrailingCollapseSpan() {
  140.       return (float)TableView.access$100(this.this$0);
  141.    }
  142. }
  143.