JAL-1503 update version in GPL header
[jalview.git] / src / jalview / gui / PCAPanel.java
index fc32e54..d1216b9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
  * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -28,7 +28,6 @@ import javax.swing.*;
 import jalview.datamodel.*;
 import jalview.jbgui.*;
 import jalview.schemes.ResidueProperties;
-import jalview.schemes.ScoreMatrix;
 import jalview.util.MessageManager;
 import jalview.viewmodel.PCAModel;
 
@@ -115,26 +114,29 @@ public class PCAPanel extends GPCAPanel implements Runnable,
   protected void scoreMatrix_menuSelected()
   {
     scoreMatrixMenu.removeAll();
-    for (final Object sm:ResidueProperties.scoreMatrices.keySet())
+    for (final String sm:ResidueProperties.scoreMatrices.keySet())
     {
-      JMenuItem jm=new JMenuItem();
-      jm.setText((String)sm);
-      jm.setSelected(pcaModel.getScore_matrix().equals((String)sm));
-      final PCAPanel us = this;
-      jm.addActionListener(new ActionListener()
+      JCheckBoxMenuItem jm=new JCheckBoxMenuItem();
+      jm.setText(MessageManager.getStringOrReturn("label.score_model", sm));
+      jm.setSelected(pcaModel.getScore_matrix().equals(sm));
+      if (pcaModel.isNucleotide()==ResidueProperties.scoreMatrices.get(sm).isDNA())
       {
-        @Override
-        public void actionPerformed(ActionEvent e)
+        final PCAPanel us = this;
+        jm.addActionListener(new ActionListener()
         {
-          if (!pcaModel.getScore_matrix().equals((String)sm))
+          @Override
+          public void actionPerformed(ActionEvent e)
           {
-            pcaModel.setScore_matrix((String) sm);
-            Thread worker = new Thread(us);
-            worker.start();
+            if (!pcaModel.getScore_matrix().equals((String) sm))
+            {
+              pcaModel.setScore_matrix((String) sm);
+              Thread worker = new Thread(us);
+              worker.start();
+            }
           }
-        }
-      });
-      scoreMatrixMenu.add(jm);   
+        });
+        scoreMatrixMenu.add(jm);
+      }
     }
   }
   public void bgcolour_actionPerformed(ActionEvent e)
@@ -203,6 +205,7 @@ public class PCAPanel extends GPCAPanel implements Runnable,
     if (!pcaModel.isNucleotide())
     {
       pcaModel.setNucleotide(true);
+      pcaModel.setScore_matrix("DNA");
       Thread worker = new Thread(this);
       worker.start();
     }
@@ -216,6 +219,7 @@ public class PCAPanel extends GPCAPanel implements Runnable,
     if (pcaModel.isNucleotide())
     {
       pcaModel.setNucleotide(false);
+      pcaModel.setScore_matrix("BLOSUM62");
       Thread worker = new Thread(this);
       worker.start();
     }