X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FHtmlSvgOutput.java;h=7e02118acbeb040e69cac01bd93d8dcf2a0d93b4;hb=a23cc416cd520ac6dec6052591575b264f5d25bc;hp=464385826989c2c469e8b14df13a86ca87f1e6a6;hpb=cca50cb3aee94f3ed1a5e504d45b8d8b665f8c5b;p=jalview.git diff --git a/src/jalview/io/HtmlSvgOutput.java b/src/jalview/io/HtmlSvgOutput.java index 4643858..7e02118 100644 --- a/src/jalview/io/HtmlSvgOutput.java +++ b/src/jalview/io/HtmlSvgOutput.java @@ -1,10 +1,9 @@ package jalview.io; +import jalview.api.FeatureRenderer; import jalview.datamodel.SequenceI; import jalview.gui.AlignViewport; import jalview.gui.AlignmentPanel; -import jalview.gui.AnnotationPanel; -import jalview.gui.FeatureRenderer; import jalview.gui.HTMLOptions; import jalview.math.AlignmentDimension; import jalview.util.MessageManager; @@ -27,22 +26,26 @@ public class HtmlSvgOutput FeatureRenderer fr; AlignmentPanel ap; - AnnotationPanel annotationPanel; - public HtmlSvgOutput(AlignmentPanel ap) + public HtmlSvgOutput(File file, AlignmentPanel ap) { - - this.av = ap.av; - this.ap = ap; - this.annotationPanel = ap.getAnnotationPanel(); - generateHtmlSvgOutput(); + this.av = ap.av; + this.ap = ap; + fr = ap.cloneFeatureRenderer(); + generateHtmlSvgOutput(file); } - public void generateHtmlSvgOutput() + public void generateHtmlSvgOutput(File file) { - File file = null; try { + if (file == null /* + * && !(System.getProperty("java.awt.headless") != null + * && System + * .getProperty("java.awt.headless").equals("true")) + */) + { + JalviewFileChooser chooser = getHTMLChooser(); chooser.setFileView(new jalview.io.JalviewFileView()); chooser.setDialogTitle(ap.alignFrame.getTitle()); @@ -55,6 +58,7 @@ public class HtmlSvgOutput .getSelectedFile().getParent()); file = chooser.getSelectedFile(); } + } AlignmentDimension aDimension = ap.getAlignmentDimension(); SVGGraphics2D g1 = new SVGGraphics2D(aDimension.getWidth(), @@ -93,13 +97,17 @@ public class HtmlSvgOutput String titleSvgData = g1.getSVGDocument(); String alignSvgData = g2.getSVGDocument(); - String htmlData = getHtml(titleSvgData, alignSvgData); + String jsonData = JSONFile.getJSONData(ap); + 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(); @@ -247,18 +255,49 @@ public class HtmlSvgOutput return Printable.PAGE_EXISTS; } - private String getHtml(String titleSvg, String alignmentSvg) + 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(); } }