optimize repaints
[jalview.git] / src / jalview / gui / AppJMol.java
index 3f2d895..d8ef11a 100644 (file)
@@ -396,7 +396,7 @@ public synchronized void addSequence(SequenceI [] seq)
   public void seqColour_actionPerformed(ActionEvent actionEvent)
   {
     colourBySequence = seqColour.isSelected();
-    colourBySequence(ap);
+    colourBySequence(ap.alignFrame.alignPanel);
   }
 
   public void chainColour_actionPerformed(ActionEvent actionEvent)
@@ -599,9 +599,17 @@ public synchronized void addSequence(SequenceI [] seq)
 //End StructureListener
 ////////////////////////////
 
+  String lastCommand;
   FeatureRenderer fr=null;
   public void colourBySequence(AlignmentPanel ap)
   {
+
+    if(ap.alignFrame.getCurrentView()!=ap.av)
+    {
+      System.out.println("RETURN");
+      return;
+    }
+
     if(!colourBySequence)
       return;
 
@@ -611,7 +619,7 @@ public synchronized void addSequence(SequenceI [] seq)
     if (mapping.length < 1)
       return;
 
-    SequenceRenderer sr = ap.seqPanel.seqCanvas.getSequenceRenderer();
+    SequenceRenderer sr = new SequenceRenderer(ap.av);
 
     boolean showFeatures = false;
 
@@ -679,7 +687,11 @@ public synchronized void addSequence(SequenceI [] seq)
       }
     }
 
-    viewer.evalStringQuiet(command.toString());
+    if (lastCommand != null && !lastCommand.equals(command.toString()))
+    {
+      viewer.evalStringQuiet(command.toString());
+    }
+    lastCommand = command.toString();
   }
 
   StringBuffer condenseCommand(StringBuffer command, int pos)