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.