Author: jm
Date: 2012-08-10 11:54:38 -0700 (Fri, 10 Aug 2012)
New Revision: 30161

Modified:
   
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/BrowserTable.java
Log:
References #1351: Last fix didn't fix this in all cases.  Now we're doing 
proper view-model space mapping.

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
  2012-08-10 18:49:32 UTC (rev 30160)
+++ 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/BrowserTable.java
  2012-08-10 18:54:38 UTC (rev 30161)
@@ -322,13 +322,14 @@
                return false;
        }
 
-       public void showListContents(int row, int visibleColumnIndex, 
MouseEvent e) {
+       public void showListContents(int viewRowIndex, int viewColumnIndex, 
MouseEvent e) {
                final BrowserTableModel model = (BrowserTableModel) getModel();
-               final Class<?> columnType = 
model.getColumn(visibleColumnIndex).getType();
+               final Class<?> columnType = 
model.getColumn(viewColumnIndex).getType();
 
                if (columnType == List.class) {
-                       int modelColumn = 
getModelColumnIndex(visibleColumnIndex);
-                       final ValidatedObjectAndEditString value = 
(ValidatedObjectAndEditString) model.getValueAt(row, modelColumn);
+                       int modelRow = convertRowIndexToModel(viewRowIndex);
+                       int modelColumn = 
convertColumnIndexToModel(viewColumnIndex);
+                       final ValidatedObjectAndEditString value = 
(ValidatedObjectAndEditString) model.getValueAt(modelRow, modelColumn);
 
                        if (value != null) {
                                final List<?> list = (List<?>) 
value.getValidatedObject();
@@ -340,21 +341,6 @@
                }
        }
 
-       private int getModelColumnIndex(int visibleColumnIndex) {
-               final BrowserTableModel model = (BrowserTableModel) getModel();
-               int visibleIndex = -1;
-               for (int i = 0; i < model.getColumnCount(); i++) {
-                       String name = model.getColumnName(i);
-                       if (model.isColumnVisible(name)) {
-                               visibleIndex++;
-                       }
-                       if (visibleIndex == visibleColumnIndex) {
-                               return i;
-                       }
-               }
-               return -1;
-       }
-
        private void getCellContentView(final Class<?> type, final List<?> 
listItems, final String borderTitle,
                        final MouseEvent e) {
 

-- 
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.

Reply via email to