{
if (fileName != null)
{
+ // TODO: work out how to recover feature settings for correct view(s) when file is reloaded.
if (currentFileFormat.equals("Jalview"))
{
JInternalFrame[] frames = Desktop.desktop.getAllFrames();
protocol, currentFileFormat);
newframe.setBounds(bounds);
-
+ if (featureSettings!=null && featureSettings.isShowing()) {
+ final Rectangle fspos = featureSettings.frame.getBounds();
+ // TODO: need a 'show feature settings' function that takes bounds - need to refactor Desktop.addFrame
+ newframe.featureSettings_actionPerformed(null);
+ final FeatureSettings nfs = newframe.featureSettings;
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run()
+ {
+ nfs.frame.setBounds(fspos);
+ }
+ });
+ this.featureSettings.close();
+ this.featureSettings=null;
+ }
this.closeMenuItem_actionPerformed(true);
}
}
// update the min/max ranges where necessary
alignPanel.seqPanel.seqCanvas.fr.findAllFeatures(true);
}
+ if (featureSettings!=null)
+ {
+ featureSettings.setTableData();
+ }
alignPanel.paintAlignment(true);
}