Author: laylaoesper
Date: 2010-08-03 15:42:39 -0700 (Tue, 03 Aug 2010)
New Revision: 21162
Modified:
csplugins/trunk/soc/layla/SemanticSummary/jars/SemanticSummary.jar
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/SemanticSummaryInputPanel.java
Log:
Fix multiple attribute display in panel.
Modified: csplugins/trunk/soc/layla/SemanticSummary/jars/SemanticSummary.jar
===================================================================
(Binary files differ)
Modified:
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/SemanticSummaryInputPanel.java
===================================================================
---
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/SemanticSummaryInputPanel.java
2010-08-03 22:35:12 UTC (rev 21161)
+++
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/SemanticSummaryInputPanel.java
2010-08-03 22:42:39 UTC (rev 21162)
@@ -60,11 +60,16 @@
import javax.swing.JPopupMenu;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.ListModel;
import javax.swing.ListSelectionModel;
import javax.swing.ScrollPaneConstants;
import javax.swing.event.ChangeListener;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.event.PopupMenuEvent;
+import javax.swing.event.PopupMenuListener;
import javax.swing.text.MaskFormatter;
import cytoscape.Cytoscape;
@@ -125,6 +130,7 @@
//Checkbox list
private CheckBoxJList attributeList;
private JPopupMenu attributeSelectionPopupMenu;
+ private JTextArea attNames;
//String Constants for Separators in remove word combo box
private static final String addedSeparator = "--Added Words--";
@@ -302,18 +308,22 @@
attributeList = new CheckBoxJList();
DefaultListModel model = new DefaultListModel();
attributeList.setModel(model);
- model.addElement("test1");
- model.addElement("test2");
+ attributeList.addListSelectionListener(new ListSelectionListener()
+ {
+ public void valueChanged(ListSelectionEvent e) {
+ updateAttNames();
+ }
+ });
+
JScrollPane scrollPane = new JScrollPane();
scrollPane.setPreferredSize(new Dimension(300, 200));
scrollPane.setViewportView(attributeList);
-
attributeSelectionPopupMenu = new JPopupMenu();
attributeSelectionPopupMenu.add(scrollPane);
- JButton attributeButton = new JButton("Select Attributes");
- attributeButton.setToolTipText("Define which nodes values to use
for semantic analysis");
+ JButton attributeButton = new JButton("Edit");
+ attributeButton.setToolTipText("Edit nodes values to use for
semantic analysis");
attributeButton.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
@@ -323,23 +333,36 @@
}
);
+ attNames = new JTextArea();
+ attNames.setColumns(15);
+ attNames.setEditable(false);
+ JScrollPane attListPane = new JScrollPane();
+ attListPane.setPreferredSize(attNames.getPreferredSize());
+ attListPane.setViewportView(attNames);
+
attListPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
+
attListPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
+
+ JLabel attributeLabel = new JLabel("Current Values:");
GridBagConstraints gridBagConstraints = new
GridBagConstraints();
- //gridBagConstraints.gridx = 0;
- //gridBagConstraints.gridy = 0;
- //gridBagConstraints.anchor = GridBagConstraints.WEST;
- //gridBagConstraints.insets = new Insets(5,0,0,0);
- //attributePanel.add(nodeAttributeLabel, gridBagConstraints);
-
- gridBagConstraints = new GridBagConstraints();
- //gridBagConstraints.gridx = 1;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
+ gridBagConstraints.insets = new Insets(5, 0, 0, 0);
+ attributePanel.add(attributeLabel, gridBagConstraints);
+
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 0;
gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
gridBagConstraints.weightx = 1.0;
- gridBagConstraints.insets = new Insets(5, 0, 0, 0);
- attributePanel.add(attributeButton, gridBagConstraints);
-
+ gridBagConstraints.insets = new Insets(5, 10, 0, 0);
+ attributePanel.add(attListPane, gridBagConstraints);
+
+ gridBagConstraints = new GridBagConstraints();
+ gridBagConstraints.gridx = 2;
+ gridBagConstraints.gridy = 0;
+ gridBagConstraints.insets = new Insets(5, 10, 0, 0);
+ attributePanel.add(attributeButton, gridBagConstraints);
+
refreshAttributeCMB();
panel.add(attributePanel);
@@ -833,6 +856,7 @@
public void loadCurrentCloud(CloudParameters params)
{
attributeList.setSelectedItems(params.getAttributeNames());
+ updateAttNames();
maxWordsTextField.setValue(params.getMaxWords());
clusterCutoffTextField.setValue(params.getClusterCutoff());
cmbStyle.setSelectedItem(params.getDisplayStyle());
@@ -893,6 +917,7 @@
CloudParameters params =
SemanticSummaryManager.getInstance().getCurCloud();
attributeList.setSelectedIndex(0);
+ updateAttNames();
maxWordsTextField.setValue(params.getDefaultMaxWords());
clusterCutoffTextField.setValue(params.getDefaultClusterCutoff());
cmbStyle.setSelectedItem(params.getDefaultDisplayStyle());
@@ -1093,6 +1118,14 @@
*/
private void updateCMBAttributes()
{
+ //Turn off listeners
+ ListSelectionListener[] listeners =
attributeList.getListSelectionListeners();
+ for (int i = 0; i < listeners.length; i++)
+ {
+ ListSelectionListener curListener = listeners[i];
+ attributeList.removeListSelectionListener(curListener);
+ }
+
//Updated GUI
DefaultListModel listModel;
listModel = ((DefaultListModel)attributeList.getModel());
@@ -1106,6 +1139,13 @@
{
listModel.addElement(av.elementAt(i));
}
+
+ //Turn listeners back on
+ for (int i = 0; i < listeners.length; i++)
+ {
+ ListSelectionListener curListener = listeners[i];
+ attributeList.addListSelectionListener(curListener);
+ }
}
@@ -1127,6 +1167,8 @@
attributeList.setSelectedItems(curAttList);
attributeList.repaint();
+ //updateAttNames();
+
}
/**
@@ -1495,7 +1537,29 @@
}
}
+ private void updateAttNames()
+ {
+ String nameList = "";
+ if (!attributeList.isSelectionEmpty())
+ {
+ Object[] names = attributeList.getSelectedValues();
+ for (int i = 0; i < names.length; i++)
+ {
+ if (names[i] instanceof String)
+ {
+ String curName = (String)names[i];
+
+ if (i != names.length - 1 )
+ nameList = nameList + curName +
"\n";
+ else
+ nameList = nameList + curName;
+ }
+ }
+ }
+ attNames.setText(nameList);
+ }
+
//Getters and Setters
public JFormattedTextField getMaxWordsTextField()
@@ -1600,7 +1664,12 @@
return attributeSelectionPopupMenu;
}
+ public JTextArea getAttNames()
+ {
+ return attNames;
+ }
+
/**
* Private Class to ensure that text fields are being set properly
*/
--
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.