JAL-1506 revised implementation to clear only selected columns after a delete operation
[jalview.git] / src / jalview / gui / Jalview2XML.java
index 3b90bf6..a448d19 100644 (file)
@@ -20,6 +20,7 @@
  */
 package jalview.gui;
 
+import jalview.api.ViewStyleI;
 import jalview.api.structures.JalviewStructureDisplayI;
 import jalview.bin.Cache;
 import jalview.datamodel.AlignedCodonFrame;
@@ -776,9 +777,9 @@ public class Jalview2XML
         }
       }
 
-      if (jdatasq.getPDBId() != null)
+      if (jdatasq.getAllPDBEntries() != null)
       {
-        Enumeration en = jdatasq.getPDBId().elements();
+        Enumeration en = jdatasq.getAllPDBEntries().elements();
         while (en.hasMoreElements())
         {
           Pdbids pdb = new Pdbids();
@@ -1149,6 +1150,7 @@ public class Jalview2XML
       view.setFontName(av.font.getName());
       view.setFontSize(av.font.getSize());
       view.setFontStyle(av.font.getStyle());
+      view.setScaleProteinAsCdna(av.getViewStyle().isScaleProteinAsCdna());
       view.setRenderGaps(av.isRenderGaps());
       view.setShowAnnotation(av.isShowAnnotation());
       view.setShowBoxes(av.getShowBoxes());
@@ -1852,8 +1854,8 @@ public class Jalview2XML
       }
     }
     throw new Error(MessageManager.formatMessage(
-            "error.unsupported_version_calcIdparam", new Object[]
-            { calcIdParam.toString() }));
+            "error.unsupported_version_calcIdparam",
+            new Object[] { calcIdParam.toString() }));
   }
 
   /**
@@ -2837,8 +2839,8 @@ public class Jalview2XML
             else
             {
               // defer to later
-              frefedSequence.add(new Object[]
-              { maps[m].getDnasq(), cf, mapping });
+              frefedSequence.add(new Object[] { maps[m].getDnasq(), cf,
+                  mapping });
             }
           }
         }
@@ -3248,8 +3250,8 @@ public class Jalview2XML
      * indicate that annotation colours are applied across all groups (pre
      * Jalview 2.8.1 behaviour)
      */
-    boolean doGroupAnnColour = isVersionStringLaterThan("2.8.1",
-            object.getVersion());
+    boolean doGroupAnnColour = Jalview2XML.isVersionStringLaterThan(
+            "2.8.1", object.getVersion());
 
     AlignmentPanel ap = null;
     boolean isnewview = true;
@@ -4035,7 +4037,7 @@ public class Jalview2XML
    * @return true if version is development/null or evaluates to the same or
    *         later X.Y.Z (where X,Y,Z are like [0-9]+b?[0-9]*)
    */
-  protected boolean isVersionStringLaterThan(String supported,
+  public static boolean isVersionStringLaterThan(String supported,
           String version)
   {
     if (version == null || version.equalsIgnoreCase("DEVELOPMENT BUILD")
@@ -4058,11 +4060,18 @@ public class Jalview2XML
         String fileT = fileV.nextToken().toLowerCase().replace('b', '.');
         try
         {
-          if (Float.valueOf(curT) > Float.valueOf(fileT))
+          float supportedVersionToken = Float.parseFloat(curT);
+          float myVersiontoken = Float.parseFloat(fileT);
+          if (supportedVersionToken > myVersiontoken)
           {
             // current version is newer than the version that wrote the file
             return false;
           }
+          if (supportedVersionToken < myVersiontoken)
+          {
+            // current version is older than the version that wrote the file
+            return true;
+          }
         } catch (NumberFormatException nfe)
         {
           System.err
@@ -4194,6 +4203,9 @@ public class Jalview2XML
     af.viewport.setFont(
             new java.awt.Font(view.getFontName(), view.getFontStyle(), view
                     .getFontSize()), true);
+    ViewStyleI vs = af.viewport.getViewStyle();
+    vs.setScaleProteinAsCdna(view.isScaleProteinAsCdna());
+    af.viewport.setViewStyle(vs);
     // TODO: allow custom charWidth/Heights to be restored by updating them
     // after setting font - which means set above to false
     af.viewport.setRenderGaps(view.getRenderGaps());
@@ -4578,8 +4590,8 @@ public class Jalview2XML
       /**
        * Kludge for magic autoannotation names (see JAL-811)
        */
-      String[] magicNames = new String[]
-      { "Consensus", "Quality", "Conservation" };
+      String[] magicNames = new String[] { "Consensus", "Quality",
+          "Conservation" };
       JvAnnotRow nullAnnot = new JvAnnotRow(-1, null);
       Hashtable<String, JvAnnotRow> visan = new Hashtable<String, JvAnnotRow>();
       for (String nm : magicNames)
@@ -4989,8 +5001,7 @@ public class Jalview2XML
         }
         else
         {
-          frefedSequence.add(new Object[]
-          { dsfor, jmap });
+          frefedSequence.add(new Object[] { dsfor, jmap });
         }
       }
       else