JAL-4059 Fix the tooltip formatting for when, e.g. enclose=false
authorBen Soares <b.soares@dundee.ac.uk>
Mon, 13 Nov 2023 19:03:03 +0000 (19:03 +0000)
committerBen Soares <b.soares@dundee.ac.uk>
Mon, 13 Nov 2023 19:03:03 +0000 (19:03 +0000)
src/jalview/gui/JvSwingUtils.java

index c00be98..b6b993e 100644 (file)
@@ -70,21 +70,27 @@ public final class JvSwingUtils
   {
     Objects.requireNonNull(ttext,
             "Tootip text to format must not be null!");
-    ttext = ttext.trim();
+    if (enclose)
+    {
+      ttext = ttext.trim();
+    }
     boolean maxLengthExceeded = false;
 
     boolean hasBr = false;
     for (String br : new String[] { "<br>", "<br/>" })
     {
-      hasBr = true;
       if (ttext.contains(br))
       {
+        hasBr = true;
         String[] htmllines = ttext.split(br);
         StringBuilder sb = new StringBuilder();
         for (String line : htmllines)
         {
-          line = line.replaceAll("\\s+", " ");
-          line = line.trim();
+          if (enclose)
+          {
+            line = line.replaceAll("\\s+", " ");
+            line = line.trim();
+          }
           if (line.length() == 0 || line.equals(" "))
           {
             continue;
@@ -99,10 +105,13 @@ public final class JvSwingUtils
         ttext = sb.toString();
       }
     }
-    if (!hasBr)
+    if (enclose)
     {
       ttext = ttext.replaceAll("\\s+", " ");
       ttext = ttext.trim();
+    }
+    if (!hasBr)
+    {
       maxLengthExceeded = ttext.length() > 60;
     }