X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fio%2FHtmlSvgOutput.java;h=3fb3cf2e916598bb3a280471861fa1db50e7c32d;hb=18a91cf8bf71500b0bfa020c8348227cce2fc279;hp=e60824a6e668112f4c8367b9933f930d48c62c9a;hpb=e60cacff9260c47c12cf34a7e191678cfc97d265;p=jalview.git diff --git a/src/jalview/io/HtmlSvgOutput.java b/src/jalview/io/HtmlSvgOutput.java index e60824a..3fb3cf2 100644 --- a/src/jalview/io/HtmlSvgOutput.java +++ b/src/jalview/io/HtmlSvgOutput.java @@ -20,6 +20,7 @@ */ package jalview.io; +import jalview.exceptions.NoFileSelectedException; import jalview.gui.AlignmentPanel; import jalview.gui.HTMLOptions; import jalview.gui.OOMWarning; @@ -38,7 +39,6 @@ import org.jfree.graphics2d.svg.SVGHints; public class HtmlSvgOutput extends HTMLOutput { - private File generatedFile; public HtmlSvgOutput(AlignmentPanel ap) { @@ -46,16 +46,21 @@ public class HtmlSvgOutput extends HTMLOutput } @Override - public void exportHTML(String file) + public void exportHTML(String outputFile) { exportStarted(); try { - if (file == null) + if (outputFile == null) { - file = getOutputFile(); + outputFile = getOutputFile(); } - generatedFile = new File(file); + generatedFile = new File(outputFile); + } catch (NoFileSelectedException e) + { + setProgressMessage(MessageManager.formatMessage( + "status.cancelled_image_export_operation", "HTML")); + return; } catch (Exception e) { setProgressMessage(MessageManager.formatMessage( @@ -63,105 +68,15 @@ public class HtmlSvgOutput extends HTMLOutput e.printStackTrace(); return; } - new Thread() - { - @Override - public void run() - { - try - { - setProgressMessage(null); - setProgressMessage(MessageManager.formatMessage( - "status.exporting_alignment_as_x_file", "HTML")); - AlignmentDimension aDimension = ap.getAlignmentDimension(); - SVGGraphics2D idPanelGraphics = new SVGGraphics2D( - aDimension.getWidth(), - aDimension.getHeight()); - SVGGraphics2D alignPanelGraphics = new SVGGraphics2D( - aDimension.getWidth(), - aDimension.getHeight()); - - String renderStyle = jalview.bin.Cache.getDefault( - "HTML_RENDERING", "Prompt each time"); - - // If we need to prompt, and if the GUI is visible then - // Prompt for rendering style - if (renderStyle.equalsIgnoreCase("Prompt each time") - && !isHeadless()) - { - HTMLOptions svgOption = new HTMLOptions(); - renderStyle = svgOption.getValue(); - - if (renderStyle == null || svgOption.cancelled) - { - setProgressMessage(MessageManager.formatMessage( - "status.cancelled_image_export_operation", "HTML")); - return; - } - } - - if (renderStyle.equalsIgnoreCase("Lineart")) - { - idPanelGraphics.setRenderingHint(SVGHints.KEY_DRAW_STRING_TYPE, - SVGHints.VALUE_DRAW_STRING_TYPE_VECTOR); - alignPanelGraphics.setRenderingHint( - SVGHints.KEY_DRAW_STRING_TYPE, - SVGHints.VALUE_DRAW_STRING_TYPE_VECTOR); - } - if (ap.av.getWrapAlignment()) - { - printWrapped(aDimension.getWidth(), aDimension.getHeight(), 0, - alignPanelGraphics); - } - else - { - printUnwrapped(aDimension.getWidth(), aDimension.getHeight(), 0, - idPanelGraphics, alignPanelGraphics); - } - - String idPanelSvgData = idPanelGraphics.getSVGDocument(); - String alignPanelSvgData = alignPanelGraphics.getSVGDocument(); - String jsonData = getBioJSONData(); - String htmlData = getHtml(idPanelSvgData, alignPanelSvgData, jsonData, - ap.av.getWrapAlignment()); - FileOutputStream out = new FileOutputStream(generatedFile); - out.write(htmlData.getBytes()); - out.flush(); - out.close(); - exportCompleted(); - } catch (OutOfMemoryError err) - { - System.out.println("########################\n" - + "OUT OF MEMORY " + generatedFile + "\n" - + "########################"); - new OOMWarning("Creating Image for " + generatedFile, err); - } catch (Exception e) - { - e.printStackTrace(); - setProgressMessage(MessageManager.formatMessage( - "info.error_creating_file", "HTML")); - } - setProgressMessage(MessageManager.formatMessage( - "status.export_complete", "HTML")); - } - }.start(); - - } - - - static JalviewFileChooser getHTMLChooser() - { - return new jalview.io.JalviewFileChooser( - jalview.bin.Cache.getProperty("LAST_DIRECTORY"), - new String[] { "html" }, - new String[] { "Hypertext Markup Language" }, - "Hypertext Markup Language"); + new Thread(this).start(); } - public int printUnwrapped(int pwidth, int pheight, int pi, Graphics... pg) + public int printUnwrapped(int pwidth, int pheight, int pi, + Graphics idGraphics, Graphics alignmentGraphics) throws PrinterException { - return ap.printUnwrapped(pwidth, pheight, pi, pg); + return ap.printUnwrapped(pwidth, pheight, pi, idGraphics, + alignmentGraphics); } public int printWrapped(int pwidth, int pheight, int pi, Graphics... pg) @@ -241,11 +156,9 @@ public class HtmlSvgOutput extends HTMLOutput .append(alignmentSvg).append(""); htmlSvg.append("\n" + "\n"); - } // javascript for launching file in Jalview - htmlSvg.append("