<tr>
<td width="60" align="center" nowrap><strong><a
name="Jalview.2.11.1">2.11.1</a><a name="Jalview.2.11.1.0">.0</a><br />
- <em>16/2/2020</em></strong></td>
+ <em>25/2/2020</em></strong></td>
<td align="left" valign="top">
<ul>
+ <li><!-- JAL-3121 -->Feature attributes from VCF files can be exported and re-imported as GFF3 files
+ </li>
<li>
- <!-- JAL-3376 -->Record "fixed column" values POS, ID, QUAL, FILTER from VCF as Feature Attributes
+ <!-- JAL-3376 -->Record "fixed column" values POS,
+ ID, QUAL, FILTER from VCF as Feature Attributes
</li>
<li>
- <!-- JAL-3375 -->More robust VCF numeric data field validation
- while parsing (e.g. AF* attributes)
+ <!-- JAL-3375 -->More robust VCF numeric data field
+ validation while parsing (e.g. AF* attributes)
+ </li>
+ <li>
+ <!-- JAL-3538 -->Font anti-aliasing in alignment views
+ enabled by default
</li>
-
<li>
<!-- JAL -->
</li>
closeView(alignPanel);
}
}
-
if (closeAllTabs)
{
+ if (featureSettings != null && featureSettings.isOpen())
+ {
+ featureSettings.close();
+ featureSettings = null;
+ }
/*
* this will raise an INTERNAL_FRAME_CLOSED event and this method will
* be called recursively, with the frame now in 'closed' state
@Override
public void featureSettings_actionPerformed(ActionEvent e)
{
+ showFeatureSettingsUI();
+ }
+
+ @Override
+ public FeatureSettingsControllerI showFeatureSettingsUI()
+ {
if (featureSettings != null)
{
- featureSettings.close();
+ featureSettings.closeOldSettings();
featureSettings = null;
}
if (!showSeqFeatures.isSelected())
showSeqFeatures_actionPerformed(null);
}
featureSettings = new FeatureSettings(this);
+ return featureSettings;
}
/**
if (parseFeaturesFile(file, sourceType))
{
alignPanel.paintAlignment(true, true);
+ SplitFrame splitFrame = (SplitFrame) getSplitViewContainer();
+ if (splitFrame != null)
+ {
+ splitFrame.repaint();
+ }
}
}
else
viewport = alignPanel.av;
avc.setViewportAndAlignmentPanel(viewport, alignPanel);
setMenusFromViewport(viewport);
+ if (featureSettings != null && featureSettings.isOpen()
+ && featureSettings.fr.getViewport() != viewport)
+ {
+ if (viewport.isShowSequenceFeatures())
+ {
+ // refresh the featureSettings to reflect UI change
+ showFeatureSettingsUI();
+ }
+ else
+ {
+ // close feature settings for this view.
+ featureSettings.close();
+ }
+ }
+
}
/*
}
}
+
+ private Rectangle lastFeatureSettingsBounds = null;
+ @Override
+ public void setFeatureSettingsGeometry(Rectangle bounds)
+ {
+ lastFeatureSettingsBounds = bounds;
+ }
+
+ @Override
+ public Rectangle getFeatureSettingsGeometry()
+ {
+ return lastFeatureSettingsBounds;
+ }
}
class PrintThread extends Thread
boolean antiAlias = false;
- private Rectangle explodedGeometry;
+ private Rectangle explodedGeometry = null;
- private String viewName;
+ private String viewName = null;
/*
* Flag set true on the view that should 'gather' multiple views of the same
*/
private void applyViewProperties()
{
- antiAlias = Cache.getDefault("ANTI_ALIAS", false);
+ antiAlias = Cache.getDefault("ANTI_ALIAS", true);
viewStyle.setShowJVSuffix(Cache.getDefault("SHOW_JVSUFFIX", true));
setShowAnnotation(Cache.getDefault("SHOW_ANNOTATIONS", true));