X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalview2XML.java;h=227cb49626a64eceaafe3cf3b0d286c84d12575f;hb=ea49c8f1b0d681ec87547fc4055eb35a1165aee3;hp=993b4020f6033d52c5314106be287b632402f31e;hpb=e49f51b882c6d3e6dbcc9e377e21c18b91fbbd5a;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index 993b402..227cb49 100755 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -18,10 +18,11 @@ */ package jalview.gui; -import jalview.io.*; import jalview.schemes.*; +import jalview.gui.*; + import java.io.*; import java.net.*; @@ -32,7 +33,11 @@ import java.util.jar.*; import javax.swing.*; -import jalview.binding.*; +import org.exolab.castor.xml.*; + +import jalview.schemabinding.version2.*; + + /** @@ -44,7 +49,7 @@ import jalview.binding.*; public class Jalview2XML { // SAVES SEVERAL ALIGNEMENT WINDOWS TO SAME JARFILE - public static void SaveState(File statefile) + public void SaveState(File statefile) { long creation = System.currentTimeMillis(); JInternalFrame[] frames = Desktop.desktop.getAllFrames(); @@ -116,7 +121,7 @@ public class Jalview2XML } // USE THIS METHOD TO SAVE A SINGLE ALIGNMENT WINDOW - public static void SaveAlignment(AlignFrame af, String jarFile, + public void SaveAlignment(AlignFrame af, String jarFile, String fileName) { try @@ -148,7 +153,7 @@ public class Jalview2XML * @param jout DOCUMENT ME! * @param out DOCUMENT ME! */ - public static void SaveState(AlignFrame af, long timeStamp, + public void SaveState(AlignFrame af, long timeStamp, String fileName, JarOutputStream jout, PrintWriter out) { Vector seqids = new Vector(); @@ -157,7 +162,7 @@ public class Jalview2XML AlignViewport av = af.viewport; JalviewModel object = new JalviewModel(); - object.setVamsasModel(new jalview.binding.VamsasModel()); + object.setVamsasModel(new jalview.schemabinding.version2.VamsasModel()); object.setCreationDate(new java.util.Date(timeStamp)); object.setVersion(jalview.bin.Cache.getProperty("VERSION")); @@ -195,19 +200,21 @@ public class Jalview2XML if(jal.getSequenceAt(i).getDatasetSequence().getSequenceFeatures()!=null) { - Enumeration en = jal.getSequenceAt(i).getDatasetSequence().getSequenceFeatures().elements(); - while(en.hasMoreElements()) + jalview.datamodel.SequenceFeature[] sf + = jal.getSequenceAt(i).getDatasetSequence().getSequenceFeatures(); + int index = 0; + while(index < sf.length) { Features features = new Features(); - jalview.datamodel.SequenceFeature sf - = (jalview.datamodel.SequenceFeature)en.nextElement(); - - features.setBegin(sf.getBegin()); - features.setEnd(sf.getEnd()); - features.setDescription(sf.getDescription()); - features.setStatus(sf.getStatus()); - features.setType(sf.getType()); + + features.setBegin(sf[index].getBegin()); + features.setEnd(sf[index].getEnd()); + features.setDescription(sf[index].getDescription()); + features.setStatus(sf[index].getStatus()); + features.setType(sf[index].getType()); + features.setFeatureGroup(sf[index].getFeatureGroup()); jseq.addFeatures(features); + index ++; } } @@ -309,11 +316,28 @@ public class Jalview2XML Annotation an = new Annotation(); an.setDescription(aa[i].description); + + if(aa[i].sequenceRef!=null) + { + an.setSequenceRef(aa[i].sequenceRef.getName()); + } + if(aa[i].graph>0) { an.setGraph(true); an.setGraphType(aa[i].graph); + if(aa[i].getThreshold()!=null) + { + ThresholdLine line = new ThresholdLine(); + line.setLabel(aa[i].getThreshold().label); + line.setValue(aa[i].getThreshold().value); + line.setColour(aa[i].getThreshold().colour.getRGB()); + an.setThresholdLine(line); + } } + else + an.setGraph(false); + an.setLabel(aa[i].label); AnnotationElement ae; @@ -371,6 +395,12 @@ public class Jalview2XML cs)); } } + else if(sg.cs instanceof jalview.schemes.AnnotationColourGradient) + { + groups[i].setColour( + ColourSchemeProperty.getColourName( + ( (jalview.schemes.AnnotationColourGradient) sg.cs).getBaseColour())); + } else if (sg.cs instanceof jalview.schemes.UserColourScheme) { groups[i].setColour(SetUserColourScheme(sg.cs, userColours, @@ -417,6 +447,26 @@ public class Jalview2XML view.setBgColour(SetUserColourScheme(av.getGlobalColourScheme(), userColours, jms)); } + else if(av.getGlobalColourScheme() instanceof jalview.schemes.AnnotationColourGradient) + { + jalview.schemes.AnnotationColourGradient acg + = (jalview.schemes.AnnotationColourGradient)av.getGlobalColourScheme(); + + AnnotationColours ac = new AnnotationColours(); + ac.setAboveThreshold(acg.getAboveThreshold()); + ac.setThreshold(acg.getAnnotationThreshold()); + ac.setAnnotation(acg.getAnnotation()); + if(acg.getBaseColour() instanceof jalview.schemes.UserColourScheme) + ac.setColourScheme(SetUserColourScheme(acg.getBaseColour(), + userColours, jms)); + else + ac.setColourScheme(ColourSchemeProperty.getColourName(acg.getBaseColour())); + + ac.setMaxColour(acg.getMaxColour().getRGB()); + ac.setMinColour(acg.getMinColour().getRGB()); + view.setAnnotationColours(ac); + view.setBgColour("AnnotationColourGradient"); + } else { view.setBgColour(ColourSchemeProperty.getColourName( @@ -457,21 +507,23 @@ public class Jalview2XML view.setShowText(av.getShowText()); view.setWrapAlignment(av.getWrapAlignment()); - if(af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().featuresDisplayed!=null) + if(av.featuresDisplayed!=null) { - jalview.binding.FeatureSettings fs = new jalview.binding.FeatureSettings(); + jalview.schemabinding.version2.FeatureSettings fs + = new jalview.schemabinding.version2.FeatureSettings(); - Enumeration e = af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().featureColours.keys(); - while (e.hasMoreElements()) + String [] renderOrder = + af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().renderOrder; + for(int ro=0; ro