Author: scooter
Date: 2012-01-24 16:53:06 -0800 (Tue, 24 Jan 2012)
New Revision: 28097

Modified:
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/InnerCanvas.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/PopupMenuHelper.java
Log:
Changed so that a right-click on the background (no nodes or edges) will bring
up the nodeview menu.  Also changed it so that a right-click where there is both
a node and edge will preferentially bring up the node context menu.  Finally, I
changed it so that a context menu will always be shown even if there is only
one item in the list.


Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/InnerCanvas.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/InnerCanvas.java
    2012-01-25 00:40:19 UTC (rev 28096)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/InnerCanvas.java
    2012-01-25 00:53:06 UTC (rev 28097)
@@ -1138,10 +1138,11 @@
                void singleLeftControlClick(MouseEvent e) {
                        //System.out.println("MousePressed ----> 
singleLeftControlClick");
                        
-                       // clicking on empty space
+                       /* clicking on empty space
                        if ((getChosenNode() < 0) && (getChosenEdge() < 0) && 
(getChosenAnchor() < 0)) {
                                popup.createEmptySpaceMenu(e.getX(), 
e.getY(),"NEW"); 
                        }
+                       */
                        
                        // Cascade
                        this.singleLeftClick(e);
@@ -1168,10 +1169,17 @@
                        m_lastYMousePos = e.getY();
                
                        NodeView nview = m_view.getPickedNodeView(e.getPoint());
-                       
popup.createNodeViewMenu(m_view.m_drawPersp,nview,e.getX(),e.getY(),null);
-               
-                       EdgeView edgeView = 
m_view.getPickedEdgeView(e.getPoint());
-                       
popup.createEdgeViewMenu(m_view.m_drawPersp,edgeView,e.getX(),e.getY(),null);
+                       if (nview != null) {
+                               
popup.createNodeViewMenu(m_view.m_drawPersp,nview,e.getX(),e.getY(),null);
+                       } else {
+                               EdgeView edgeView = 
m_view.getPickedEdgeView(e.getPoint());
+                               if (edgeView != null) {
+                                       
popup.createEdgeViewMenu(m_view.m_drawPersp,edgeView,e.getX(),e.getY(),null);
+                               } else {
+                                       // Clicked on empty space...
+                                       popup.createEmptySpaceMenu(e.getX(), 
e.getY(),"NEW"); 
+                               }
+                       }
                }
        
                @Override

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-01-25 00:40:19 UTC (rev 28096)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/PopupMenuHelper.java
        2012-01-25 00:53:06 UTC (rev 28097)
@@ -203,7 +203,7 @@
        void createEmptySpaceMenu(int x, int y, String action) {
                // build a menu of actions if more than factory exists
                Collection<NetworkViewTaskFactory> usableTFs = 
getPreferredActions(m_view.emptySpaceTFs,action);
-               if ( usableTFs.size() > 1 ) {
+               if ( usableTFs.size() > 1 || (usableTFs.size() == 1 && 
action.equals("NEW"))) {
                        final JPopupMenu menu = new JPopupMenu("Double Click 
Menu: empty");
                        final JMenuTracker tracker = new JMenuTracker(menu);
                        for ( NetworkViewTaskFactory nvtf : usableTFs ) {

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