Author: scooter
Date: 2012-07-31 09:55:24 -0700 (Tue, 31 Jul 2012)
New Revision: 30048

Modified:
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/CyAnnotator.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/listeners/CanvasKeyListener.java
Log:
Fix key listeners and listen for VK_ESCAPE to terminate move and resize modes


Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/CyAnnotator.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/CyAnnotator.java
        2012-07-31 00:28:17 UTC (rev 30047)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/CyAnnotator.java
        2012-07-31 16:55:24 UTC (rev 30048)
@@ -232,9 +232,10 @@
        }
 
        public void setSelectedAnnotation(Annotation a, boolean selected) {
-               if (selected) 
+               if (selected) {
+                       a.getCanvas().requestFocusInWindow();
                        selectedAnnotations.add(a);
-               else
+               } else
                        selectedAnnotations.remove(a);
        }
 
@@ -259,6 +260,8 @@
 
        public void resizeShape(ShapeAnnotation shape) {
                resizing = shape;
+               if (resizing != null)
+                       resizing.getCanvas().requestFocusInWindow();
        }
 
        public ShapeAnnotation getResizeShape() {
@@ -267,6 +270,8 @@
 
        public void positionArrow(ArrowAnnotation arrow) {
                repositioning = arrow;
+               if (repositioning != null)
+                       repositioning.getCanvas().requestFocusInWindow();
        }
 
        public ArrowAnnotation getRepositioningArrow() {
@@ -279,6 +284,8 @@
 
        public void moveAnnotation(Annotation annotation) {
                moving = annotation;
+               if (moving != null)
+                       moving.getCanvas().requestFocusInWindow();
        }
 
        public Annotation getMovingAnnotation() {

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/listeners/CanvasKeyListener.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/listeners/CanvasKeyListener.java
        2012-07-31 00:28:17 UTC (rev 30047)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/listeners/CanvasKeyListener.java
        2012-07-31 16:55:24 UTC (rev 30048)
@@ -70,9 +70,27 @@
                                annotation.update();
                                annotation.getCanvas().repaint();       
                        }
-               } else {
-                       networkCanvas.keyPressed(e);
+                       return;
+               } else if (code == KeyEvent.VK_ESCAPE) {
+                       if (cyAnnotator.getResizeShape() != null) {
+                               cyAnnotator.getResizeShape().contentChanged();
+                               cyAnnotator.resizeShape(null);
+                               return;
+                       }
+
+                       if (cyAnnotator.getRepositioningArrow() != null) {
+                               
cyAnnotator.getRepositioningArrow().contentChanged();
+                               cyAnnotator.positionArrow(null);
+                               return;
+                       }
+
+                       if (cyAnnotator.getMovingAnnotation() != null) {
+                               
cyAnnotator.getMovingAnnotation().contentChanged();
+                               cyAnnotator.moveAnnotation(null);
+                               return;
+                       }
                }
+               networkCanvas.keyPressed(e);
        }
 
        public void keyReleased(KeyEvent e) { }

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