Author: ruschein
Date: 2011-06-22 10:41:56 -0700 (Wed, 22 Jun 2011)
New Revision: 25879
Modified:
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/DeletionDialog.java
Log:
Fixed Redmine Bug #129.
Modified:
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/DeletionDialog.java
===================================================================
---
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/DeletionDialog.java
2011-06-22 17:16:59 UTC (rev 25878)
+++
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/DeletionDialog.java
2011-06-22 17:41:56 UTC (rev 25879)
@@ -6,6 +6,7 @@
import java.awt.event.ActionListener;
import java.util.Arrays;
+import java.util.Comparator;
import java.util.Set;
import javax.swing.AbstractListModel;
@@ -17,11 +18,22 @@
import org.cytoscape.browser.internal.BrowserTableModel;
+import org.cytoscape.model.CyColumn;
import org.cytoscape.model.CyTable;
import org.cytoscape.model.CyTableUtil;
public class DeletionDialog extends JDialog {
+ private static final class CaseInsensitiveCompare implements
Comparator<String> {
+ public int compare(final String s1, final String s2) {
+ return s1.compareToIgnoreCase(s2);
+ }
+
+ public boolean equals(final Object other) {
+ return other instanceof CaseInsensitiveCompare;
+ }
+ }
+
private CyTable attributes;
/** Creates new form DeletionDialog */
@@ -49,15 +61,26 @@
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
attributeList.setModel(new AbstractListModel() {
public int getSize() {
- return attributes.getColumns().size();
+ int mutableCount = 0;
+ for (final CyColumn column :
attributes.getColumns()) {
+ if (!column.isImmutable())
+ ++mutableCount;
+ }
+
+ return mutableCount;
}
- public Object getElementAt(int i) {
- final Set<String> columnNames =
CyTableUtil.getColumnNames(attributes);
- final String[] sortedColumnNames = new
String[columnNames.size()];
- columnNames.toArray(sortedColumnNames);
- Arrays.sort(sortedColumnNames);
- return sortedColumnNames[i];
+ public Object getElementAt(final int i) {
+ final String[] columnNames = new
String[getSize()];
+
+ int k = 0;
+ for (final CyColumn column :
attributes.getColumns()) {
+ if (!column.isImmutable())
+ columnNames[k++] =
column.getName();
+ }
+
+ Arrays.sort(columnNames, new
CaseInsensitiveCompare());
+ return columnNames[i];
}
});
deletionPane.setViewportView(attributeList);
--
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.