Formatting
[jalview.git] / src / jalview / gui / TreeCanvas.java
index 9ca36cc..58ca6f6 100755 (executable)
@@ -1,6 +1,6 @@
 /*
  * Jalview - A Sequence Alignment Editor and Viewer
- * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  */
 package jalview.gui;
 
-import jalview.analysis.*;
-
-import jalview.datamodel.*;
-
-import jalview.schemes.*;
-
-import jalview.util.*;
+import java.util.*;
 
 import java.awt.*;
 import java.awt.event.*;
 import java.awt.print.*;
-
-import java.util.*;
-
 import javax.swing.*;
 
+import jalview.analysis.*;
+import jalview.datamodel.*;
+import jalview.schemes.*;
+import jalview.util.*;
 
 /**
  * DOCUMENT ME!
@@ -41,13 +36,15 @@ import javax.swing.*;
  * @author $author$
  * @version $Revision$
  */
-public class TreeCanvas extends JPanel implements MouseListener, Runnable,
+public class TreeCanvas
+    extends JPanel implements MouseListener, Runnable,
     Printable, MouseMotionListener
 {
   /** DOCUMENT ME!! */
   public static final String PLACEHOLDER = " * ";
   NJTree tree;
   JScrollPane scrollPane;
+  TreePanel tp;
   AlignViewport av;
   AlignmentPanel ap;
   Font font;
@@ -76,15 +73,17 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
    * @param scroller DOCUMENT ME!
    * @param label DOCUMENT ME!
    */
-  public TreeCanvas(AlignmentPanel ap, JScrollPane scroller)
+  public TreeCanvas(TreePanel tp,
+                    AlignmentPanel ap,
+                    JScrollPane scroller)
   {
+    this.tp = tp;
     this.av = ap.av;
     this.ap = ap;
     font = av.getFont();
     scrollPane = scroller;
     addMouseListener(this);
     addMouseMotionListener(this);
-    PaintRefresher.Register(this, ap.av.getSequenceSetId());
     ToolTipManager.sharedInstance().registerComponent(this);
   }
 
@@ -235,7 +234,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
       SequenceGroup selected = av.getSelectionGroup();
 
       if ( (selected != null) &&
-          selected.getSequences(false).contains( (SequenceI) node.element()))
+          selected.getSequences(null).contains( (SequenceI) node.element()))
       {
         g.setColor(Color.gray);
 
@@ -266,9 +265,13 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
       // Draw horizontal line
       g.drawLine(xstart, ypos, xend, ypos);
       if (node == highlightNode)
+      {
         g.fillRect(xend - 3, ypos - 3, 6, 6);
+      }
       else
+      {
         g.fillRect(xend - 2, ypos - 2, 4, 4);
+      }
 
       int ystart = (int) ( ( (SequenceNode) node.left()).ycount * chunk) +
           offy;
@@ -702,7 +705,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
         }
       }
 
-      PaintRefresher.Refresh(this, av.getSequenceSetId());
+      PaintRefresher.Refresh(tp, av.getSequenceSetId());
       repaint();
     }
   }
@@ -754,7 +757,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
     if (ob instanceof SequenceI)
     {
       treeSelectionChanged( (Sequence) ob);
-      PaintRefresher.Refresh(this, ap.av.getSequenceSetId());
+      PaintRefresher.Refresh(tp, ap.av.getSequenceSetId());
       repaint();
       return;
     }
@@ -781,7 +784,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
         colourGroups();
       }
 
-      PaintRefresher.Refresh(this, ap.av.getSequenceSetId());
+      PaintRefresher.Refresh(tp, ap.av.getSequenceSetId());
       repaint();
     }
 
@@ -824,21 +827,25 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
 
         }
         else
+        {
           cs = ColourSchemeProperty.getColour(sequences,
                                               av.alignment.getWidth(),
                                               ColourSchemeProperty.
                                               getColourName(
                                                   av.getGlobalColourScheme()));
+        }
 
         cs.setThreshold(av.getGlobalColourScheme().getThreshold(),
                         av.getIgnoreGapsConsensus());
       }
 
       SequenceGroup sg = new SequenceGroup(sequences,
-                                           "TreeGroup", cs, true, true, false,
+                                           null, cs, true, true, false,
                                            0,
                                            av.alignment.getWidth() - 1);
 
+      sg.setName("JTreeGroup:" + sg.hashCode());
+
       AlignmentPanel[] aps = getAssociatedPanels();
       for (int a = 0; a < aps.length; a++)
       {
@@ -847,7 +854,7 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
         {
           Conservation c = new Conservation("Group",
                                             ResidueProperties.propHash, 3,
-                                            sg.getSequences(false),
+                                            sg.getSequences(null),
                                             sg.getStartRes(), sg.getEndRes());
 
           c.calculate();
@@ -901,6 +908,10 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
       return PaintRefresher.getAssociatedPanels(av.getSequenceSetId());
     }
     else
-      return new AlignmentPanel[]{ap};
+    {
+      return new AlignmentPanel[]
+          {
+          ap};
+    }
   }
 }