Author: kono
Date: 2012-06-22 16:04:41 -0700 (Fri, 22 Jun 2012)
New Revision: 29673
Modified:
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/tunables/ListMultipleHandler.java
Log:
fixes #1163 setSelected method works correctly.
Modified:
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/tunables/ListMultipleHandler.java
===================================================================
---
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/tunables/ListMultipleHandler.java
2012-06-22 23:03:25 UTC (rev 29672)
+++
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/tunables/ListMultipleHandler.java
2012-06-22 23:04:41 UTC (rev 29673)
@@ -2,13 +2,13 @@
import java.awt.BorderLayout;
+import java.awt.Dimension;
import java.awt.Font;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
-import java.util.Arrays;
import javax.swing.BorderFactory;
import javax.swing.JList;
@@ -73,6 +73,7 @@
panel = new JPanel(new BorderLayout(GUIDefaults.hGap,
GUIDefaults.vGap));
JTextArea jta = new JTextArea(getDescription());
+ jta.setPreferredSize(new Dimension(120, 50));
jta.setLineWrap(true);
jta.setWrapStyleWord(true);
jta.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
@@ -85,14 +86,32 @@
itemsContainerList.setFont(new Font("sansserif",Font.PLAIN,11));
itemsContainerList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
itemsContainerList.addListSelectionListener(this);
-
+
+ // selected items
+ final List<T> selectedVals =
listMultipleSelection.getSelectedValues();
+ final List<T> allValues =
listMultipleSelection.getPossibleValues();
+
+ final int[] selectedIdx = new int[selectedVals.size()];
+ int index = 0;
+ for(T selected: selectedVals) {
+ for(int i = 0; i<allValues.size(); i++) {
+
if(itemsContainerList.getModel().getElementAt(i).equals(selected)) {
+ selectedIdx[index] = i;
+ index++;
+ }
+ }
+ }
+ itemsContainerList.setSelectedIndices(selectedIdx);
+
//use a JscrollPane to visualize the items
JScrollPane scrollpane = new JScrollPane(itemsContainerList);
panel.add(scrollpane,BorderLayout.CENTER);
}
+
+ @Override
public void update(){
-
+ // FIXME: implement this!
}
/**
--
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.