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.