Author: mes
Date: 2010-11-21 10:49:28 -0800 (Sun, 21 Nov 2010)
New Revision: 22968

Added:
   
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/AddEdgeTask.java
   
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/AddNestedNetworkTask.java
Removed:
   
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNodeViewTask.java
Modified:
   core3/editor-impl/trunk/pom.xml
   
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNetworkViewTask.java
   
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNetworkViewTaskFactoryImpl.java
   
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNodeViewTaskFactoryImpl.java
   
core3/editor-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   core3/editor-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
got rudimentary editing working

Modified: core3/editor-impl/trunk/pom.xml
===================================================================
--- core3/editor-impl/trunk/pom.xml     2010-11-21 14:36:06 UTC (rev 22967)
+++ core3/editor-impl/trunk/pom.xml     2010-11-21 18:49:28 UTC (rev 22968)
@@ -108,10 +108,15 @@
                <dependency>
                        <groupId>org.cytoscape</groupId>
                        <artifactId>model-api</artifactId>
-                       <version>1.0-SNAPSHOT</version>
+                       <version>3.0.0-alpha2-SNAPSHOT</version>
                </dependency>
                <dependency>
                        <groupId>org.cytoscape</groupId>
+                       <artifactId>presentation-api</artifactId>
+                       <version>3.0.0-alpha2-SNAPSHOT</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.cytoscape</groupId>
                        <artifactId>viewmodel-api</artifactId>
                        <version>3.0.0-alpha3-SNAPSHOT</version>
                </dependency>

Copied: 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/AddEdgeTask.java
 (from rev 22964, 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNodeViewTask.java)
===================================================================
--- 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/AddEdgeTask.java
                                (rev 0)
+++ 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/AddEdgeTask.java
        2010-11-21 18:49:28 UTC (rev 22968)
@@ -0,0 +1,33 @@
+package org.cytoscape.editor.internal;
+
+import org.cytoscape.task.AbstractNodeViewTask;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.View;
+import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.work.TaskMonitor;
+
+
+public class AddEdgeTask extends AbstractNodeViewTask {
+
+       private static CyNode sourceNode = null;
+
+       
+       public AddEdgeTask(View<CyNode> nv, CyNetworkView view) {
+               super(nv,view);
+       }
+
+       @Override
+       public void run(TaskMonitor tm) throws Exception {
+               System.out.println("Running add edge - sourceNode: " + 
sourceNode);
+               if ( sourceNode == null ) {
+                       sourceNode = nodeView.getModel();
+               } else {
+                       CyNetwork net = netView.getModel();
+                       CyNode targetNode = nodeView.getModel();
+                       net.addEdge(sourceNode,targetNode,true);
+                       netView.updateView();
+                       sourceNode = null;
+               }
+       }
+}

Added: 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/AddNestedNetworkTask.java
===================================================================
--- 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/AddNestedNetworkTask.java
                               (rev 0)
+++ 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/AddNestedNetworkTask.java
       2010-11-21 18:49:28 UTC (rev 22968)
@@ -0,0 +1,38 @@
+package org.cytoscape.editor.internal;
+
+
+import java.awt.geom.Point2D;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.Transferable;
+
+import java.util.List;
+import java.util.ArrayList;
+
+import org.cytoscape.task.AbstractNodeViewTask;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.View;
+import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.work.TaskMonitor;
+import org.cytoscape.work.Tunable;
+import org.cytoscape.work.util.ListSingleSelection;
+
+
+public class AddNestedNetworkTask extends AbstractNodeViewTask {
+
+       @Tunable(description="Select a Network")
+       public ListSingleSelection<CyNetwork> nestedNetwork;
+
+       public AddNestedNetworkTask(View<CyNode> nv, CyNetworkView view, 
CyNetworkManager mgr) {
+               super(nv,view);
+               nestedNetwork = new ListSingleSelection<CyNetwork>(new 
ArrayList<CyNetwork>(mgr.getNetworkSet()));
+       }
+
+       @Override
+       public void run(TaskMonitor tm) throws Exception {
+               CyNode n = nodeView.getModel();
+               n.setNestedNetwork( nestedNetwork.getSelectedValue() );
+               netView.updateView();
+       }
+}

Modified: 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNetworkViewTask.java
===================================================================
--- 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNetworkViewTask.java
        2010-11-21 14:36:06 UTC (rev 22967)
+++ 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNetworkViewTask.java
        2010-11-21 18:49:28 UTC (rev 22968)
@@ -1,40 +1,59 @@
 package org.cytoscape.editor.internal;
 
 
-import java.awt.Point;
+import java.awt.geom.Point2D;
 import java.awt.datatransfer.DataFlavor;
 import java.awt.datatransfer.Transferable;
 
 import org.cytoscape.task.AbstractNetworkViewTask;
 import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.View;
 import org.cytoscape.work.TaskMonitor;
 
