+
+ @Override
+ protected void loadVcf_actionPerformed()
+ {
+ JalviewFileChooser chooser = new JalviewFileChooser(
+ Cache.getProperty("LAST_DIRECTORY"));
+ chooser.setFileView(new JalviewFileView());
+ chooser.setDialogTitle(MessageManager.getString("label.load_vcf_file"));
+ chooser.setToolTipText(MessageManager.getString("label.load_vcf_file"));
+
+ int value = chooser.showOpenDialog(null);
+
+ if (value == JalviewFileChooser.APPROVE_OPTION)
+ {
+ String choice = chooser.getSelectedFile().getPath();
+ Cache.setProperty("LAST_DIRECTORY", choice);
+ SequenceI[] seqs = viewport.getAlignment().getSequencesArray();
+ new VCFLoader(choice).loadVCF(seqs, this);
+ }
+
+ }
+
+ /**
+ * Sets the flag for whether auto-calculated annotations should be shown above
+ * other annotations. If the given value is the same as the current setting,
+ * simply returns false. Otherwise updates the setting, and returns true. If
+ * annotation sort order is currently set to 'Custom', this is changed to
+ * 'None', because 'Custom' ordering ignores all sort options.
+ */
+ @Override
+ public boolean setShowAutoCalculatedAbove(boolean b)
+ {
+ if (viewport.isShowAutocalculatedAbove() != b)
+ {
+ viewport.setShowAutocalculatedAbove(b);
+
+ /*
+ * change CUSTOM annotation ordering to NONE
+ * so that sorting actually does something
+ */
+ if (viewport.getSortAnnotationsBy() == SequenceAnnotationOrder.CUSTOM)
+ {
+ viewport.setSortAnnotationsBy(SequenceAnnotationOrder.NONE);
+ }
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public void setAnnotationSortOrder(
+ SequenceAnnotationOrder annotationSortOrder)
+ {
+ viewport.setSortAnnotationsBy(annotationSortOrder);
+ }