Author: mes
Date: 2012-05-03 16:47:56 -0700 (Thu, 03 May 2012)
New Revision: 29101

Added:
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NVLTFActionSupport.java
Modified:
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/ViewTaskFactoryListener.java
Log:
This change registers all NetworkViewLocationTaskFactories as CyActions, so 
that those task factories can appear in top level menus.  This is happening 
here in Ding so that we can eventually calculate XY positions based on cursor 
location.

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
 2012-05-03 23:23:52 UTC (rev 29100)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
 2012-05-03 23:47:56 UTC (rev 29101)
@@ -30,6 +30,7 @@
 import org.cytoscape.ding.impl.DingRenderingEngineFactory;
 import org.cytoscape.ding.impl.DingViewModelFactory;
 import org.cytoscape.ding.impl.HandleFactoryImpl;
+import org.cytoscape.ding.impl.NVLTFActionSupport;
 import org.cytoscape.ding.impl.ViewTaskFactoryListener;
 import org.cytoscape.ding.impl.cyannotator.create.AnnotationFactory;
 import org.cytoscape.ding.impl.cyannotator.create.AnnotationFactoryManager;
@@ -87,7 +88,7 @@
        private void startPresentationImpl(BundleContext bc) {
 
                CyServiceRegistrar cyServiceRegistrarServiceRef = 
getService(bc, CyServiceRegistrar.class);
-               CyApplicationManager applicationManagerManagerServiceRef = 
getService(bc, CyApplicationManager.class);
+               CyApplicationManager applicationManagerServiceRef = 
getService(bc, CyApplicationManager.class);
                CustomGraphicsManager customGraphicsManagerServiceRef = 
getService(bc, CustomGraphicsManager.class);
                RenderingEngineManager renderingEngineManagerServiceRef = 
getService(bc, RenderingEngineManager.class);
                CyRootNetworkManager cyRootNetworkFactoryServiceRef = 
getService(bc, CyRootNetworkManager.class);
@@ -106,12 +107,13 @@
 
                DVisualLexicon dVisualLexicon = new 
DVisualLexicon(customGraphicsManagerServiceRef);
 
-               ViewTaskFactoryListener vtfListener = new 
ViewTaskFactoryListener();
+               NVLTFActionSupport nvltfActionSupport = new 
NVLTFActionSupport(applicationManagerServiceRef,cyNetworkViewManagerServiceRef,dialogTaskManager,cyServiceRegistrarRef);
+               ViewTaskFactoryListener vtfListener = new 
ViewTaskFactoryListener(nvltfActionSupport);
 
                AnnotationFactoryManager annotationFactoryManager = new 
AnnotationFactoryManager();
 
 
-               DingGraphLOD dingGraphLOD = new 
DingGraphLOD(cyPropertyServiceRef, applicationManagerManagerServiceRef);
+               DingGraphLOD dingGraphLOD = new 
DingGraphLOD(cyPropertyServiceRef, applicationManagerServiceRef);
                registerService(bc, dingGraphLOD, 
PropertyUpdatedListener.class, new Properties());
                
                DingGraphLODAll dingGraphLODAll = new DingGraphLODAll();
@@ -123,7 +125,7 @@
                                vtfListener, annotationFactoryManager, 
dingGraphLOD);
                DingNavigationRenderingEngineFactory 
dingNavigationRenderingEngineFactory = new DingNavigationRenderingEngineFactory(
                                cyServiceRegistrarServiceRef, dVisualLexicon, 
renderingEngineManagerServiceRef,
-                               applicationManagerManagerServiceRef);
+                               applicationManagerServiceRef);
                AddEdgeNodeViewTaskFactoryImpl addEdgeNodeViewTaskFactory = new 
AddEdgeNodeViewTaskFactoryImpl(
                                cyNetworkManagerServiceRef);
 
@@ -218,7 +220,7 @@
                registerServiceListener(bc, annotationFactoryManager, 
"addAnnotationFactory", "removeAnnotationFactory",
                                AnnotationFactory.class);
 
