home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.text.html;
-
- import java.awt.Graphics;
- import java.awt.Rectangle;
- import java.awt.Shape;
- import java.util.BitSet;
- import javax.swing.SizeRequirements;
- import javax.swing.event.DocumentEvent;
- import javax.swing.text.AttributeSet;
- import javax.swing.text.BoxView;
- import javax.swing.text.CompositeView;
- import javax.swing.text.Element;
- import javax.swing.text.View;
- import javax.swing.text.ViewFactory;
-
- public class TableView$RowView extends BoxView {
- private StyleSheet.BoxPainter painter;
- private AttributeSet attr;
- BitSet fillColumns;
- int rowIndex;
- int viewIndex;
- boolean multiRowCells;
- // $FF: synthetic field
- private final TableView this$0;
-
- public TableView$RowView(TableView var1, Element var2) {
- super(var2, 0);
- this.this$0 = var1;
- this.fillColumns = new BitSet();
- this.setPropertiesFromAttributes();
- }
-
- void clearFilledColumns() {
- this.fillColumns.and(TableView.access$300());
- }
-
- void fillColumn(int var1) {
- this.fillColumns.set(var1);
- }
-
- boolean isFilled(int var1) {
- return this.fillColumns.get(var1);
- }
-
- int getColumnCount() {
- int var1 = 0;
- int var2 = this.fillColumns.size();
-
- for(int var3 = 0; var3 < var2; ++var3) {
- if (this.fillColumns.get(var3)) {
- ++var1;
- }
- }
-
- return ((CompositeView)this).getViewCount() + var1;
- }
-
- public AttributeSet getAttributes() {
- return this.attr;
- }
-
- protected StyleSheet getStyleSheet() {
- HTMLDocument var1 = (HTMLDocument)((View)this).getDocument();
- return var1.getStyleSheet();
- }
-
- public void preferenceChanged(View var1, boolean var2, boolean var3) {
- super.preferenceChanged(var1, var2, var3);
- if (TableView.access$200(this.this$0) && var3) {
- for(int var4 = this.rowIndex - 1; var4 >= 0; --var4) {
- TableView$RowView var5 = this.this$0.getRow(var4);
- if (var5.multiRowCells) {
- var5.preferenceChanged((View)null, false, true);
- break;
- }
- }
- }
-
- }
-
- public void changedUpdate(DocumentEvent var1, Shape var2, ViewFactory var3) {
- super.changedUpdate(var1, var2, var3);
- int var4 = var1.getOffset();
- if (var4 <= ((View)this).getStartOffset() && var4 + var1.getLength() >= ((View)this).getEndOffset()) {
- this.setPropertiesFromAttributes();
- }
-
- }
-
- public void paint(Graphics var1, Shape var2) {
- Rectangle var3 = (Rectangle)var2;
- this.painter.paint(var1, (float)var3.x, (float)var3.y, (float)var3.width, (float)var3.height, this);
- super.paint(var1, var3);
- }
-
- public void replace(int var1, int var2, View[] var3) {
- super.replace(var1, var2, var3);
- this.this$0.invalidateGrid();
- }
-
- protected SizeRequirements calculateMinorAxisRequirements(int var1, SizeRequirements var2) {
- long var3 = 0L;
- long var5 = 0L;
- long var7 = 0L;
- this.multiRowCells = false;
- int var9 = ((CompositeView)this).getViewCount();
-
- for(int var10 = 0; var10 < var9; ++var10) {
- View var11 = ((CompositeView)this).getView(var10);
- if (this.this$0.getRowsOccupied(var11) > 1) {
- this.multiRowCells = true;
- var7 = Math.max((long)((int)var11.getMaximumSpan(var1)), var7);
- } else {
- var3 = Math.max((long)((int)var11.getMinimumSpan(var1)), var3);
- var5 = Math.max((long)((int)var11.getPreferredSpan(var1)), var5);
- var7 = Math.max((long)((int)var11.getMaximumSpan(var1)), var7);
- }
- }
-
- if (var2 == null) {
- var2 = new SizeRequirements();
- var2.alignment = 0.5F;
- }
-
- var2.preferred = (int)var5;
- var2.minimum = (int)var3;
- var2.maximum = (int)var7;
- return var2;
- }
-
- protected void layoutMajorAxis(int var1, int var2, int[] var3, int[] var4) {
- int var5 = 0;
- int var6 = ((CompositeView)this).getViewCount();
-
- for(int var7 = 0; var7 < var6; ++var5) {
- View var8;
- for(var8 = ((CompositeView)this).getView(var7); this.isFilled(var5); ++var5) {
- }
-
- int var9 = this.this$0.getColumnsOccupied(var8);
- var4[var7] = this.this$0.columnSpans[var5];
- var3[var7] = this.this$0.columnOffsets[var5];
- if (var9 > 1) {
- int var10 = this.this$0.columnSpans.length;
-
- for(int var11 = 1; var11 < var9; ++var11) {
- if (var5 + var11 < var10) {
- var4[var7] += this.this$0.columnSpans[var5 + var11];
- }
- }
-
- var5 += var9 - 1;
- }
-
- ++var7;
- }
-
- }
-
- protected void layoutMinorAxis(int var1, int var2, int[] var3, int[] var4) {
- super.layoutMinorAxis(var1, var2, var3, var4);
- int var5 = 0;
- int var6 = ((CompositeView)this).getViewCount();
-
- for(int var7 = 0; var7 < var6; ++var5) {
- View var8;
- for(var8 = ((CompositeView)this).getView(var7); this.isFilled(var5); ++var5) {
- }
-
- int var9 = this.this$0.getColumnsOccupied(var8);
- int var10 = this.this$0.getRowsOccupied(var8);
- if (var10 > 1) {
- int var11 = this.rowIndex;
- int var12 = Math.min(this.rowIndex + var10 - 1, this.this$0.getRowCount() - 1);
- var4[var7] = this.this$0.getMultiRowSpan(var11, var12);
- }
-
- if (var9 > 1) {
- var5 += var9 - 1;
- }
-
- ++var7;
- }
-
- }
-
- public int getResizeWeight(int var1) {
- return 1;
- }
-
- 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;
- }
- }
-
- void setPropertiesFromAttributes() {
- StyleSheet var1 = this.getStyleSheet();
- this.attr = var1.getViewAttributes(this);
- this.painter = var1.getBoxPainter(this.attr);
- }
- }
-