apply version 2.7 copyright
[jalview.git] / src / jalview / appletgui / TreeCanvas.java
index acfe231..5d5b7ba 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
+ * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
  * 
  * This file is part of Jalview.
  * 
@@ -64,9 +64,11 @@ public class TreeCanvas extends Panel implements MouseListener,
 
   SequenceNode highlightNode;
 
-  public TreeCanvas(AlignViewport av, ScrollPane scroller)
+  AlignmentPanel ap; 
+  public TreeCanvas(AlignmentPanel ap, ScrollPane scroller)
   {
-    this.av = av;
+    this.ap = ap;
+    this.av = ap.av;
     font = av.getFont();
     scrollPane = scroller;
     addMouseListener(this);
@@ -184,8 +186,7 @@ public class TreeCanvas extends Panel implements MouseListener,
       }
 
       String name = (markPlaceholders && node.isPlaceholder()) ? (PLACEHOLDER + node
-              .getName())
-              : node.getName();
+              .getName()) : node.getName();
       FontMetrics fm = g.getFontMetrics(font);
       int charWidth = fm.stringWidth(name) + 3;
       int charHeight = fm.getHeight();
@@ -509,6 +510,7 @@ public class TreeCanvas extends Panel implements MouseListener,
 
       PaintRefresher.Refresh(this, av.getSequenceSetId());
       repaint();
+      av.sendSelection();
     }
   }
 
@@ -551,6 +553,7 @@ public class TreeCanvas extends Panel implements MouseListener,
       treeSelectionChanged((Sequence) ob);
       PaintRefresher.Refresh(this, av.getSequenceSetId());
       repaint();
+      av.sendSelection();
       return;
     }
     else if (!(ob instanceof SequenceNode))
@@ -585,12 +588,12 @@ public class TreeCanvas extends Panel implements MouseListener,
     for (int i = 0; i < tree.getGroups().size(); i++)
     {
 
-      Color col = new Color((int) (Math.random() * 255), (int) (Math
-              .random() * 255), (int) (Math.random() * 255));
+      Color col = new Color((int) (Math.random() * 255),
+              (int) (Math.random() * 255), (int) (Math.random() * 255));
       setColor((SequenceNode) tree.getGroups().elementAt(i), col.brighter());
 
-      Vector l = tree.findLeaves((SequenceNode) tree.getGroups().elementAt(
-              i), new Vector());
+      Vector l = tree.findLeaves(
+              (SequenceNode) tree.getGroups().elementAt(i), new Vector());
 
       Vector sequences = new Vector();
       for (int j = 0; j < l.size(); j++)
@@ -609,8 +612,9 @@ public class TreeCanvas extends Panel implements MouseListener,
       {
         if (av.getGlobalColourScheme() instanceof UserColourScheme)
         {
-          cs = new UserColourScheme(((UserColourScheme) av
-                  .getGlobalColourScheme()).getColours());
+          cs = new UserColourScheme(
+                  ((UserColourScheme) av.getGlobalColourScheme())
+                          .getColours());
 
         }
         else
@@ -619,9 +623,12 @@ public class TreeCanvas extends Panel implements MouseListener,
                   .getWidth(), ColourSchemeProperty.getColourName(av
                   .getGlobalColourScheme()));
         }
-
-        cs.setThreshold(av.getGlobalColourScheme().getThreshold(), av
-                .getIgnoreGapsConsensus());
+        // cs is null if shading is an annotationColourGradient
+        if (cs!=null)
+        {
+          cs.setThreshold(av.getGlobalColourScheme().getThreshold(),
+                  av.getIgnoreGapsConsensus());
+        }
       }
 
       SequenceGroup sg = new SequenceGroup(sequences, "", cs, true, true,
@@ -633,8 +640,8 @@ public class TreeCanvas extends Panel implements MouseListener,
               && av.getGlobalColourScheme().conservationApplied())
       {
         Conservation c = new Conservation("Group",
-                ResidueProperties.propHash, 3, sg.getSequences(null), sg
-                        .getStartRes(), sg.getEndRes());
+                ResidueProperties.propHash, 3, sg.getSequences(null),
+                sg.getStartRes(), sg.getEndRes());
 
         c.calculate();
         c.verdict(false, av.ConsPercGaps);
@@ -647,7 +654,8 @@ public class TreeCanvas extends Panel implements MouseListener,
       av.alignment.addGroup(sg);
 
     }
-
+    ap.updateAnnotation();
+    
   }
 
   public void setShowDistances(boolean state)