Merge branch 'bug/JAL-4302_treeheightrendererbroke' into develop
authorJames Procter <j.procter@dundee.ac.uk>
Tue, 17 Oct 2023 16:30:08 +0000 (17:30 +0100)
committerJames Procter <j.procter@dundee.ac.uk>
Tue, 17 Oct 2023 16:30:08 +0000 (17:30 +0100)
help/markdown/releases/release-2_11_3_0.md
src/jalview/analysis/TreeModel.java
src/jalview/gui/TreeCanvas.java

index 80f8cf4..7ddd76f 100644 (file)
@@ -88,6 +88,7 @@ channel: "release"
 - <!-- JAL-2910 --> HeadlessException in console in headless mode (actually fixed in 2.11.{0,1,2))
 
 ## New Known defects
+- <!-- JAL-4302 --> Tree renderer doesn't show bottom-most leaves of tree when Fit-To-Window is enabled.
 - <!-- JAL-4178 --> Cannot cancel structure view open action once it has been started via the structure chooser dialog
 - <!-- JAL-4142 --> Example project's multiple views do not open in distinct locations when eXpand views is used to show them all separately
 - <!-- JAL-4127 --> 'Reload' for a jalview project results in all windows being duplicated
index 90fe089..ce79a65 100644 (file)
@@ -353,6 +353,7 @@ public class TreeModel
 
     if ((nd.left() == null) && (nd.right() == null))
     {
+       // TODO FIX FOR COLUMN TREES
       jalview.bin.Console.outPrintln("Leaf = " + ((SequenceI) nd.element()).getName());
       jalview.bin.Console.outPrintln("Dist " + nd.dist);
       jalview.bin.Console.outPrintln("Boot " + nd.getBootstrap());
@@ -430,7 +431,7 @@ public class TreeModel
 
     if ((nd.left() == null) && (nd.right() == null))
     {
-      nd.height = ((BinaryNode) nd.parent()).height + nd.dist;
+      nd.height = nd.parent().height + nd.dist;
 
       if (nd.height > maxheight)
       {
@@ -445,7 +446,7 @@ public class TreeModel
     {
       if (nd.parent() != null)
       {
-        nd.height = ((BinaryNode) nd.parent()).height + nd.dist;
+        nd.height = nd.parent().height + nd.dist;
       }
       else
       {
index 6fbd422..2d4bdc8 100755 (executable)
@@ -406,9 +406,9 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
       }
 
       int ystart = (node.left() == null ? 0
-              : (int) (((BinaryNode) node.left()).ycount * chunk)) + offy;
+              : (int) (node.left().ycount * chunk)) + offy;
       int yend = (node.right() == null ? 0
-              : (int) (((BinaryNode) node.right()).ycount * chunk)) + offy;
+              : (int) (node.right().ycount * chunk)) + offy;
 
       Rectangle pos = new Rectangle(xend - 2, ypos - 2, 5, 5);
       nodeHash.put(node, pos);
@@ -791,11 +791,11 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable,
 
     if (top.count == 0)
     {
-      top.count = ((BinaryNode) top.left()).count
-              + ((BinaryNode) top.right()).count;
+      top.count = top.left().count
+              + top.right().count;
     }
 
-    double chunk = (double) (height - (offy)) / (double)top.count;
+    float chunk = (float) (height - (offy)) / top.count;
 
     drawNode(g2, tree.getTopNode(), chunk, wscale, width, offx, offy);