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/19 20:27:35 UTC
svn commit: r925389 - in
/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra:
TerraListViewSkin.java TerraTableViewSkin.java
Author: gbrown
Date: Fri Mar 19 19:27:35 2010
New Revision: 925389
URL: http://svn.apache.org/viewvc?rev=925389&view=rev
Log:
Only repaint list view/table view on selection change when the component is valid.
Modified:
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java
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/TerraListViewSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java?rev=925389&r1=925388&r2=925389&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java Fri Mar 19 19:27:35 2010
@@ -46,8 +46,6 @@ import org.apache.pivot.wtk.skin.Compone
/**
* List view skin.
- * <p>
- * NOTE This skin assumes a fixed renderer height.
*/
public class TerraListViewSkin extends ComponentSkin implements ListView.Skin,
ListViewListener, ListViewItemListener, ListViewItemStateListener,
@@ -1099,15 +1097,19 @@ public class TerraListViewSkin extends C
@Override
public void selectedRangeAdded(ListView listView, int rangeStart, int rangeEnd) {
// Repaint the area containing the added selection
- repaintComponent(0, getItemY(rangeStart),
- getWidth(), getItemY(rangeEnd) + getItemHeight(rangeEnd));
+ if (listView.isValid()) {
+ repaintComponent(0, getItemY(rangeStart),
+ getWidth(), getItemY(rangeEnd) + getItemHeight(rangeEnd));
+ }
}
@Override
public void selectedRangeRemoved(ListView listView, int rangeStart, int rangeEnd) {
// Repaint the area containing the removed selection
- repaintComponent(0, getItemY(rangeStart),
- getWidth(), getItemY(rangeEnd) + getItemHeight(rangeEnd));
+ if (listView.isValid()) {
+ repaintComponent(0, getItemY(rangeStart),
+ getWidth(), getItemY(rangeEnd) + getItemHeight(rangeEnd));
+ }
}
@Override
@@ -1116,7 +1118,6 @@ public class TerraListViewSkin extends C
List<Object> listData = (List<Object>)listView.getListData();
// Repaint only the area that changed (intersection of previous and new selection)
-
int rangeStart = 0;
int rangeEnd = listData.getLength() - 1;
for (int i = 0; i < previousSelectedRanges.getLength(); i++) {
@@ -1132,7 +1133,9 @@ public class TerraListViewSkin extends C
rangeEnd = Math.max(rangeEnd, span.end);
}
- repaintComponent(0, getItemY(rangeStart),
- getWidth(), getItemY(rangeEnd) + getItemHeight(rangeEnd));
+ if (listView.isValid()) {
+ repaintComponent(0, getItemY(rangeStart),
+ getWidth(), getItemY(rangeEnd) + getItemHeight(rangeEnd));
+ }
}
}
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=925389&r1=925388&r2=925389&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 Fri Mar 19 19:27:35 2010
@@ -48,8 +48,6 @@ import org.apache.pivot.wtk.skin.Compone
/**
* Table view skin.
* <p>
- * NOTE This skin assumes a fixed renderer height.
- * <p>
* TODO Add disableMouseSelection style to support the case where selection
* should be enabled but the caller wants to implement the management of it;
* e.g. changing a message's flag state in an email client.
@@ -1443,15 +1441,19 @@ public class TerraTableViewSkin extends
@Override
public void selectedRangeAdded(TableView tableView, int rangeStart, int rangeEnd) {
// Repaint the area containing the added selection
- repaintComponent(0, getRowY(rangeStart),
- getWidth(), getRowY(rangeEnd + 1) - getRowY(rangeStart));
+ if (tableView.isValid()) {
+ repaintComponent(0, getRowY(rangeStart),
+ getWidth(), getRowY(rangeEnd + 1) - getRowY(rangeStart));
+ }
}
@Override
public void selectedRangeRemoved(TableView tableView, int rangeStart, int rangeEnd) {
// Repaint the area containing the removed selection
- repaintComponent(0, getRowY(rangeStart),
- getWidth(), getRowY(rangeStart) - getRowY(rangeEnd));
+ if (tableView.isValid()) {
+ repaintComponent(0, getRowY(rangeStart),
+ getWidth(), getRowY(rangeStart) - getRowY(rangeEnd));
+ }
}
@Override
@@ -1460,7 +1462,6 @@ public class TerraTableViewSkin extends
// Repaint only the area that changed (intersection of previous
// and new selection)
-
int rangeStart = 0;
int rangeEnd = tableData.getLength() - 1;
for (int i = 0; i < previousSelectedRanges.getLength(); i++) {
@@ -1476,7 +1477,9 @@ public class TerraTableViewSkin extends
rangeEnd = Math.max(rangeEnd, span.end);
}
- repaintComponent(0, getRowY(rangeStart),
- getWidth(), getRowY(rangeEnd) + getRowY(rangeEnd));
+ if (tableView.isValid()) {
+ repaintComponent(0, getRowY(rangeStart),
+ getWidth(), getRowY(rangeEnd) + getRowY(rangeEnd));
+ }
}
}