Author: rozagh
Date: 2012-03-28 10:27:03 -0700 (Wed, 28 Mar 2012)
New Revision: 28680
Added:
core3/support/trunk/archetypes/cyaction-plugin/
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/DGraphView.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/PopupMenuHelper.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/ViewTaskFactoryListener.java
Log:
fixes #793 EdgeView and NodeView context menu factories service listeners
registered in ding-presentation-impl and handled in PopupMenuHelper. A sample
code created for testing the actions on sample26.
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-03-28 00:07:36 UTC (rev 28679)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
2012-03-28 17:27:03 UTC (rev 28680)
@@ -3,6 +3,8 @@
import java.util.Properties;
import org.cytoscape.application.CyApplicationManager;
+import org.cytoscape.application.swing.CyEdgeViewContextMenuFactory;
+import org.cytoscape.application.swing.CyNodeViewContextMenuFactory;
import org.cytoscape.ding.action.GraphicsDetailAction;
import org.cytoscape.ding.customgraphics.CustomGraphicsManager;
import org.cytoscape.ding.dependency.CustomGraphicsSizeDependency;
@@ -165,8 +167,10 @@
registerServiceListener(bc,vtfListener,"addEdgeViewTaskFactory","removeEdgeViewTaskFactory",EdgeViewTaskFactory.class);
registerServiceListener(bc,vtfListener,"addNetworkViewTaskFactory","removeNetworkViewTaskFactory",NetworkViewTaskFactory.class);
registerServiceListener(bc,vtfListener,"addNetworkViewLocationTaskFactory","removeNetworkViewLocationTaskFactory",NetworkViewLocationTaskFactory.class);
+
registerServiceListener(bc,vtfListener,"addCyEdgeViewContextMenuFactory","removeCyEdgeViewContextMenuFactory",CyEdgeViewContextMenuFactory.class);
+
registerServiceListener(bc,vtfListener,"addCyNodeViewContextMenuFactory","removeCyNodeViewContextMenuFactory",CyNodeViewContextMenuFactory.class);
+
-
registerServiceListener(bc,annotationFactoryManager,"addAnnotationFactory","removeAnnotationFactory",AnnotationFactory.class);
GraphicsDetailAction graphicsDetailAction = new
GraphicsDetailAction(applicationManagerManagerServiceRef, dialogTaskManager,
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
2012-03-28 00:07:36 UTC (rev 28679)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
2012-03-28 17:27:03 UTC (rev 28680)
@@ -64,6 +64,8 @@
import javax.swing.Icon;
import javax.swing.JLayeredPane;
+import org.cytoscape.application.swing.CyEdgeViewContextMenuFactory;
+import org.cytoscape.application.swing.CyNodeViewContextMenuFactory;
import org.cytoscape.ding.DVisualLexicon;
import org.cytoscape.ding.EdgeView;
import org.cytoscape.ding.GraphView;
@@ -389,6 +391,8 @@
final Map<EdgeViewTaskFactory, Map> edgeViewTFs;
final Map<NetworkViewTaskFactory, Map> emptySpaceTFs;
final Map<NetworkViewLocationTaskFactory, Map> networkViewLocationTfs;
+ final Map<CyEdgeViewContextMenuFactory, Map>
cyEdgeViewContextMenuFactory;
+ final Map<CyNodeViewContextMenuFactory, Map>
cyNodeViewContextMenuFactory;
final DialogTaskManager manager;
final SubmenuTaskManager menuTaskManager;
@@ -460,6 +464,9 @@
this.edgeViewTFs = vtfl.edgeViewTFs;
this.emptySpaceTFs = vtfl.emptySpaceTFs;
this.networkViewLocationTfs = vtfl.networkViewLocationTFs;
+ this.cyEdgeViewContextMenuFactory =
vtfl.cyEdgeViewContextMenuFactory;
+ this.cyNodeViewContextMenuFactory =
vtfl.cyNodeViewContexMenuFactory;
+
this.manager = manager;
this.menuTaskManager = menuTaskManager;
this.cyEventHelper = cyEventHelper;
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/PopupMenuHelper.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/PopupMenuHelper.java
2012-03-28 00:07:36 UTC (rev 28679)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/PopupMenuHelper.java
2012-03-28 17:27:03 UTC (rev 28680)
@@ -41,6 +41,8 @@
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
+import org.cytoscape.application.swing.CyEdgeViewContextMenuFactory;
+import org.cytoscape.application.swing.CyNodeViewContextMenuFactory;
import org.cytoscape.ding.EdgeView;
import org.cytoscape.ding.NodeView;
import org.cytoscape.model.CyEdge;
@@ -53,6 +55,8 @@
import org.cytoscape.task.TunableEdgeViewTaskFactory;
import org.cytoscape.util.swing.GravityTracker;
import org.cytoscape.util.swing.JMenuTracker;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.CyNetworkViewFactory;
import org.cytoscape.view.model.View;
import org.cytoscape.view.model.VisualProperty;
import org.cytoscape.work.TaskFactory;
@@ -106,7 +110,9 @@
TaskFactory provisioner =
factoryProvisioner.createFor(evtf, ev, m_view);
createMenuItem(ev, menu, provisioner,
context, tracker, m_view.edgeViewTFs.get(evtf) );
}
-
+
+ for (CyEdgeViewContextMenuFactory edgeCMF:
m_view.cyEdgeViewContextMenuFactory.keySet())
+ menu.add(edgeCMF.createMenuItem(m_view
, ev).getMenuItem());
menu.show(invoker, x, y);
// execute the task directly if only one factory exists
@@ -140,6 +146,8 @@
createMenuItem(nv, menu, provisioner,
context, tracker, m_view.nodeViewTFs.get( nvtf ));
}
+ for (CyNodeViewContextMenuFactory nodeVMF:
m_view.cyNodeViewContextMenuFactory.keySet())
+ menu.add(nodeVMF.createMenuItem(m_view,
nv).getMenuItem());
menu.show(invoker, x, y);
// execute the task directly if only one factory exists
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-03-28 00:07:36 UTC (rev 28679)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/ViewTaskFactoryListener.java
2012-03-28 17:27:03 UTC (rev 28680)
@@ -3,6 +3,8 @@
import java.util.HashMap;
import java.util.Map;
+import org.cytoscape.application.swing.CyEdgeViewContextMenuFactory;
+import org.cytoscape.application.swing.CyNodeViewContextMenuFactory;
import org.cytoscape.task.EdgeViewTaskFactory;
import org.cytoscape.task.NetworkViewLocationTaskFactory;
import org.cytoscape.task.NetworkViewTaskFactory;
@@ -16,6 +18,8 @@
final Map<EdgeViewTaskFactory, Map> edgeViewTFs;
final Map<NetworkViewTaskFactory, Map> emptySpaceTFs;
final Map<NetworkViewLocationTaskFactory, Map> networkViewLocationTFs;
+ final Map<CyNodeViewContextMenuFactory, Map>
cyNodeViewContexMenuFactory;
+ final Map<CyEdgeViewContextMenuFactory, Map>
cyEdgeViewContextMenuFactory;
public ViewTaskFactoryListener(){
@@ -24,6 +28,8 @@
edgeViewTFs = new HashMap<EdgeViewTaskFactory, Map>();
emptySpaceTFs = new HashMap<NetworkViewTaskFactory, Map>();
networkViewLocationTFs = new
HashMap<NetworkViewLocationTaskFactory, Map>();
+ cyNodeViewContexMenuFactory = new
HashMap<CyNodeViewContextMenuFactory, Map>();
+ cyEdgeViewContextMenuFactory = new
HashMap<CyEdgeViewContextMenuFactory, Map>();
}
@@ -82,4 +88,30 @@
return;
networkViewLocationTFs.remove(nvltf);
}
+
+ public void
addCyNodeViewContextMenuFactory(CyNodeViewContextMenuFactory cnvcmf, Map props){
+ if(cnvcmf == null)
+ return;
+ cyNodeViewContexMenuFactory.put(cnvcmf, props);
+ }
+
+ public void
removeCyNodeViewContextMenuFactory(CyNodeViewContextMenuFactory cnvcmf, Map
props){
+ if(cnvcmf == null)
+ return;
+ cyNodeViewContexMenuFactory.remove(cnvcmf);
+ }
+
+ public void
addCyEdgeViewContextMenuFactory(CyEdgeViewContextMenuFactory cevcmf, Map props){
+ if(cevcmf == null)
+ return;
+ cyEdgeViewContextMenuFactory.put(cevcmf, props);
+ }
+
+ public void
removeCyEdgeViewContextMenuFactory(CyEdgeViewContextMenuFactory cevcmf, Map
props){
+ if(cevcmf == null)
+ return;
+ cyEdgeViewContextMenuFactory.remove(cevcmf);
+ }
+
+
}
--
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.