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.