home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.text;
-
- public class TableView extends BoxView {
- int[] colWidths;
-
- public TableView(Element var1) {
- super(var1, 1);
- }
-
- protected TableRow createTableRow(Element var1) {
- return new TableRow(this, var1);
- }
-
- protected TableCell createTableCell(Element var1) {
- return new TableCell(this, var1);
- }
-
- int getColumnSpan(int var1) {
- return this.colWidths[var1];
- }
-
- int getRowSpan(int var1) {
- View var2 = ((CompositeView)this).getView(var1);
- return (int)var2.getPreferredSpan(1);
- }
-
- protected void loadChildren(ViewFactory var1) {
- Element var2 = ((View)this).getElement();
- int var3 = var2.getElementCount();
- if (var3 > 0) {
- View[] var4 = new View[var3];
-
- for(int var5 = 0; var5 < var3; ++var5) {
- var4[var5] = this.createTableRow(var2.getElement(var5));
- }
-
- ((BoxView)this).replace(0, 0, var4);
- }
-
- for(int var11 = 0; var11 < var3; ++var11) {
- View var12 = ((CompositeView)this).getView(var11);
-
- for(int var6 = 0; var6 < var12.getViewCount(); ++var6) {
- View var7 = var12.getView(var6);
- if (var7 instanceof TableCell) {
- TableCell var8 = (TableCell)var7;
- if (var8.getColumnCount() > 1 || var8.getRowCount() > 1) {
- for(int var9 = var11; var9 < var11 + var8.getRowCount(); ++var11) {
- for(int var10 = var6; var10 < var6 + var8.getColumnCount(); ++var10) {
- if (var9 != 0 && var10 != 0) {
- this.addProxy(var9, var10, var8);
- }
- }
- }
- }
- }
- }
- }
-
- this.calculateGrid();
- }
-
- void calculateGrid() {
- int var1 = 0;
- int var2 = ((CompositeView)this).getViewCount();
-
- for(int var3 = 0; var3 < var2; ++var3) {
- View var4 = ((CompositeView)this).getView(var3);
- var1 = Math.max(var1, var4.getViewCount());
- }
-
- this.colWidths = new int[var1];
-
- for(int var9 = 0; var9 < var2; ++var9) {
- View var5 = ((CompositeView)this).getView(var9);
- var1 = var5.getViewCount();
-
- for(int var6 = 0; var6 < var1; ++var6) {
- TableCell var7 = (TableCell)var5.getView(var6);
- this.colWidths[var6] = Math.max(var7.getPreferredColumnSpan(), this.colWidths[var6]);
- }
-
- var5.preferenceChanged((View)null, true, false);
- }
-
- }
-
- void addProxy(int var1, int var2, TableCell var3) {
- TableRow var4 = (TableRow)((CompositeView)this).getView(var1);
- ((CompositeView)var4).insert(var2, new ProxyCell(this, var3));
- }
-
- protected void layout(int var1, int var2) {
- this.calculateGrid();
- super.layout(var1, var2);
- }
- }
-