Author: ruschein
Date: 2010-11-10 16:14:33 -0800 (Wed, 10 Nov 2010)
New Revision: 22819

Modified:
   
core3/model-impl/trunk/src/main/java/org/cytoscape/model/internal/ArrayGraph.java
   
core3/model-impl/trunk/src/main/java/org/cytoscape/model/internal/CyNodeImpl.java
Log:
Implemented nested network related events.

Modified: 
core3/model-impl/trunk/src/main/java/org/cytoscape/model/internal/ArrayGraph.java
===================================================================
--- 
core3/model-impl/trunk/src/main/java/org/cytoscape/model/internal/ArrayGraph.java
   2010-11-11 00:05:25 UTC (rev 22818)
+++ 
core3/model-impl/trunk/src/main/java/org/cytoscape/model/internal/ArrayGraph.java
   2010-11-11 00:14:33 UTC (rev 22819)
@@ -357,7 +357,7 @@
 
                synchronized (this) {
                        final int index = nodePointers.size();
-                       n = new NodePointer(index, new CyNodeImpl(index, 
nodeAttrMgr));
+                       n = new NodePointer(index, new CyNodeImpl(index, 
nodeAttrMgr, eventHelper));
                        nodePointers.add(n);
                        nodeCount++;
                        // In ArrayGraph we only ever add the node to the root.

Modified: 
core3/model-impl/trunk/src/main/java/org/cytoscape/model/internal/CyNodeImpl.java
===================================================================
--- 
core3/model-impl/trunk/src/main/java/org/cytoscape/model/internal/CyNodeImpl.java
   2010-11-11 00:05:25 UTC (rev 22818)
+++ 
core3/model-impl/trunk/src/main/java/org/cytoscape/model/internal/CyNodeImpl.java
   2010-11-11 00:14:33 UTC (rev 22819)
@@ -1,14 +1,6 @@
-
 /*
- Copyright (c) 2008, The Cytoscape Consortium (www.cytoscape.org)
+ Copyright (c) 2008, 2010, The Cytoscape Consortium (www.cytoscape.org)
 
- The Cytoscape Consortium is:
- - Institute for Systems Biology
- - University of California San Diego
- - Memorial Sloan-Kettering Cancer Center
- - Institut Pasteur
- - Agilent Technologies
-
  This library is free software; you can redistribute it and/or modify it
  under the terms of the GNU Lesser General Public License as published
  by the Free Software Foundation; either version 2.1 of the License, or
@@ -33,13 +25,16 @@
  along with this library; if not, write to the Free Software Foundation,
  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
 */
-
 package org.cytoscape.model.internal;
 
+
+import org.cytoscape.event.CyEventHelper;
 import org.cytoscape.model.CyTable;
 import org.cytoscape.model.CyEdge;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNode;
+import org.cytoscape.model.events.SetNestedNetworkEvent;
+import org.cytoscape.model.events.UnsetNestedNetworkEvent;
 
 import java.util.List;
 import java.util.Map;
@@ -47,13 +42,14 @@
 
 class CyNodeImpl extends CyTableEntryImpl implements CyNode {
        final private int index;
-
        private CyNetwork nestedNet;
+       final private CyEventHelper eventHelper;
 
-       CyNodeImpl(int ind, Map<String, CyTable> attrMgr) {
+       CyNodeImpl(int ind, Map<String, CyTable> attrMgr, final CyEventHelper 
eventHelper) {
                super(attrMgr);
                index = ind;
                nestedNet = null;
+               this.eventHelper = eventHelper;
        }
 
        /**
@@ -70,7 +66,7 @@
         *
         * @return  DOCUMENT ME!
         */
-        @Override
+       @Override
        public String toString() {
                return "Node suid: " + getSUID() + " index: " + index;
        }
@@ -80,6 +76,13 @@
        }
 
        public synchronized void setNestedNetwork(CyNetwork n) {
+               if (n == nestedNet)
+                       return;
+
+               if (nestedNet != null)
+                       eventHelper.fireSynchronousEvent(new 
UnsetNestedNetworkEvent(this, nestedNet));
+               if (n != null)
+                       eventHelper.fireSynchronousEvent(new 
SetNestedNetworkEvent(this, n));
                nestedNet = n;
        }
 

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