import jalview.schemes.TCoffeeColourScheme;
import jalview.structure.StructureImportSettings;
import jalview.util.MapList;
+import jalview.util.Platform;
import jalview.util.matcher.Condition;
import jalview.viewmodel.AlignmentViewport;
import jalview.viewmodel.seqfeatures.FeatureRendererModel;
}
+ @Test(groups = "Functional")
+ public void testStoreAndRestoreIDwidthAndAnnotationHeight() throws IOException
+ {
+ Desktop.instance.closeAll_actionPerformed(null);
+ final String SECONDVIEW = "With Diffferent IDwidth";
+ // create a new tempfile
+ File tempfile = File.createTempFile("jvIdWidthStoreRestore", "jvp");
+
+
+ AlignFrame af = new FileLoader().LoadFileWaitTillLoaded("examples/exampleFile.jvp",
+ DataSourceType.FILE);
+ assertNotNull(af, "Didn't read in the example file correctly.");
+ // FIXME JAL-4281 test made platform dependent to pass, but probably shouldn't be platform dependent
+ assertEquals(af.alignPanel.getAlignViewport().getIdWidth(), Platform.isAMacAndNotJS() ? 144 : 138,
+ "Legacy project import should have fixed ID width");
+ assertTrue(af.alignPanel.getIdPanel().getIdCanvas().isManuallyAdjusted());
+
+
+ af.alignPanel.getAlignViewport().setIdWidth(100);
+ af.alignPanel.updateLayout();
+ assertTrue(af.alignPanel.getIdPanel().getIdCanvas().isManuallyAdjusted());
+
+ Jalview2XML jv2xml = new jalview.project.Jalview2XML(false);
+ tempfile.delete();
+ jv2xml.saveState(tempfile);
+ assertTrue(jv2xml.errorMessage == null,
+ "Failed to save dummy project with PCA: test broken");
+ af = null;
+ // load again.
+ Desktop.instance.closeAll_actionPerformed(null);
+ af = new FileLoader().LoadFileWaitTillLoaded(
+ tempfile.getCanonicalPath(), DataSourceType.FILE);
+ assertTrue(af.alignPanel.getIdPanel().getIdCanvas()
+ .isManuallyAdjusted());
+ assertEquals(af.alignPanel.getAlignViewport().getIdWidth(), 100,
+ "New project exported and import should have adjusted ID width");
+
+ af.alignPanel.getAlignViewport().setIdWidth(100);
+ af.alignPanel.updateLayout();
+ assertTrue(af.alignPanel.getIdPanel().getIdCanvas().isManuallyAdjusted());
+
+ // now make it autoadjusted
+ af.alignPanel.getAlignViewport().setIdWidth(-1);
+ af.alignPanel.getIdPanel().getIdCanvas().setManuallyAdjusted(false);
+ af.alignPanel.updateLayout();
+ assertFalse(af.alignPanel.getIdPanel().getIdCanvas().isManuallyAdjusted());
+ assertTrue(af.alignPanel.getAlignViewport().getIdWidth()>-1,
+ "New project exported and import should have adjusted ID width");
+
+ jv2xml = new jalview.project.Jalview2XML(false);
+ tempfile.delete();
+ jv2xml.saveState(tempfile);
+ assertTrue(jv2xml.errorMessage == null,
+ "Failed to save dummy project with PCA: test broken");
+ af = null;
+ // load again.
+ Desktop.instance.closeAll_actionPerformed(null);
+ af = new FileLoader().LoadFileWaitTillLoaded(
+ tempfile.getCanonicalPath(), DataSourceType.FILE);
+ assertFalse(af.alignPanel.getIdPanel().getIdCanvas().isManuallyAdjusted());
+ assertTrue(af.alignPanel.getAlignViewport().getIdWidth()>-1,
+ "New project exported and import should have adjusted ID width");
+ }
+
}