package jalview.gui;
-import jalview.datamodel.AlignmentAnnotation;
-import jalview.datamodel.HiddenColumns;
-import jalview.io.cache.JvCacheableInputBox;
-import jalview.schemes.AnnotationColourGradient;
-import jalview.util.MessageManager;
-import jalview.util.Platform;
-import jalview.viewmodel.annotationfilter.AnnotationFilterParameter;
-
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
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;
+import jalview.schemes.AnnotationColourGradient;
+import jalview.util.MessageManager;
+import jalview.util.Platform;
+import jalview.viewmodel.annotationfilter.AnnotationFilterParameter;
import net.miginfocom.swing.MigLayout;
@SuppressWarnings("serial")
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);
frame.setContentPane(this);
frame.setLayer(JLayeredPane.PALETTE_LAYER);
Desktop.addInternalFrame(frame,
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
{
// filterAnnotations, because showing hidden columns has the side effect of
// adding them to the selection
av.showAllHiddenColumns();
- av.getColumnSelection().filterAnnotations(currentAnnotation.annotations,
+ av.getColumnSelection().filterAnnotations(currentAnnotation,
filterParams);
boolean hideCols = getActionOption() == ACTION_OPTION_HIDE;
gSearchPanel.searchBox.updateCache();
ngSearchPanel.searchBox.updateCache();
}
+
+ public static void displayFor(AlignViewport av, AlignmentPanel ap,
+ AlignmentAnnotation alignmentAnnotation)
+ {
+ AnnotationColumnChooser colchooser = new AnnotationColumnChooser(av, ap,
+ alignmentAnnotation);
+ }
}