+import org.cytoscape.view.presentation.property.TwoDVisualLexicon;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNode;
 
+import org.cytoscape.editor.internal.gui.BasicCytoShapeEntity;
+
+
 public class DropNetworkViewTask extends AbstractNetworkViewTask {
 
        private final Transferable t;
-       private final Point pt;
+       private final Point2D xformPt;
        
-       public DropNetworkViewTask(CyNetworkView view, Transferable t, Point 
pt) {
+       public DropNetworkViewTask(CyNetworkView view, Transferable t, Point2D 
xformPt) {
                super(view);
                this.t = t;
-               this.pt = pt;
+               this.xformPt = xformPt;
        }
 
        @Override
        public void run(TaskMonitor tm) throws Exception {
-               System.out.println ("DropNetworkViewTask: transferrable = " + t 
+ 
-                                   ", location = " + pt);
-       /*      
+               if ( t==null) 
+                       return;
+
                DataFlavor[] dfl = t.getTransferDataFlavors();
 
+               if ( dfl==null) 
+                       return;
+
                for (DataFlavor d : dfl) {
-                       System.out.println("Item dropped of Mime Type: " + 
d.getMimeType());
-                       System.out.println("Mime subtype is:  " + 
d.getSubType());
-                       System.out.println("Mime class is: " + 
d.getRepresentationClass());
-
-                       Class<?> mimeClass = d.getRepresentationClass();
+                       if ( d.getRepresentationClass() == 
BasicCytoShapeEntity.class ) {
+                               String myShape = 
t.getTransferData(d).toString();
+                               if ( myShape.equals("Node") ) {
+                                       addNode();
+                               } 
+                       }
                }
-               */
        }
+
+       private void addNode() {
+               CyNetwork net = view.getModel();
+               CyNode n = net.addNode();
+               View<CyNode> nv = view.getNodeView(n);
+               
nv.setVisualProperty(TwoDVisualLexicon.NODE_X_LOCATION,xformPt.getX());
+               
nv.setVisualProperty(TwoDVisualLexicon.NODE_Y_LOCATION,xformPt.getY());
+               view.updateView();
+       }
 }

Modified: 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNetworkViewTaskFactoryImpl.java
===================================================================
--- 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNetworkViewTaskFactoryImpl.java
     2010-11-21 14:36:06 UTC (rev 22967)
+++ 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNetworkViewTaskFactoryImpl.java
     2010-11-21 18:49:28 UTC (rev 22968)
@@ -1,7 +1,7 @@
 package org.cytoscape.editor.internal;
 
 
-import java.awt.Point;
+import java.awt.geom.Point2D;
 import java.awt.datatransfer.Transferable;
 
 import org.cytoscape.dnd.DropNetworkViewTaskFactory;
@@ -12,18 +12,20 @@
 public class DropNetworkViewTaskFactoryImpl implements 
DropNetworkViewTaskFactory {
        private CyNetworkView view;
        private Transferable t;
-       private Point pt;
+       private Point2D javaPt;
+       private Point2D xformPt;
 
        public void setNetworkView(CyNetworkView view) {
                this.view = view;
        }
 
-       public void setDropInformation(Transferable t, Point pt) {
-               this.pt = pt;
+       public void setDropInformation(Transferable t, Point2D javaPt, Point2D 
xformPt) {
                this.t = t;
+               this.javaPt = javaPt;
+               this.xformPt = xformPt;
        }
 
        public TaskIterator getTaskIterator() {
-               return new TaskIterator(new DropNetworkViewTask(view, t, pt));
+               return new TaskIterator(new DropNetworkViewTask(view, t, 
xformPt));
        }
 }

Deleted: 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNodeViewTask.java
===================================================================
--- 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNodeViewTask.java
   2010-11-21 14:36:06 UTC (rev 22967)
+++ 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNodeViewTask.java
   2010-11-21 18:49:28 UTC (rev 22968)
@@ -1,42 +0,0 @@
-package org.cytoscape.editor.internal;
-
-
-import java.awt.Point;
-import java.awt.datatransfer.DataFlavor;
-import java.awt.datatransfer.Transferable;
-
-import org.cytoscape.task.AbstractNodeViewTask;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.View;
-import org.cytoscape.model.CyNode;
-import org.cytoscape.work.TaskMonitor;
-
-
-public class DropNodeViewTask extends AbstractNodeViewTask {
-
-       private final Transferable t;
-       private final Point pt;
-       
-       public DropNodeViewTask(View<CyNode> nv, CyNetworkView view, 
Transferable t, Point pt) {
-               super(nv,view);
-               this.t = t;
-               this.pt = pt;
-       }
-
-       @Override
-       public void run(TaskMonitor tm) throws Exception {
-               System.out.println ("DropNodeViewTask: transferrable = " + t + 
-                                           ", location = " + pt);
-       /*      
-               DataFlavor[] dfl = t.getTransferDataFlavors();
-
-               for (DataFlavor d : dfl) {
-                       System.out.println("Item dropped of Mime Type: " + 
d.getMimeType());
-                       System.out.println("Mime subtype is:  " + 
d.getSubType());
-                       System.out.println("Mime class is: " + 
d.getRepresentationClass());
-
-                       Class<?> mimeClass = d.getRepresentationClass();
-               }
-               */
-       }
-}

Modified: 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNodeViewTaskFactoryImpl.java
===================================================================
--- 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNodeViewTaskFactoryImpl.java
        2010-11-21 14:36:06 UTC (rev 22967)
+++ 
core3/editor-impl/trunk/src/main/java/org/cytoscape/editor/internal/DropNodeViewTaskFactoryImpl.java
        2010-11-21 18:49:28 UTC (rev 22968)
@@ -1,33 +1,80 @@
 package org.cytoscape.editor.internal;
 
 
-import java.awt.Point;
+import java.awt.geom.Point2D;
 import java.awt.datatransfer.Transferable;
+import java.awt.datatransfer.DataFlavor;
 
 import org.cytoscape.dnd.DropNodeViewTaskFactory;
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.view.model.View;
 import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyNetworkManager;
 import org.cytoscape.work.TaskIterator;
+import org.cytoscape.work.TaskMonitor;
+import org.cytoscape.work.AbstractTask;
 
+import org.cytoscape.editor.internal.gui.BasicCytoShapeEntity;
 
+
 public class DropNodeViewTaskFactoryImpl implements DropNodeViewTaskFactory {
        private View<CyNode> nv;
        private CyNetworkView view;
        private Transferable t;
-       private Point pt;
+       private Point2D javaPt;
+       private Point2D xformPt;
 
+       private final CyNetworkManager netMgr;
+
+       public DropNodeViewTaskFactoryImpl(CyNetworkManager netMgr) {
+               this.netMgr = netMgr;
+       }
+
        public void setNodeView(View<CyNode> nv, CyNetworkView view) {
                this.view = view;
                this.nv = nv;
        }
 
-       public void setDropInformation(Transferable t, Point pt) {
-               this.pt = pt;
+       public void setDropInformation(Transferable t, Point2D javaPt, Point2D 
xformPt) {
+               this.javaPt = javaPt;
+               this.xformPt = xformPt;
                this.t = t;
        }
 
        public TaskIterator getTaskIterator() {
-               return new TaskIterator(new DropNodeViewTask(nv, view, t, pt));
+
+        if ( t==null)
+            return null;
+
+               try {
+
+        DataFlavor[] dfl = t.getTransferDataFlavors();
+
+        if ( dfl==null)
+            return null;
+
+        for (DataFlavor d : dfl) {
+            if ( d.getRepresentationClass() == BasicCytoShapeEntity.class ) {
+                String myShape = t.getTransferData(d).toString();
+                               System.out.println("got shape drop: " + 
myShape);
+                if ( myShape.equals("Edge") ) {
+                                       return new TaskIterator(new 
AddEdgeTask(nv, view));
+                } else if ( myShape.equals("Network") ) {
+                                       return new TaskIterator(new 
AddNestedNetworkTask(nv, view, netMgr));
+                               }
+            }
+        }
+
+               } catch (Exception e) {
+                       return new TaskIterator(new ExceptionTask(e));
+               }
+
+               return null;
        }
+
+       private static class ExceptionTask extends AbstractTask {
+               private final Exception e;
+               ExceptionTask(Exception e) { this.e = e; }
+               public void run(TaskMonitor tm) throws Exception { throw e; }
+       }
 }

Modified: 
core3/editor-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
--- 
core3/editor-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
  2010-11-21 14:36:06 UTC (rev 22967)
+++ 
core3/editor-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
  2010-11-21 18:49:28 UTC (rev 22968)
@@ -8,6 +8,9 @@
        <osgi:reference id="cySwingApplicationServiceRef" 
                        
interface="org.cytoscape.application.swing.CySwingApplication"/>
 
+       <osgi:reference id="cyNetworkManagerServiceRef" 
+                       interface="org.cytoscape.model.CyNetworkManager"/>
+
        <osgi:service id="editorCytoPanelComponentService" 
ref="editorCytoPanelComponent"
                interface="org.cytoscape.application.swing.CytoPanelComponent"/>
 

Modified: 
core3/editor-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
--- 
core3/editor-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml   
    2010-11-21 14:36:06 UTC (rev 22967)
+++ 
core3/editor-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml   
    2010-11-21 18:49:28 UTC (rev 22968)
@@ -19,6 +19,7 @@
 
        <bean id="dropNodeViewTaskFactory"
                
class="org.cytoscape.editor.internal.DropNodeViewTaskFactoryImpl">
+               <constructor-arg ref="cyNetworkManagerServiceRef" />
        </bean>
 
        <bean id="editorCytoPanelComponent"

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