You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by no...@apache.org on 2010/08/16 16:03:02 UTC
svn commit: r985934 -
/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java
Author: noelgrandin
Date: Mon Aug 16 14:03:01 2010
New Revision: 985934
URL: http://svn.apache.org/viewvc?rev=985934&view=rev
Log:
PIVOT-287 Inconsistency between TableView, ListView, and TreeView as to when to consume arrow key events
Make all of the views consume UP and DOWN
Also fix multi-select using keyboard in TreeView
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=985934&r1=985933&r2=985934&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 Mon Aug 16 14:03:01 2010
@@ -1281,48 +1281,53 @@ public class TerraTableViewSkin extends
boolean consumed = super.keyPressed(component, keyCode, keyLocation);
TableView tableView = (TableView)getComponent();
+ TableView.SelectMode selectMode = tableView.getSelectMode();
switch (keyCode) {
case Keyboard.KeyCode.UP: {
- int index = tableView.getFirstSelectedIndex();
-
- do {
- index--;
- } while (index >= 0
- && tableView.isRowDisabled(index));
-
- if (index >= 0) {
- if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)
- && tableView.getSelectMode() == TableView.SelectMode.MULTI) {
- tableView.addSelectedIndex(index);
- } else {
- tableView.setSelectedIndex(index);
+ if (selectMode != TableView.SelectMode.NONE) {
+ int index = tableView.getFirstSelectedIndex();
+
+ do {
+ index--;
+ } while (index >= 0
+ && tableView.isRowDisabled(index));
+
+ if (index >= 0) {
+ if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)
+ && tableView.getSelectMode() == TableView.SelectMode.MULTI) {
+ tableView.addSelectedIndex(index);
+ } else {
+ tableView.setSelectedIndex(index);
+ }
}
+
+ consumed = true;
}
-
- consumed = true;
break;
}
case Keyboard.KeyCode.DOWN: {
- int index = tableView.getLastSelectedIndex();
- int count = tableView.getTableData().getLength();
-
- do {
- index++;
- } while (index < count
- && tableView.isRowDisabled(index));
-
- if (index < count) {
- if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)
- && tableView.getSelectMode() == TableView.SelectMode.MULTI) {
- tableView.addSelectedIndex(index);
- } else {
- tableView.setSelectedIndex(index);
+ if (selectMode != TableView.SelectMode.NONE) {
+ int index = tableView.getLastSelectedIndex();
+ int count = tableView.getTableData().getLength();
+
+ do {
+ index++;
+ } while (index < count
+ && tableView.isRowDisabled(index));
+
+ if (index < count) {
+ if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)
+ && tableView.getSelectMode() == TableView.SelectMode.MULTI) {
+ tableView.addSelectedIndex(index);
+ } else {
+ tableView.setSelectedIndex(index);
+ }
}
+
+ consumed = true;
}
-
- consumed = true;
break;
}
}