X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FHtmlSvgOutput.java;h=64dfc1ce8979e0f618845286730c471d11ef5914;hb=581e7e5a0736b3b5e5ade54656c194b399b2a3ec;hp=4793ac4cbd7f95a91a2bead50bfed73653bbb17f;hpb=afcdc36e5f65333f8ff9ca3229b6cffdb27edca7;p=jalview.git diff --git a/src/jalview/io/HtmlSvgOutput.java b/src/jalview/io/HtmlSvgOutput.java index 4793ac4..64dfc1c 100644 --- a/src/jalview/io/HtmlSvgOutput.java +++ b/src/jalview/io/HtmlSvgOutput.java @@ -1,9 +1,12 @@ package jalview.io; +import jalview.datamodel.Alignment; +import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.SequenceI; import jalview.gui.AlignViewport; import jalview.gui.AlignmentPanel; import jalview.gui.AnnotationPanel; +import jalview.gui.Desktop; import jalview.gui.FeatureRenderer; import jalview.gui.HTMLOptions; import jalview.math.AlignmentDimension; @@ -100,13 +103,17 @@ public class HtmlSvgOutput String titleSvgData = g1.getSVGDocument(); String alignSvgData = g2.getSVGDocument(); - String htmlData = getHtml(titleSvgData, alignSvgData); + String jsonData = getJSONData(); + String htmlData = getHtml(titleSvgData, alignSvgData, jsonData); out.write(htmlData.getBytes()); out.flush(); out.close(); - + if (!(System.getProperty("java.awt.headless") != null && System + .getProperty("java.awt.headless").equals("true"))) + { jalview.util.BrowserLauncher.openURL("file:///" + file); + } } catch (Exception e) { e.printStackTrace(); @@ -254,18 +261,82 @@ public class HtmlSvgOutput return Printable.PAGE_EXISTS; } - private String getHtml(String titleSvg, String alignmentSvg) + private String getJSONData() + { + JSONFile jsonFile = new JSONFile(); + Alignment al = new Alignment(av.getAlignment().getSequencesArray()); + jsonFile.seqGroups = av.getAlignment().getGroups(); + // jsonFile.addAnnotations(al); + jsonFile.setDisplayedFeatures(av.getFeaturesDisplayed()); + Desktop.setCurrentAlignFrame(av.getAlignPanel().alignFrame); + for (SequenceI seq : av.getAlignment().getSequences()) + { + jsonFile.seqs.add(seq); + } + + // Add non auto calculated annotation to AlignFile + for (AlignmentAnnotation annot : av.getAlignment() + .getAlignmentAnnotation()) + { + if (annot != null && !annot.autoCalculated) + { + if (annot.label.equals("PDB.CATempFactor")) + { + continue; + } + jsonFile.annotations.add(annot); + } + } + + // jsonFile.setGlobalColorScheme(av.getGlobalColourScheme()); + String jsonString = jsonFile.print(); + System.out.println(">>>>>>>>>>> JSONFile : " + jsonString); + return jsonString; + } + + private String getHtml(String titleSvg, String alignmentSvg, + String jsonData) { StringBuilder htmlSvg = new StringBuilder(); - htmlSvg.append("" - + "
" - + "
"); - htmlSvg.append(titleSvg); - htmlSvg.append("
").append(alignmentSvg); + htmlSvg.append("\n"); + if (jsonData != null) + { + htmlSvg.append(""); + } + htmlSvg.append("\n"); + htmlSvg.append("
"); + htmlSvg.append( +"
"); + htmlSvg.append( +"
") + .append(titleSvg) + .append("
") + .append("
\n\n\n\n"); + htmlSvg.append( +"
"); + htmlSvg.append( + "
") + .append(alignmentSvg) +.append("
") + .append("
"); htmlSvg.append("
"); + + htmlSvg.append("\n" + + "\n" + + ""); + return htmlSvg.toString(); } }