Author: kono
Date: 2011-10-07 17:08:57 -0700 (Fri, 07 Oct 2011)
New Revision: 27097
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/BrowserTable.java
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/BrowserTableModel.java
Log:
fixes #423 Broken internal index had been fixed. Now it returns correct result
even after sorting.
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/BrowserTable.java
===================================================================
---
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/BrowserTable.java
2011-10-07 21:37:15 UTC (rev 27096)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/BrowserTable.java
2011-10-08 00:08:57 UTC (rev 27097)
@@ -57,6 +57,7 @@
import org.cytoscape.model.CyColumn;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyRow;
+import org.cytoscape.model.CyTableEntry;
import org.cytoscape.util.swing.OpenBrowser;
import org.cytoscape.view.model.CyNetworkView;
import org.slf4j.Logger;
@@ -220,17 +221,26 @@
final int selectedRowCount = getSelectedRowCount();
//TODO: performance tuning
+ final int columnCount = this.getColumnCount();
+ int colIdx;
+ for(colIdx=0; colIdx<columnCount; colIdx++) {
+ final String colName = this.getColumnName(colIdx);
+ if(colName.equals(CyTableEntry.SUID))
+ break;
+ }
+
final Set<CyRow> targetRows = new HashSet<CyRow>();
- for(int i=0; i<selectedRowCount; i++)
- targetRows.add(btModel.getRow(rowsSelected[i]));
-
+ for(int i=0; i<selectedRowCount; i++) {
+ ValidatedObjectAndEditString selected =
(ValidatedObjectAndEditString) this.getValueAt(rowsSelected[i], colIdx);
+
targetRows.add(btModel.getRow(selected.getValidatedObject()));
+ }
// Clear selection
List<CyRow> allRows = btModel.getDataTable().getAllRows();
for(CyRow row: allRows) {
final Boolean val = row.get(CyNetwork.SELECTED,
Boolean.class);
if(targetRows.contains(row)) {
- if(!val)
- row.set(CyNetwork.SELECTED, true);
+// System.out.println("=======> selected: " +
row.get(CyTableEntry.NAME, String.class));
+ row.set(CyNetwork.SELECTED, true);
continue;
}
if(val)
Modified:
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/BrowserTableModel.java
===================================================================
---
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/BrowserTableModel.java
2011-10-07 21:37:15 UTC (rev 27096)
+++
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/BrowserTableModel.java
2011-10-08 00:08:57 UTC (rev 27097)
@@ -181,7 +181,6 @@
cyRow = selectedRow;
break;
}
-
++count;
}
@@ -448,8 +447,8 @@
return cellVect;
}
- CyRow getRow(final int rowIndex) {
- return mapRowIndexToRow(rowIndex);
+ CyRow getRow(final Object suid) {
+ return dataTable.getRow(suid);
}
@Override
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.