You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2010/03/24 20:45:13 UTC
svn commit: r927164 -
/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java
Author: gbrown
Date: Wed Mar 24 19:45:13 2010
New Revision: 927164
URL: http://svn.apache.org/viewvc?rev=927164&view=rev
Log:
Invalidate TableView on data changes when at least one column has a default width.
Modified:
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java
Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java?rev=927164&r1=927163&r2=927164&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java Wed Mar 24 19:45:13 2010
@@ -79,6 +79,7 @@ public class TerraTableViewSkin extends
private ArrayList<Integer> columnWidths = null;
private ArrayList<Integer> rowHeights = null;
private int fixedRowHeight = -1;
+ private int defaultWidthColumnCount = 0;
private int highlightedIndex = -1;
private int editIndex = -1;
@@ -278,8 +279,8 @@ public class TerraTableViewSkin extends
rowHeights.add(rowY);
rowY += rowHeight + 1;
}
- rowHeights.add(rowY);
+ rowHeights.add(rowY);
} else {
fixedRowHeight = calculateFixedRowHeight(tableView);
}
@@ -1365,11 +1366,25 @@ public class TerraTableViewSkin extends
// Table view column events
@Override
public void columnInserted(TableView tableView, int index) {
+ TableView.Column column = tableView.getColumns().get(index);
+
+ if (column.getWidth() == -1) {
+ defaultWidthColumnCount++;
+ }
+
invalidateComponent();
}
@Override
public void columnsRemoved(TableView tableView, int index, Sequence<TableView.Column> columns) {
+ for (int i = 0, n = columns.getLength(); i < n; i++) {
+ TableView.Column column = columns.get(i);
+
+ if (column.getWidth() == -1) {
+ defaultWidthColumnCount--;
+ }
+ }
+
invalidateComponent();
}
@@ -1385,6 +1400,12 @@ public class TerraTableViewSkin extends
@Override
public void columnWidthChanged(TableView.Column column, int previousWidth, boolean previousRelative) {
+ if (column.getWidth() == -1) {
+ defaultWidthColumnCount++;
+ } else {
+ defaultWidthColumnCount--;
+ }
+
invalidateComponent();
}
@@ -1416,7 +1437,8 @@ public class TerraTableViewSkin extends
@Override
public void rowUpdated(TableView tableView, int index) {
- if (variableRowHeight) {
+ if (variableRowHeight
+ || defaultWidthColumnCount > 0) {
invalidateComponent();
} else {
repaintComponent(getRowBounds(index));