Author: pwang
Date: 2011-10-18 14:34:12 -0700 (Tue, 18 Oct 2011)
New Revision: 27222

Modified:
   
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/NetworkSelectorPanel.java
Log:
Refactored to work with Cy3

Modified: 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/NetworkSelectorPanel.java
===================================================================
--- 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/NetworkSelectorPanel.java
     2011-10-18 21:30:13 UTC (rev 27221)
+++ 
core3/api/trunk/swing-util-api/src/main/java/org/cytoscape/util/swing/NetworkSelectorPanel.java
     2011-10-18 21:34:12 UTC (rev 27222)
@@ -1,90 +1,107 @@
-package cytoscape.util.swing;
-
-
-import java.awt.BorderLayout;
-import java.awt.event.ItemListener;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import javax.swing.JComboBox;
-import javax.swing.JPanel;
-
-import cytoscape.CyNetwork;
-import cytoscape.Cytoscape;
-
-
-public class NetworkSelectorPanel extends JPanel implements
-               PropertyChangeListener
-{
-       private static final long serialVersionUID = 8694272457769377810L;
-       
-       protected final JComboBox networkComboBox;
-
-       public NetworkSelectorPanel() {
-               super();
-               this.setLayout(new BorderLayout());
-               networkComboBox = new JComboBox();
-
-               //This should help to limit the length of combobox if the 
network name is too long
-               networkComboBox.setPreferredSize(new 
java.awt.Dimension(networkComboBox.getPreferredSize().width, 
-                               networkComboBox.getPreferredSize().height));
-
-               add(networkComboBox, BorderLayout.CENTER);
-               updateNetworkList();
-               
-               
Cytoscape.getPropertyChangeSupport().addPropertyChangeListener(this);
-       }
-       
-       /**
-        * If selected, return selected network.
-        * Otherwise, return null.
-        * 
-        * @return
-        */
-       public CyNetwork getSelectedNetwork() {
-               for (CyNetwork net : Cytoscape.getNetworkSet()) {
-                       if 
(net.getTitle().equals(networkComboBox.getSelectedItem()))
-                               return net;
-               }
-               
-               return null;
-       }
-
-       private void updateNetworkList() {
-               final Set<CyNetwork> networks = Cytoscape.getNetworkSet();
-               final SortedSet<String> networkNames = new TreeSet<String>();
-
-               for (CyNetwork net : networks)
-                       networkNames.add(net.getTitle());
-
-               networkComboBox.removeAllItems();
-               for (String name : networkNames)
-                       networkComboBox.addItem(name);
-
-               networkComboBox.setSelectedItem(Cytoscape.getCurrentNetwork()
-                               .getTitle());
-       }
-
-       public void propertyChange(PropertyChangeEvent evt) {
-
-               final String propName = evt.getPropertyName();
-               
-               if 
(propName.equals(Cytoscape.NETWORK_CREATED)||propName.equals(Cytoscape.NETWORK_TITLE_MODIFIED)){
-                       updateNetworkList();
-               }
-               else if (propName.equals(Cytoscape.NETWORK_DESTROYED))
-                       networkComboBox.removeItem(Cytoscape.getNetwork(
-                                       (String) evt.getNewValue()).getTitle());
-
-       }
-
-       /**
-        *  Installs a new item listener for the embedded combo box.
-        */
-       public void addItemListener(final ItemListener newListener) {
-               networkComboBox.addItemListener(newListener);
-       }
-}
+package org.cytoscape.util.swing;
+
+import java.awt.BorderLayout;
+import java.awt.event.ItemListener;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
+
+import javax.swing.JComboBox;
+import javax.swing.JPanel;
+
+import org.cytoscape.application.CyApplicationManager;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.model.events.NetworkAddedEvent;
+import org.cytoscape.model.events.NetworkDestroyedEvent;
+import org.cytoscape.model.events.NetworkDestroyedListener;
+import org.cytoscape.model.events.NetworkAddedListener;
+
+public class NetworkSelectorPanel extends JPanel implements 
NetworkAddedListener, NetworkDestroyedListener
+{
+       private static final long serialVersionUID = 8694272457769377810L;
+       
+       protected final JComboBox networkComboBox;
+       private CyNetworkManager cyNetworkManager;
+       private CyApplicationManager cyApplicationManager;
+
+       public NetworkSelectorPanel(CyApplicationManager cyApplicationManager, 
CyNetworkManager cyNetworkManager) {
+               super();
+               this.setLayout(new BorderLayout());
+               networkComboBox = new JComboBox();
+
+               this.cyNetworkManager = cyNetworkManager;
+               this.cyApplicationManager = cyApplicationManager;
+               
+               //This should help to limit the length of combobox if the 
network name is too long
+               networkComboBox.setPreferredSize(new 
java.awt.Dimension(networkComboBox.getPreferredSize().width, 
+                               networkComboBox.getPreferredSize().height));
+
+               add(networkComboBox, BorderLayout.CENTER);
+               updateNetworkList();
+       }
+       
+       /**
+        * If selected, return selected network.
+        * Otherwise, return null.
+        * 
+        * @return
+        */
+       public CyNetwork getSelectedNetwork() {
+               for (CyNetwork net : this.cyNetworkManager.getNetworkSet()) {
+                       String networkTitle = net.getCyRow().get("name", 
String.class);
+                       if 
(networkTitle.equals(networkComboBox.getSelectedItem()))
+                               return net;
+               }
+               
+               return null;
+       }
+
+       private void updateNetworkList() {
+               final Set<CyNetwork> networks = 
this.cyNetworkManager.getNetworkSet();
+               final SortedSet<String> networkNames = new TreeSet<String>();
+
+               for (CyNetwork net : networks)
+                       networkNames.add(net.getCyRow().get("name", 
String.class));
+
+               networkComboBox.removeAllItems();
+               for (String name : networkNames)
+                       networkComboBox.addItem(name);
+
+               if (this.cyApplicationManager.getCurrentNetwork() != null){
+                       String networkTitle = 
this.cyApplicationManager.getCurrentNetwork().getCyRow().get("name", 
String.class);
+                       networkComboBox.setSelectedItem(networkTitle);          
        
+               }
+       }
+
+//     public void propertyChange(PropertyChangeEvent evt) {
+//
+//             final String propName = evt.getPropertyName();
+//             
+//             if 
(propName.equals(Cytoscape.NETWORK_CREATED)||propName.equals(Cytoscape.NETWORK_TITLE_MODIFIED)){
+//                     updateNetworkList();
+//             }
+//             else if (propName.equals(Cytoscape.NETWORK_DESTROYED))
+//                     networkComboBox.removeItem(Cytoscape.getNetwork(
+//                                     (String) evt.getNewValue()).getTitle());
+//
+//     }
+       
+       public void handleEvent(NetworkAddedEvent e){
+               updateNetworkList();
+       }
+
+       public void handleEvent(NetworkDestroyedEvent e){
+               System.out.println("Entering 
NetworkSelectorPanel.handleEvent(NetworkDestroyedEvent)... TODO..");
+               //networkComboBox.removeItem(Cytoscape.getNetwork((String) 
e.getNewValue()).getTitle());
+       }
+       
+       /**
+        *  Installs a new item listener for the embedded combo box.
+        */
+       public void addItemListener(final ItemListener newListener) {
+               networkComboBox.addItemListener(newListener);
+       }
+}

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