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 2009/08/04 19:01:33 UTC
svn commit: r800874 - in
/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra:
TerraListViewSkin.java TerraTableViewSkin.java
Author: gbrown
Date: Tue Aug 4 17:01:32 2009
New Revision: 800874
URL: http://svn.apache.org/viewvc?rev=800874&view=rev
Log:
Update mouse selection handling in ListView and TableView for PIVOT-182.
Modified:
incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java
incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java
Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java?rev=800874&r1=800873&r2=800874&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java Tue Aug 4 17:01:32 2009
@@ -582,43 +582,47 @@
&& y < itemY + checkboxPadding.top + CHECKBOX.getHeight())) {
ListView.SelectMode selectMode = listView.getSelectMode();
- if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)
- && selectMode == ListView.SelectMode.MULTI) {
- // Select the range
- int startIndex = listView.getFirstSelectedIndex();
- int endIndex = listView.getLastSelectedIndex();
- Span selectedRange = (itemIndex > startIndex) ?
- new Span(startIndex, itemIndex) : new Span(itemIndex, endIndex);
-
- ArrayList<Span> selectedRanges = new ArrayList<Span>();
- Filter<?> disabledItemFilter = listView.getDisabledItemFilter();
- if (disabledItemFilter == null) {
- selectedRanges.add(selectedRange);
- } else {
- // TODO Split the range by the disabled indexes; for now,
- // just return
- return consumed;
- }
-
- listView.setSelectedRanges(selectedRanges);
- } else if (Keyboard.isPressed(Keyboard.Modifier.CTRL)
- && selectMode == ListView.SelectMode.MULTI) {
- // Toggle the item's selection state
- if (listView.isItemSelected(itemIndex)) {
- listView.removeSelectedIndex(itemIndex);
- } else {
- listView.addSelectedIndex(itemIndex);
+ if (button == Mouse.Button.RIGHT) {
+ if (!listView.isItemSelected(itemIndex)
+ && selectMode != ListView.SelectMode.NONE) {
+ listView.setSelectedIndex(itemIndex);
}
} else {
- if (selectMode != ListView.SelectMode.NONE) {
- if (listView.isItemSelected(itemIndex)
- && listView.isFocused()) {
- // Edit the item
- editIndex = itemIndex;
+ if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)
+ && selectMode == ListView.SelectMode.MULTI) {
+ Filter<?> disabledItemFilter = listView.getDisabledItemFilter();
+
+ if (disabledItemFilter == null) {
+ // Select the range
+ ArrayList<Span> selectedRanges = new ArrayList<Span>();
+ int startIndex = listView.getFirstSelectedIndex();
+ int endIndex = listView.getLastSelectedIndex();
+
+ Span selectedRange = (itemIndex > startIndex) ?
+ new Span(startIndex, itemIndex) : new Span(itemIndex, endIndex);
+ selectedRanges.add(selectedRange);
+
+ listView.setSelectedRanges(selectedRanges);
+ }
+ } else if (Keyboard.isPressed(Keyboard.Modifier.CTRL)
+ && selectMode == ListView.SelectMode.MULTI) {
+ // Toggle the item's selection state
+ if (listView.isItemSelected(itemIndex)) {
+ listView.removeSelectedIndex(itemIndex);
+ } else {
+ listView.addSelectedIndex(itemIndex);
}
+ } else {
+ if (selectMode != ListView.SelectMode.NONE) {
+ if (listView.isItemSelected(itemIndex)
+ && listView.isFocused()) {
+ // Edit the item
+ editIndex = itemIndex;
+ }
- // Select the item
- listView.setSelectedIndex(itemIndex);
+ // Select the item
+ listView.setSelectedIndex(itemIndex);
+ }
}
}
}
Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java?rev=800874&r1=800873&r2=800874&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java Tue Aug 4 17:01:32 2009
@@ -819,43 +819,47 @@
&& !tableView.isRowDisabled(rowIndex)) {
TableView.SelectMode selectMode = tableView.getSelectMode();
- if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)
- && selectMode == TableView.SelectMode.MULTI) {
- // Select the range
- int startIndex = tableView.getFirstSelectedIndex();
- int endIndex = tableView.getLastSelectedIndex();
- Span selectedRange = (rowIndex > startIndex) ?
- new Span(startIndex, rowIndex) : new Span(rowIndex, endIndex);
-
- ArrayList<Span> selectedRanges = new ArrayList<Span>();
- Filter<?> disabledRowFilter = tableView.getDisabledRowFilter();
- if (disabledRowFilter == null) {
- selectedRanges.add(selectedRange);
- } else {
- // TODO Split the range by the disabled indexes; for now,
- // just return
- return consumed;
- }
-
- tableView.setSelectedRanges(selectedRanges);
- } else if (Keyboard.isPressed(Keyboard.Modifier.CTRL)
- && selectMode == TableView.SelectMode.MULTI) {
- // Toggle the item's selection state
- if (tableView.isRowSelected(rowIndex)) {
- tableView.removeSelectedIndex(rowIndex);
- } else {
- tableView.addSelectedIndex(rowIndex);
+ if (button == Mouse.Button.RIGHT) {
+ if (!tableView.isRowSelected(rowIndex)
+ && selectMode != TableView.SelectMode.NONE) {
+ tableView.setSelectedIndex(rowIndex);
}
} else {
- if (selectMode != TableView.SelectMode.NONE) {
- if (tableView.isRowSelected(rowIndex)
- && tableView.isFocused()) {
- // Edit the row
- editIndex = rowIndex;
+ if (Keyboard.isPressed(Keyboard.Modifier.SHIFT)
+ && selectMode == TableView.SelectMode.MULTI) {
+ Filter<?> disabledRowFilter = tableView.getDisabledRowFilter();
+
+ if (disabledRowFilter == null) {
+ // Select the range
+ int startIndex = tableView.getFirstSelectedIndex();
+ int endIndex = tableView.getLastSelectedIndex();
+ Span selectedRange = (rowIndex > startIndex) ?
+ new Span(startIndex, rowIndex) : new Span(rowIndex, endIndex);
+
+ ArrayList<Span> selectedRanges = new ArrayList<Span>();
+ selectedRanges.add(selectedRange);
+
+ tableView.setSelectedRanges(selectedRanges);
+ }
+ } else if (Keyboard.isPressed(Keyboard.Modifier.CTRL)
+ && selectMode == TableView.SelectMode.MULTI) {
+ // Toggle the item's selection state
+ if (tableView.isRowSelected(rowIndex)) {
+ tableView.removeSelectedIndex(rowIndex);
+ } else {
+ tableView.addSelectedIndex(rowIndex);
}
+ } else {
+ if (selectMode != TableView.SelectMode.NONE) {
+ if (tableView.isRowSelected(rowIndex)
+ && tableView.isFocused()) {
+ // Edit the row
+ editIndex = rowIndex;
+ }
- // Select the row
- tableView.setSelectedIndex(rowIndex);
+ // Select the row
+ tableView.setSelectedIndex(rowIndex);
+ }
}
}
}