-               GraphicsDetailAction graphicsDetailAction = new 
GraphicsDetailAction(applicationManagerManagerServiceRef,
+               GraphicsDetailAction graphicsDetailAction = new 
GraphicsDetailAction(applicationManagerServiceRef,
                                cyNetworkViewManagerServiceRef, 
dialogTaskManager, cyPropertyServiceRef, dingGraphLOD, dingGraphLODAll);
                registerAllServices(bc, graphicsDetailAction, new Properties());
 

Added: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NVLTFActionSupport.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NVLTFActionSupport.java
                             (rev 0)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NVLTFActionSupport.java
     2012-05-03 23:47:56 UTC (rev 29101)
@@ -0,0 +1,65 @@
+
+package org.cytoscape.ding.impl;
+
+import java.awt.geom.Point2D;
+import java.util.Map;
+import java.util.Properties;
+import java.awt.event.ActionEvent;
+
+import org.cytoscape.application.CyApplicationManager;
+import org.cytoscape.application.swing.AbstractCyAction;
+import org.cytoscape.application.swing.CyAction;
+import org.cytoscape.service.util.CyServiceRegistrar;
+import org.cytoscape.task.NetworkViewLocationTaskFactory;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.CyNetworkViewManager;
+import org.cytoscape.work.TaskManager;
+
+/**
+ * NetworkViewLocationTaskFactory Action Support.
+ */
+public class NVLTFActionSupport {
+    private final CyApplicationManager appMgr;
+    private final CyNetworkViewManager netViewMgr;    
+    private final TaskManager tm;
+    private final CyServiceRegistrar registrar;
+
+    public NVLTFActionSupport(final CyApplicationManager appMgr, final 
CyNetworkViewManager netViewMgr, final TaskManager
+ tm, final CyServiceRegistrar registrar) {
+        this.appMgr = appMgr;
+        this.netViewMgr = netViewMgr;
+        this.tm = tm;
+        this.registrar = registrar;
+    }
+
+    public void registerAction(NetworkViewLocationTaskFactory 
nvltf,Map<String,String> props) {
+       // TODO: evaluate the properties to determine if this is something we 
actually want to make an action out of?
+        CyAction action = new NVLTFAction(nvltf,props);
+        registrar.registerService(action,CyAction.class,new Properties());
+    }
+
+    private class NVLTFAction extends AbstractCyAction {
+               private static final long serialVersionUID = 
6590168183571319473L;
+               private final NetworkViewLocationTaskFactory nvltf;
+
+        public NVLTFAction(NetworkViewLocationTaskFactory nvltf, 
Map<String,String> props) {
+            super(props,appMgr,netViewMgr);
+            this.nvltf = nvltf;
+        }
+
+        public void actionPerformed(ActionEvent a) {
+            CyNetworkView view = appMgr.getCurrentNetworkView();
+            
+            if ( !(view instanceof DGraphView) )
+                return;
+            DGraphView dgview = (DGraphView)view;
+
+            // SCOOTER START HERE
+            Point2D javaPt = new Point2D.Double(0.0,0.0);
+            Point2D xformPt = new Point2D.Double(0.0,0.0);
+            // SCOOTER END HERE
+
+            tm.execute(nvltf.createTaskIterator(view,javaPt,xformPt));
+        }
+    }
+}

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/ViewTaskFactoryListener.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/ViewTaskFactoryListener.java
        2012-05-03 23:23:52 UTC (rev 29100)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/ViewTaskFactoryListener.java
        2012-05-03 23:47:56 UTC (rev 29101)
@@ -22,9 +22,12 @@
        final Map<NetworkViewLocationTaskFactory, Map> networkViewLocationTFs;
        final Map<CyNodeViewContextMenuFactory, Map> 
cyNodeViewContexMenuFactory;
        final Map<CyEdgeViewContextMenuFactory, Map> 
cyEdgeViewContextMenuFactory;
+       
+       private final NVLTFActionSupport nvltfActionSupport;
 
 
-       public ViewTaskFactoryListener(){
+       public ViewTaskFactoryListener(NVLTFActionSupport nvltfActionSupport){
+               this.nvltfActionSupport = nvltfActionSupport;
                viewMap = new WeakHashMap<CyNetworkView, 
Reference<DGraphView>>();
                nodeViewTFs = new HashMap<NodeViewTaskFactory, Map>();
                edgeViewTFs = new HashMap<EdgeViewTaskFactory, Map>();
@@ -83,6 +86,7 @@
                if(nvltf == null)
                        return;
                networkViewLocationTFs.put(nvltf, props);
+               nvltfActionSupport.registerAction(nvltf,props);
        }
        
        public void 
removeNetworkViewLocationTaskFactory(NetworkViewLocationTaskFactory nvltf, Map 
props){

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