JAL-722 updated from 2.11.2 develop branch - needs further work before release
[jalview.git] / src / jalview / appletgui / APopupMenu.java
index 6fdb49c..713ae02 100644 (file)
  */
 package jalview.appletgui;
 
+import java.awt.CheckboxMenuItem;
+import java.awt.Frame;
+import java.awt.Menu;
+import java.awt.MenuItem;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.SortedMap;
+import java.util.TreeMap;
+import java.util.Vector;
+
 import jalview.analysis.AAFrequency;
 import jalview.analysis.AlignmentAnnotationUtils;
 import jalview.analysis.AlignmentUtils;
@@ -57,25 +76,6 @@ import jalview.schemes.ZappoColourScheme;
 import jalview.util.MessageManager;
 import jalview.util.UrlLink;
 
-import java.awt.CheckboxMenuItem;
-import java.awt.Frame;
-import java.awt.Menu;
-import java.awt.MenuItem;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.ItemEvent;
-import java.awt.event.ItemListener;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.SortedMap;
-import java.util.TreeMap;
-import java.util.Vector;
-
 public class APopupMenu extends java.awt.PopupMenu
         implements ActionListener, ItemListener
 {
@@ -383,7 +383,7 @@ public class APopupMenu extends java.awt.PopupMenu
   void addFeatureLinks(final SequenceI seq, List<String> links)
   {
     Menu linkMenu = new Menu(MessageManager.getString("action.link"));
-    Map<String, List<String>> linkset = new LinkedHashMap<String, List<String>>();
+    Map<String, List<String>> linkset = new LinkedHashMap<>();
 
     for (String link : links)
     {
@@ -485,8 +485,8 @@ public class APopupMenu extends java.awt.PopupMenu
      * Temporary store to hold distinct calcId / type pairs for the tooltip.
      * Using TreeMap means calcIds are shown in alphabetical order.
      */
-    SortedMap<String, String> tipEntries = new TreeMap<String, String>();
-    final Map<SequenceI, List<AlignmentAnnotation>> candidates = new LinkedHashMap<SequenceI, List<AlignmentAnnotation>>();
+    SortedMap<String, String> tipEntries = new TreeMap<>();
+    final Map<SequenceI, List<AlignmentAnnotation>> candidates = new LinkedHashMap<>();
     AlignmentI al = this.ap.av.getAlignment();
     AlignmentUtils.findAddableReferenceAnnotations(forSequences, tipEntries,
             candidates, al);
@@ -825,8 +825,8 @@ public class APopupMenu extends java.awt.PopupMenu
       }
 
       int gSize = sg.getSize();
-      List<SequenceI> seqs = new ArrayList<SequenceI>();
-      List<SequenceFeature> features = new ArrayList<SequenceFeature>();
+      List<SequenceI> seqs = new ArrayList<>();
+      List<SequenceFeature> features = new ArrayList<>();
 
       for (int i = 0; i < gSize; i++)
       {
@@ -835,7 +835,7 @@ public class APopupMenu extends java.awt.PopupMenu
         if (start <= end)
         {
           seqs.add(sg.getSequenceAt(i));
-          features.add(new SequenceFeature(null, null, null, start, end,
+          features.add(new SequenceFeature(null, null, start, end,
                   "Jalview"));
         }
       }
@@ -847,7 +847,8 @@ public class APopupMenu extends java.awt.PopupMenu
         {
           ap.alignFrame.sequenceFeatures.setState(true);
           ap.av.setShowSequenceFeatures(true);
-          ap.highlightSearchResults(null);
+          ap.av.setSearchResults(null); // clear highlighting
+          ap.repaint(); // draw new/amended features
         }
       }
     }
@@ -899,11 +900,8 @@ public class APopupMenu extends java.awt.PopupMenu
       contents.append(MessageManager
               .formatMessage("label.annotation_for_displayid", new Object[]
               { seq.getDisplayId(true) }));
-      new SequenceAnnotationReport(null).createSequenceAnnotationReport(
-              contents, seq, true, true,
-              (ap.seqPanel.seqCanvas.fr != null)
-                      ? ap.seqPanel.seqCanvas.fr.getMinMax()
-                      : null);
+      new SequenceAnnotationReport(false).createSequenceAnnotationReport(
+              contents, seq, true, true, ap.seqPanel.seqCanvas.fr);
       contents.append("</p>");
     }
     Frame frame = new Frame();
@@ -913,9 +911,7 @@ public class APopupMenu extends java.awt.PopupMenu
                     ? sequences[0].getDisplayId(true)
                     : "Selection"),
             600, 500);
