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.

Reply via email to