Merge branch 'develop' into spike/JAL-4047/JAL-4048_columns_in_sequenceID
[jalview.git] / src / jalview / gui / PopupMenu.java
index 109c140..ca0fb7f 100644 (file)
@@ -87,6 +87,8 @@ import jalview.util.Platform;
 import jalview.util.StringUtils;
 import jalview.util.UrlLink;
 import jalview.viewmodel.seqfeatures.FeatureRendererModel;
+import jalview.viewmodel.seqfeatures.IdColumn;
+import jalview.viewmodel.seqfeatures.IdColumns;
 
 /**
  * The popup menu that is displayed on right-click on a sequence id, or in the
@@ -726,9 +728,38 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener
       rnaStructureMenu.setVisible(false);
     }
 
+    if (forIdPanel)
+    {
+      addDisplayColumnsMenu();
+    }
+
     addLinksAndFeatures(seq, column);
   }
 
+  void addDisplayColumnsMenu()
+  {
+    JMenu dis_cols = new JMenu(
+            MessageManager.getString("action.displayed_columns"));
+    final IdColumns id_cols = ap.av.getIdColumns();
+    id_cols.updateTypeList();
+    for (final IdColumn col : id_cols.getIdColumns())
+    {
+      JMenuItem col_entry = new JCheckBoxMenuItem(col.getLabel(),
+              col.isVisible());
+      col_entry.addActionListener(new ActionListener()
+      {
+
+        @Override
+        public void actionPerformed(ActionEvent e)
+        {
+          id_cols.toggleVisible(col.getLabel());
+        }
+      });
+      dis_cols.add(col_entry);
+    }
+    add(dis_cols);
+  }
+
   /**
    * Adds
    * <ul>