Save text colours
authoramwaterhouse <Andrew Waterhouse>
Mon, 13 Nov 2006 11:12:07 +0000 (11:12 +0000)
committeramwaterhouse <Andrew Waterhouse>
Mon, 13 Nov 2006 11:12:07 +0000 (11:12 +0000)
src/jalview/gui/Jalview2XML.java
src/jalview/gui/Jalview2XML_V1.java

index 5b0ec15..0f08896 100755 (executable)
@@ -215,9 +215,11 @@ public class Jalview2XML
 
         //SAVE SEQUENCES
         int id = 0;
+        jalview.datamodel.SequenceI jds;
         for (int i = 0; i < jal.getHeight(); i++)
         {
-            id = jal.getSequenceAt(i).hashCode();
+            jds = jal.getSequenceAt(i);
+            id = jds.hashCode();
 
             if(seqRefIds.get(id+"")!=null)
             {
@@ -227,14 +229,14 @@ public class Jalview2XML
             {
               vamsasSeq = new Sequence();
               vamsasSeq.setId(id + "");
-              vamsasSeq.setName(jal.getSequenceAt(i).getName());
-              vamsasSeq.setSequence(jal.getSequenceAt(i).getSequence());
-              vamsasSeq.setDescription(jal.getSequenceAt(i).getDescription());
+              vamsasSeq.setName(jds.getName());
+              vamsasSeq.setSequence(jds.getSequence());
+              vamsasSeq.setDescription(jds.getDescription());
 
-              if (jal.getSequenceAt(i).getDatasetSequence().getDBRef() != null)
+              if (jds.getDatasetSequence().getDBRef() != null)
               {
                 jalview.datamodel.DBRefEntry[] dbrefs =
-                    jal.getSequenceAt(i).getDatasetSequence().getDBRef();
+                    jds.getDatasetSequence().getDBRef();
 
                 for (int d = 0; d < dbrefs.length; d++)
                 {
@@ -251,16 +253,15 @@ public class Jalview2XML
             }
 
             jseq = new JSeq();
-            jseq.setStart(jal.getSequenceAt(i).getStart());
-            jseq.setEnd(jal.getSequenceAt(i).getEnd());
-            jseq.setColour(jal.getSequenceAt(i).getColor().getRGB());
+            jseq.setStart(jds.getStart());
+            jseq.setEnd(jds.getEnd());
+            jseq.setColour( av.getSequenceColour(jds).getRGB());
 
             jseq.setId(id);
 
             if (av.hasHiddenRows)
             {
-              jseq.setHidden(av.alignment.getHiddenSequences().isHidden(
-                  jal.getSequenceAt(i)));
+              jseq.setHidden(av.alignment.getHiddenSequences().isHidden(jds));
 
               if(jal.getSequenceAt(i).getHiddenSequences()!=null)
               {
@@ -277,10 +278,10 @@ public class Jalview2XML
             }
 
 
-            if(jal.getSequenceAt(i).getDatasetSequence().getSequenceFeatures()!=null)
+            if(jds.getDatasetSequence().getSequenceFeatures()!=null)
             {
               jalview.datamodel.SequenceFeature[] sf
-                  = jal.getSequenceAt(i).getDatasetSequence().getSequenceFeatures();
+                  = jds.getDatasetSequence().getSequenceFeatures();
               int index = 0;
               while(index < sf.length)
               {
@@ -322,9 +323,9 @@ public class Jalview2XML
               }
             }
 
-            if(jal.getSequenceAt(i).getDatasetSequence().getPDBId()!=null)
+            if(jds.getDatasetSequence().getPDBId()!=null)
             {
-              Enumeration en = jal.getSequenceAt(i).getDatasetSequence().getPDBId().elements();
+              Enumeration en = jds.getDatasetSequence().getPDBId().elements();
               while(en.hasMoreElements())
               {
                 Pdbids pdb = new Pdbids();
@@ -568,6 +569,9 @@ public class Jalview2XML
                 groups[i].setDisplayBoxes(sg.getDisplayBoxes());
                 groups[i].setDisplayText(sg.getDisplayText());
                 groups[i].setColourText(sg.getColourText());
+                groups[i].setTextCol1(sg.textColour.getRGB());
+                groups[i].setTextCol2(sg.textColour2.getRGB());
+                groups[i].setTextColThreshold(sg.thresholdTextColour);
 
                 for (int s = 0; s < sg.getSize(false); s++)
                 {
@@ -668,6 +672,10 @@ public class Jalview2XML
         view.setShowSequenceFeatures(av.showSequenceFeatures);
         view.setShowText(av.getShowText());
         view.setWrapAlignment(av.getWrapAlignment());
+        view.setTextCol1(av.textColour.getRGB());
+        view.setTextCol2(av.textColour2.getRGB());
+        view.setTextColThreshold(av.thresholdTextColour);
+
 
         if(av.featuresDisplayed!=null)
         {
@@ -1034,7 +1042,6 @@ public class Jalview2XML
 
         ArrayList tmpseqs = new ArrayList();
 
-
         boolean multipleView = false;
 
         JSeq[] JSEQ = object.getJalviewModelSequence().getJSeq();
@@ -1054,12 +1061,12 @@ public class Jalview2XML
             jseq.setDescription(vamsasSeq[i].getDescription());
             jseq.setStart(JSEQ[i].getStart());
             jseq.setEnd(JSEQ[i].getEnd());
-            jseq.setColor(new java.awt.Color(JSEQ[i].getColour()));
             seqRefIds.put(vamsasSeq[i].getId(), jseq);
             tmpseqs.add( jseq );
           }
 
 
+
           if (JSEQ[i].getHidden())
           {
             if (hiddenSeqs == null)
@@ -1284,6 +1291,10 @@ public class Jalview2XML
                 sg.setOutlineColour(new java.awt.Color(
                         groups[i].getOutlineColour()));
 
+                sg.textColour = new java.awt.Color(groups[i].getTextCol1());
+                sg.textColour2 = new java.awt.Color(groups[i].getTextCol2());
+                sg.thresholdTextColour = groups[i].getTextColThreshold();
+
                 if (groups[i].getConsThreshold() != 0)
                 {
                     jalview.analysis.Conservation c = new jalview.analysis.Conservation("All",
@@ -1308,6 +1319,14 @@ public class Jalview2XML
 
         af.setFileName(file, "Jalview");
 
+        for (int i = 0; i < JSEQ.length; i++)
+        {
+          af.viewport.setSequenceColour(
+              af.viewport.alignment.getSequenceAt(i),
+              new java.awt.Color(
+                  JSEQ[i].getColour()));
+        }
+
         //If we just load in the same jar file again, the sequenceSetId
         //will be the same, and we end up with multiple references
         //to the same sequenceSet. We must modify this id on load
@@ -1408,6 +1427,10 @@ public class Jalview2XML
 
         af.viewport.setShowText(view.getShowText());
 
+        af.viewport.textColour = new java.awt.Color(view.getTextCol1());
+        af.viewport.textColour2 = new java.awt.Color(view.getTextCol2());
+        af.viewport.thresholdTextColour = view.getTextColThreshold();
+
 
         ColourSchemeI cs = null;
 
index a036988..1e479fb 100755 (executable)
@@ -182,7 +182,6 @@ public class Jalview2XML_V1
                     vamsasSeq[i].getSequence());\r
             jseqs[i].setStart(JSEQ[i].getStart());\r
             jseqs[i].setEnd(JSEQ[i].getEnd());\r
-            jseqs[i].setColor(new java.awt.Color(JSEQ[i].getColour()));\r
             seqids.add(jseqs[i]);\r
         }\r
 \r
@@ -269,6 +268,15 @@ public class Jalview2XML_V1
 \r
         AlignFrame af = new AlignFrame(al, view.getWidth(), view.getHeight());\r
 \r
+        for (int i = 0; i < JSEQ.length; i++)\r
+        {\r
+          af.viewport.setSequenceColour(\r
+              af.viewport.alignment.getSequenceAt(i),\r
+              new java.awt.Color(\r
+                  JSEQ[i].getColour()));\r
+        }\r
+\r
+\r
 \r
         //  af.changeColour() );\r
         /////////////////////////\r