JAL-1503 update version in GPL header
[jalview.git] / src / jalview / appletgui / RotatableCanvas.java
index 4efa701..9ab487b 100755 (executable)
@@ -1,19 +1,20 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * Jalview is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License 
  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- * 
+ *  
  * Jalview is distributed in the hope that it will be useful, but 
  * WITHOUT ANY WARRANTY; without even the implied warranty 
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
  * PURPOSE.  See the GNU General Public License for more details.
  * 
  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.appletgui;
 
@@ -22,12 +23,13 @@ import java.util.*;
 import java.awt.*;
 import java.awt.event.*;
 
+import jalview.api.RotatableCanvasI;
 import jalview.datamodel.*;
 import jalview.math.*;
 import jalview.util.*;
 
 public class RotatableCanvas extends Panel implements MouseListener,
-        MouseMotionListener, KeyListener
+        MouseMotionListener, KeyListener, RotatableCanvasI
 {
   RotatableMatrix idmat = new RotatableMatrix(3, 3);
 
@@ -315,7 +317,7 @@ public class RotatableCanvas extends Panel implements MouseListener,
     if (points == null)
     {
       g.setFont(new Font("Verdana", Font.PLAIN, 18));
-      g.drawString("Calculating PCA....", 20, getSize().height / 2);
+      g.drawString(MessageManager.getString("label.calculating_pca") + "....", 20, getSize().height / 2);
     }
     else
     {
@@ -396,8 +398,8 @@ public class RotatableCanvas extends Panel implements MouseListener,
 
       if (av.getSelectionGroup() != null)
       {
-        if (av.getSelectionGroup().getSequences(null).contains(
-                ((SequencePoint) points.elementAt(i)).sequence))
+        if (av.getSelectionGroup().getSequences(null)
+                .contains(((SequencePoint) points.elementAt(i)).sequence))
         {
           g.setColor(Color.gray);
         }
@@ -411,8 +413,9 @@ public class RotatableCanvas extends Panel implements MouseListener,
       if (showLabels)
       {
         g.setColor(Color.red);
-        g.drawString(((SequencePoint) points.elementAt(i)).sequence
-                .getName(), x - 3, y - 4);
+        g.drawString(
+                ((SequencePoint) points.elementAt(i)).sequence.getName(),
+                x - 3, y - 4);
       }
     }
   }
@@ -513,19 +516,22 @@ public class RotatableCanvas extends Panel implements MouseListener,
 
     if (found != null)
     {
+      // TODO: applet PCA is not associatable with multi-panels - only parent
+      // view
       if (av.getSelectionGroup() != null)
       {
         av.getSelectionGroup().addOrRemove(found, true);
-        av.getSelectionGroup().setEndRes(av.alignment.getWidth() - 1);
-        PaintRefresher.Refresh(this, av.getSequenceSetId());
+        av.getSelectionGroup().setEndRes(av.getAlignment().getWidth() - 1);
       }
       else
       {
         av.setSelectionGroup(new SequenceGroup());
         av.getSelectionGroup().addOrRemove(found, true);
-        av.getSelectionGroup().setEndRes(av.alignment.getWidth() - 1);
+        av.getSelectionGroup().setEndRes(av.getAlignment().getWidth() - 1);
 
       }
+      PaintRefresher.Refresh(this, av.getSequenceSetId());
+      av.sendSelection();
     }
     repaint();
   }
@@ -595,8 +601,8 @@ public class RotatableCanvas extends Panel implements MouseListener,
       {
         if (av != null)
         {
-          if (!av.getSelectionGroup().getSequences(null).contains(
-                  sp.sequence))
+          if (!av.getSelectionGroup().getSequences(null)
+                  .contains(sp.sequence))
           {
             av.getSelectionGroup().addSequence(sp.sequence, true);
           }