-    cap.setText(
-            MessageManager.formatMessage("label.html_content", new Object[]
-            { contents.toString() }));
+    cap.setText("<html>" + contents.toString() + "</html>");
   }
 
   void editName()
@@ -929,7 +925,7 @@ public class APopupMenu extends java.awt.PopupMenu
     {
       seq.setName(dialog.getName());
       seq.setDescription(dialog.getDescription());
-      ap.paintAlignment(false);
+      ap.paintAlignment(false, false);
     }
   }
 
@@ -947,7 +943,7 @@ public class APopupMenu extends java.awt.PopupMenu
       }
       else
       {
-        new MCview.AppletPDBViewer(entry, new SequenceI[] { seq }, null, ap,
+        new mc_view.AppletPDBViewer(entry, new SequenceI[] { seq }, null, ap,
                 DataSourceType.URL);
       }
 
@@ -1058,7 +1054,7 @@ public class APopupMenu extends java.awt.PopupMenu
     BLOSUM62Colour.setName(JalviewColourScheme.Blosum62.toString());
     BLOSUM62Colour.addItemListener(this);
     PIDColour.setLabel(
-            MessageManager.getString("label.colourScheme_%_identity"));
+            MessageManager.getString("label.colourScheme_%identity"));
     PIDColour.setName(JalviewColourScheme.PID.toString());
     PIDColour.addItemListener(this);
     zappoColour
@@ -1075,19 +1071,19 @@ public class APopupMenu extends java.awt.PopupMenu
             .setName(JalviewColourScheme.Hydrophobic.toString());
     hydrophobicityColour.addItemListener(this);
     helixColour.setLabel(MessageManager
-            .getString("label.colourScheme_helix_propensity"));
+            .getString("label.colourScheme_helixpropensity"));
     helixColour.setName(JalviewColourScheme.Helix.toString());
     helixColour.addItemListener(this);
     strandColour.setLabel(MessageManager
-            .getString("label.colourScheme_strand_propensity"));
+            .getString("label.colourScheme_strandpropensity"));
     strandColour.setName(JalviewColourScheme.Strand.toString());
     strandColour.addItemListener(this);
     turnColour.setLabel(
-            MessageManager.getString("label.colourScheme_turn_propensity"));
+            MessageManager.getString("label.colourScheme_turnpropensity"));
     turnColour.setName(JalviewColourScheme.Turn.toString());
     turnColour.addItemListener(this);
     buriedColour.setLabel(
-            MessageManager.getString("label.colourScheme_buried_index"));
+            MessageManager.getString("label.colourScheme_buriedindex"));
     buriedColour.setName(JalviewColourScheme.Buried.toString());
     buriedColour.addItemListener(this);
     nucleotideColour.setLabel(
@@ -1162,7 +1158,7 @@ public class APopupMenu extends java.awt.PopupMenu
 
   void refresh()
   {
-    ap.paintAlignment(true);
+    ap.paintAlignment(true, true);
   }
 
   protected void clustalColour_actionPerformed()
@@ -1338,7 +1334,7 @@ public class APopupMenu extends java.awt.PopupMenu
     SequenceGroup sg = ap.av.getSelectionGroup();
     ap.av.getAlignment().deleteGroup(sg);
     ap.av.setSelectionGroup(null);
-    ap.paintAlignment(true);
+    ap.paintAlignment(true, true);
   }
 
   void createGroupMenuItem_actionPerformed()
@@ -1439,8 +1435,8 @@ public class APopupMenu extends java.awt.PopupMenu
      * the insertion order, which is the order of the annotations on the
      * alignment.
      */
-    Map<String, List<List<String>>> shownTypes = new LinkedHashMap<String, List<List<String>>>();
-    Map<String, List<List<String>>> hiddenTypes = new LinkedHashMap<String, List<List<String>>>();
+    Map<String, List<List<String>>> shownTypes = new LinkedHashMap<>();
+    Map<String, List<List<String>>> hiddenTypes = new LinkedHashMap<>();
     AlignmentAnnotationUtils.getShownHiddenTypes(shownTypes, hiddenTypes,
             AlignmentAnnotationUtils.asList(annotations), forSequences);