Init PCA in thread
[jalview.git] / src / jalview / gui / RotatableCanvas.java
index fbbf269..3fcfd3d 100755 (executable)
@@ -40,8 +40,6 @@ import javax.swing.*;
  */\r
 public class RotatableCanvas extends JPanel implements MouseListener,\r
     MouseMotionListener, KeyListener\r
-//RubberbandListener,\r
-//SequenceSelectionListener\r
 {\r
     RotatableMatrix idmat = new RotatableMatrix(3, 3);\r
     RotatableMatrix objmat = new RotatableMatrix(3, 3);\r
@@ -78,11 +76,15 @@ public class RotatableCanvas extends JPanel implements MouseListener,
     AlignViewport av;\r
 \r
     //  Controller    controller;\r
-    public RotatableCanvas(AlignViewport av, Vector points, int npoint)\r
+    public RotatableCanvas(AlignViewport av)\r
+    {\r
+      this.av = av;\r
+    }\r
+\r
+    public void setPoints(Vector points, int npoint)\r
     {\r
         this.points = points;\r
         this.npoint = npoint;\r
-        this.av = av;\r
         ToolTipManager.sharedInstance().registerComponent(this);\r
         ToolTipManager.sharedInstance().setInitialDelay(0);\r
         ToolTipManager.sharedInstance().setDismissDelay(10000);\r
@@ -129,31 +131,13 @@ public class RotatableCanvas extends JPanel implements MouseListener,
 \r
         scale = findScale();\r
 \r
-        //    System.out.println("Scale factor = " + scale);\r
         addMouseListener(this);\r
         addKeyListener(this);\r
 \r
-        // if (getParent() != null) {\r
-        //   getParent().addKeyListener(this);\r
-        //}\r
         addMouseMotionListener(this);\r
 \r
-        // Add rubberband\r
-        //   rubberband  = new RubberbandRectangle(this);\r
-        //  rubberband.setActive(true);\r
-        //   rubberband.addListener(this);\r
     }\r
 \r
-    /* public boolean handleSequenceSelectionEvent(SequenceSelectionEvent evt) {\r
-       redrawneeded = true;\r
-       repaint();\r
-       return true;\r
-     }\r
-\r
-     public void removeNotify() {\r
-       controller.removeListener(this);\r
-       super.removeNotify();\r
-     }*/\r
     public void initAxes()\r
     {\r
         for (int i = 0; i < 3; i++)\r
@@ -313,18 +297,25 @@ public class RotatableCanvas extends JPanel implements MouseListener,
      */\r
     public void paintComponent(Graphics g)\r
     {\r
+      if(points==null)\r
+      {\r
+        g.setFont(new Font("Verdana", Font.PLAIN, 18));\r
+        g.drawString("Calculating PCA....", 20, getHeight()/2);\r
+      }\r
+      else\r
+      {\r
         //Only create the image at the beginning -\r
-        if ((img == null) || (prefsize.width != getWidth()) ||\r
-                (prefsize.height != getHeight()))\r
+        if ( (img == null) || (prefsize.width != getWidth()) ||\r
+            (prefsize.height != getHeight()))\r
         {\r
-            prefsize.width = getWidth();\r
-            prefsize.height = getHeight();\r
+          prefsize.width = getWidth();\r
+          prefsize.height = getHeight();\r
 \r
-            scale = findScale();\r
+          scale = findScale();\r
 \r
-            //      System.out.println("New scale = " + scale);\r
-            img = createImage(getWidth(), getHeight());\r
-            ig = img.getGraphics();\r
+          //      System.out.println("New scale = " + scale);\r
+          img = createImage(getWidth(), getHeight());\r
+          ig = img.getGraphics();\r
         }\r
 \r
         drawBackground(ig, Color.black);\r
@@ -332,10 +323,11 @@ public class RotatableCanvas extends JPanel implements MouseListener,
 \r
         if (drawAxes == true)\r
         {\r
-            drawAxes(ig);\r
+          drawAxes(ig);\r
         }\r
 \r
         g.drawImage(img, 0, 0, this);\r
+      }\r
     }\r
 \r
     /**\r
@@ -586,7 +578,7 @@ public class RotatableCanvas extends JPanel implements MouseListener,
             {\r
                 av.setSelectionGroup(new SequenceGroup());\r
                 av.getSelectionGroup().addOrRemove(found, true);\r
-                av.getSelectionGroup().setEndRes(av.alignment.getWidth());\r
+                av.getSelectionGroup().setEndRes(av.alignment.getWidth()-1);\r
             }\r
         }\r
 \r