X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FJalview2XML.java;h=f0551e89fa6f4a7f7ed9701b036d470be54aeffa;hb=1c6e3aa5ffd0d3fbbfe5bffbdeaa9c4f54a61cd3;hp=3c8d31a61c40ff406d33d3561eca162c701e1eae;hpb=7adb42fe5c532fddeb98bde155c339128174708c;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index 3c8d31a..f0551e8 100755 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -51,6 +51,10 @@ public class Jalview2XML Hashtable annotationIds = new Hashtable(); String uniqueSetSuffix = ""; + /** + * List of pdbfiles added to Jar + */ + Vector pdbfiles = null; // SAVES SEVERAL ALIGNMENT WINDOWS TO SAME JARFILE public void SaveState(File statefile) @@ -206,7 +210,6 @@ public class Jalview2XML vamsasSet.setGapChar(jal.getGapCharacter() + ""); JSeq jseq; - Vector pdbfiles = null; //SAVE SEQUENCES int id = 0; @@ -527,32 +530,40 @@ public class Jalview2XML } an.setLabel(aa[i].label); - + if (aa[i].hasScore()) + { + an.setScore(aa[i].getScore()); + } AnnotationElement ae; - - for (int a = 0; a < aa[i].annotations.length; a++) + if (aa[i].annotations!=null) { - if ( (aa[i] == null) || (aa[i].annotations[a] == null)) + an.setScoreOnly(false); + for (int a = 0; a < aa[i].annotations.length; a++) { - continue; - } + if ((aa[i] == null) || (aa[i].annotations[a] == null)) + { + continue; + } - ae = new AnnotationElement(); - ae.setDescription(aa[i].annotations[a].description); - ae.setDisplayCharacter(aa[i].annotations[a].displayCharacter); - ae.setValue(aa[i].annotations[a].value); - ae.setPosition(a); - ae.setSecondaryStructure(aa[i].annotations[a].secondaryStructure + - ""); + ae = new AnnotationElement(); + ae.setDescription(aa[i].annotations[a].description); + ae.setDisplayCharacter(aa[i].annotations[a].displayCharacter); + ae.setValue(aa[i].annotations[a].value); + ae.setPosition(a); + ae + .setSecondaryStructure(aa[i].annotations[a].secondaryStructure + + ""); - if (aa[i].annotations[a].colour != java.awt.Color.black) - { - ae.setColour(aa[i].annotations[a].colour.getRGB()); - } + if (aa[i].annotations[a].colour != java.awt.Color.black) + { + ae.setColour(aa[i].annotations[a].colour.getRGB()); + } - an.addAnnotationElement(ae); + an.addAnnotationElement(ae); + } + } else { + an.setScoreOnly(true); } - vamsasSet.addAnnotation(an); } } @@ -751,11 +762,14 @@ public class Jalview2XML setting.setDisplay( av.featuresDisplayed.containsKey(renderOrder[ro]) ); - + float rorder=ap.seqPanel.seqCanvas.getFeatureRenderer().getOrder(renderOrder[ro]); + if (rorder>-1) { + setting.setOrder(rorder); + } fs.addSetting(setting); settingsAdded.addElement(renderOrder[ro]); } - + //Make sure we save none displayed feature settings Enumeration en = ap.seqPanel.seqCanvas.getFeatureRenderer().featureColours.keys(); @@ -774,11 +788,29 @@ public class Jalview2XML ); setting.setDisplay(false); - + float rorder = ap.seqPanel.seqCanvas.getFeatureRenderer().getOrder(key); + if (rorder>-1) + { + setting.setOrder(rorder); + } fs.addSetting(setting); settingsAdded.addElement(key); } - + en = ap.seqPanel.seqCanvas.getFeatureRenderer().featureGroups.keys(); + Vector groupsAdded=new Vector(); + while (en.hasMoreElements()) + { + String grp = en.nextElement().toString(); + if (groupsAdded.contains(grp)) + { + continue; + } + Group g = new Group(); + g.setName(grp); + g.setDisplay(((Boolean)ap.seqPanel.seqCanvas.getFeatureRenderer().featureGroups.get(grp)).booleanValue()); + fs.addGroup(g); + groupsAdded.addElement(grp); + } jms.setFeatureSettings(fs); } @@ -1286,21 +1318,24 @@ public class Jalview2XML } AnnotationElement[] ae = an[i].getAnnotationElement(); - jalview.datamodel.Annotation[] anot = new jalview.datamodel.Annotation[ - al.getWidth()]; + jalview.datamodel.Annotation[] anot = null; + if (!an[i].getScoreOnly()) + { + anot = new jalview.datamodel.Annotation[ + al.getWidth()]; - for (int aa = 0; aa < ae.length && aa < anot.length; aa++) - { - anot[ae[aa].getPosition()] = new jalview.datamodel.Annotation(ae[aa]. - getDisplayCharacter(), - ae[aa].getDescription(), - ae[aa].getSecondaryStructure().length() == 0 ? ' ' : - ae[aa].getSecondaryStructure().charAt(0), - ae[aa].getValue()); - anot[ae[aa].getPosition()].colour = new java.awt.Color(ae[aa]. - getColour()); + for (int aa = 0; aa < ae.length && aa < anot.length; aa++) + { + anot[ae[aa].getPosition()] = new jalview.datamodel.Annotation(ae[aa]. + getDisplayCharacter(), + ae[aa].getDescription(), + ae[aa].getSecondaryStructure().length() == 0 ? ' ' : + ae[aa].getSecondaryStructure().charAt(0), + ae[aa].getValue()); + anot[ae[aa].getPosition()].colour = new java.awt.Color(ae[aa]. + getColour()); + } } - jalview.datamodel.AlignmentAnnotation jaa = null; if (an[i].getGraph()) @@ -1341,7 +1376,10 @@ public class Jalview2XML ); al.findName(an[i].getSequenceRef()).addAlignmentAnnotation(jaa); } - + if (an[i].hasScore()) + { + jaa.setScore(an[i].getScore()); + } al.addAnnotation(jaa); } } @@ -1698,9 +1736,11 @@ public class Jalview2XML af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().setColour(setting. getType(), new java.awt.Color(setting.getColour())); - renderOrder[fs] = setting.getType(); - + if (setting.hasOrder()) + af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().setOrder(setting.getType(), setting.getOrder()); + else + af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().setOrder(setting.getType(), fs/jms.getFeatureSettings().getSettingCount()); if (setting.getDisplay()) { af.viewport.featuresDisplayed.put( @@ -1709,8 +1749,15 @@ public class Jalview2XML } af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().renderOrder = renderOrder; + Hashtable fgtable; + af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().featureGroups = fgtable=new Hashtable(); + for (int gs=0;gs 0) { for (int c = 0; c < view.getHiddenColumnsCount(); c++) @@ -1828,10 +1875,13 @@ public class Jalview2XML new java.awt.Rectangle(x, y, width, height)); } - else + else if(comp!=null) { StructureSelectionManager.getStructureSelectionManager() - .setMapping(seq, pdbFile, jalview.io.AppletFormatAdapter.FILE); + .setMapping(seq, pdbFile, + jalview.io.AppletFormatAdapter.FILE); + + ( (AppJMol) comp).addSequence(seq); } } }