+
+ /**
+ * 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);
+ }