Merge branch 'develop' into spike/JAL-4047/JAL-4048_columns_in_sequenceID
[jalview.git] / src / jalview / gui / AnnotationColumnChooser.java
index c6c0e10..0483aa6 100644 (file)
@@ -42,6 +42,7 @@ import javax.swing.JPanel;
 import javax.swing.JRadioButton;
 import javax.swing.border.TitledBorder;
 
+import jalview.bin.Console;
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.HiddenColumns;
 import jalview.io.cache.JvCacheableInputBox;
@@ -95,6 +96,10 @@ public class AnnotationColumnChooser extends AnnotationRowFilter
 
   public AnnotationColumnChooser(AlignViewport av, final AlignmentPanel ap)
   {
+    this(av,ap,null);
+  }
+  public AnnotationColumnChooser(AlignViewport av, final AlignmentPanel ap, AlignmentAnnotation selectedAnnotation)
+  {
     super(av, ap);
     frame = new JInternalFrame();
     frame.setFrameIcon(null);
@@ -115,7 +120,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter
     }
     setOldHiddenColumns(av.getAlignment().getHiddenColumns());
     adjusting = true;
-
+    
     setAnnotations(new JComboBox<>(getAnnotationItems(false)));
     populateThresholdComboBox(threshold);
     AnnotationColumnChooser lastChooser = av
@@ -134,6 +139,16 @@ public class AnnotationColumnChooser extends AnnotationRowFilter
       percentThreshold
               .setSelected(lastChooser.percentThreshold.isSelected());
     }
+    if (selectedAnnotation!=null)
+    {
+      try {
+        setCurrentAnnotation(selectedAnnotation);
+        annotations.setSelectedItem(getAnnotationMenuLabel(selectedAnnotation));
+      } catch (Exception x)
+      {
+        Console.error("Couldn't select annotation in column chooser",x);
+      }
+    }
 
     try
     {
@@ -850,4 +865,10 @@ public class AnnotationColumnChooser extends AnnotationRowFilter
     gSearchPanel.searchBox.updateCache();
     ngSearchPanel.searchBox.updateCache();
   }
+
+  public static void displayFor(AlignViewport av, AlignmentPanel ap,
+          AlignmentAnnotation alignmentAnnotation)
+  {
+    AnnotationColumnChooser colchooser = new AnnotationColumnChooser(av, ap, alignmentAnnotation);    
+  }
 }