home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.text;
-
- import java.awt.Rectangle;
- import javax.swing.SizeRequirements;
-
- public abstract class TableView extends BoxView {
- int[] columnSpans;
- int[] columnOffsets;
- SizeRequirements[] columnRequirements;
-
- public TableView(Element var1) {
- super(var1, 1);
- }
-
- void addProxy(int var1, int var2, TableCell var3) {
- TableRow var4 = (TableRow)((CompositeView)this).getView(var1);
- if (var4 != null) {
- int var5 = ((CompositeView)var4).getViewCount();
-
- for(int var6 = ((CompositeView)var4).getViewCount(); var6 < var2; ++var6) {
- ((CompositeView)var4).insert(var6, new ProxyCell(this, ((View)this).getElement()));
- }
-
- ((CompositeView)var4).insert(var2, new ProxyCell(this, var3));
- }
-
- }
-
- protected SizeRequirements calculateMinorAxisRequirements(int var1, SizeRequirements var2) {
- int var3 = 0;
- int var4 = ((CompositeView)this).getViewCount();
-
- for(int var5 = 0; var5 < var4; ++var5) {
- View var6 = ((CompositeView)this).getView(var5);
- var3 = Math.max(var3, var6.getViewCount());
- }
-
- this.columnSpans = new int[var3];
- this.columnOffsets = new int[var3];
- this.columnRequirements = new SizeRequirements[var3];
-
- for(int var16 = 0; var16 < var3; ++var16) {
- this.columnRequirements[var16] = new SizeRequirements();
- }
-
- for(int var7 = 0; var7 < var4; ++var7) {
- View var8 = ((CompositeView)this).getView(var7);
- var3 = var8.getViewCount();
-
- for(int var9 = 0; var9 < var3; ++var9) {
- View var10 = var8.getView(var9);
- SizeRequirements var11 = this.columnRequirements[var9];
- var11.minimum = Math.max((int)var10.getMinimumSpan(var1), var11.minimum);
- var11.preferred = Math.max((int)var10.getPreferredSpan(var1), var11.preferred);
- var11.maximum = Math.max((int)var10.getMaximumSpan(var1), var11.maximum);
- if (var10 instanceof GridCell) {
- GridCell var12 = (GridCell)var10;
- var12.setGridLocation(var7, var9);
- }
- }
- }
-
- if (var2 == null) {
- var2 = new SizeRequirements();
- }
-
- long var17 = 0L;
- long var18 = 0L;
- long var19 = 0L;
-
- for(int var14 = 0; var14 < var3; ++var14) {
- SizeRequirements var15 = this.columnRequirements[var14];
- var17 += (long)var15.minimum;
- var18 += (long)var15.preferred;
- var19 += (long)var15.maximum;
- }
-
- var2.minimum = (int)var17;
- var2.preferred = (int)var18;
- var2.maximum = (int)var19;
- var2.alignment = 0.0F;
- return var2;
- }
-
- protected TableCell createTableCell(Element var1) {
- return new TableCell(this, var1);
- }
-
- protected TableRow createTableRow(Element var1) {
- return new TableRow(this, var1);
- }
-
- int getColumnCount() {
- return this.columnSpans.length;
- }
-
- int getColumnSpan(int var1) {
- return this.columnSpans[var1];
- }
-
- int getRowCount() {
- return ((CompositeView)this).getViewCount();
- }
-
- int getRowSpan(int var1) {
- return var1 < ((CompositeView)this).getViewCount() ? ((BoxView)this).getSpan(1, var1) : 0;
- }
-
- protected View getViewAtPosition(int var1, Rectangle var2) {
- int var3 = ((CompositeView)this).getViewCount();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- View var5 = ((CompositeView)this).getView(var4);
- int var6 = var5.getStartOffset();
- int var7 = var5.getEndOffset();
- if (var1 >= var6 && var1 < var7) {
- if (var2 != null) {
- ((BoxView)this).childAllocation(var4, var2);
- }
-
- return var5;
- }
- }
-
- if (var1 == ((View)this).getEndOffset()) {
- View var8 = ((CompositeView)this).getView(var3 - 1);
- if (var2 != null) {
- ((BoxView)this).childAllocation(var3 - 1, var2);
- }
-
- return var8;
- } else {
- return null;
- }
- }
-
- protected void layoutColumns(int var1, int[] var2, int[] var3, SizeRequirements[] var4) {
- SizeRequirements.calculateTiledPositions(var1, (SizeRequirements)null, var4, var2, var3);
- }
-
- protected void layoutMinorAxis(int var1, int var2, int[] var3, int[] var4) {
- this.layoutColumns(var1, this.columnOffsets, this.columnSpans, this.columnRequirements);
- super.layoutMinorAxis(var1, var2, var3, var4);
- }
-
- protected void loadChildren(ViewFactory var1) {
- Element var2 = ((View)this).getElement();
- int var3 = var2.getElementCount();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- TableRow var5 = this.createTableRow(var2.getElement(var4));
- if (var5 != null) {
- ((CompositeView)this).append(var5);
- }
- }
-
- this.loadProxyCells();
- }
-
- void loadProxyCells() {
- int var1 = ((CompositeView)this).getViewCount();
-
- for(int var2 = 0; var2 < var1; ++var2) {
- View var3 = ((CompositeView)this).getView(var2);
-
- for(int var4 = 0; var4 < var3.getViewCount(); ++var4) {
- View var5 = var3.getView(var4);
- if (var5 instanceof TableCell) {
- TableCell var6 = (TableCell)var5;
- if (var6.getColumnCount() > 1 || var6.getRowCount() > 1) {
- int var7 = var2 + var6.getRowCount();
- int var8 = var4 + var6.getColumnCount();
-
- for(int var9 = var2; var9 < var7; ++var9) {
- for(int var10 = var4; var10 < var8; ++var10) {
- if (var9 != var2 || var10 != var4) {
- this.addProxy(var9, var10, var6);
- }
- }
- }
- }
- }
- }
- }
-
- }
- }
-