Merge branch 'documentation/Release_2_11_1_Branch' into releases/Release_2_11_1_Branch
authorJim Procter <jprocter@issues.jalview.org>
Tue, 31 Mar 2020 21:54:41 +0000 (22:54 +0100)
committerJim Procter <jprocter@issues.jalview.org>
Tue, 31 Mar 2020 21:54:41 +0000 (22:54 +0100)
1  2 
src/jalview/gui/SeqPanel.java

@@@ -865,8 -865,7 +865,8 @@@ public class SeqPanel extends JPane
      {
        setStatusMessage(results);
      }
 -    return results.isEmpty() ? null : getHighlightInfo(results);
 +    // JAL-3303 feature suppressed for now pending review
 +    return null; // results.isEmpty() ? null : getHighlightInfo(results);
    }
  
    /**
       * add features that straddle the gap (pos may be the residue before or
       * after the gap)
       */
+     int unshownFeatures = 0;
      if (av.isShowSequenceFeatures())
      {
        List<SequenceFeature> features = ap.getFeatureRenderer()
                .findFeaturesAtColumn(sequence, column + 1);
-       seqARep.appendFeatures(tooltipText, pos, features,
-               this.ap.getSeqPanel().seqCanvas.fr);
+       unshownFeatures = seqARep.appendFeaturesLengthLimit(tooltipText, pos,
+               features,
+               this.ap.getSeqPanel().seqCanvas.fr, MAX_TOOLTIP_LENGTH);
  
        /*
         * add features in CDS/protein complement at the corresponding
                    pos);
            if (mf != null)
            {
-             seqARep.appendFeatures(tooltipText, pos, mf, fr2);
+             unshownFeatures = seqARep.appendFeaturesLengthLimit(
+                     tooltipText, pos, mf, fr2,
+                     MAX_TOOLTIP_LENGTH);
            }
          }
        }
      }
-     if (tooltipText.length() == 6) // <html>
+     if (tooltipText.length() == 6) // "<html>"
      {
        setToolTipText(null);
        lastTooltip = null;
      }
      else
      {
-       if (tooltipText.length() > MAX_TOOLTIP_LENGTH) // constant
+       if (tooltipText.length() > MAX_TOOLTIP_LENGTH)
        {
          tooltipText.setLength(MAX_TOOLTIP_LENGTH);
          tooltipText.append("...");
        }
+       if (unshownFeatures > 0)
+       {
+         tooltipText.append("<br/>").append("... ").append("<i>")
+                 .append(MessageManager.formatMessage(
+                         "label.features_not_shown", unshownFeatures))
+                 .append("</i>");
+       }
        String textString = tooltipText.toString();
        if (lastTooltip == null || !lastTooltip.equals(textString))
        {
       * Map sequence selection
       */
      SequenceGroup sg = MappingUtils.mapSequenceGroup(seqsel, sourceAv, av);
-     av.setSelectionGroup(sg);
+     av.setSelectionGroup(sg != null && sg.getSize() > 0 ? sg : null);
      av.isSelectionGroupChanged(true);
  
      /*