X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FHtmlSvgOutput.java;h=4b66f810045d578dfbfc5b50ce37815d306977ef;hb=5a352aa2f3330ae269d9b70c4a7374c2518bfb2e;hp=30c40a909113e1983fe18055e34ba739e6d5afc0;hpb=fe8a4b9cb2b7242c902259aab79ecc0637c6c370;p=jalview.git diff --git a/src/jalview/io/HtmlSvgOutput.java b/src/jalview/io/HtmlSvgOutput.java index 30c40a9..4b66f81 100644 --- a/src/jalview/io/HtmlSvgOutput.java +++ b/src/jalview/io/HtmlSvgOutput.java @@ -21,13 +21,11 @@ package jalview.io; import jalview.bin.Cache; -import jalview.exceptions.NoFileSelectedException; import jalview.gui.AlignmentPanel; import jalview.gui.LineartOptions; import jalview.gui.OOMWarning; import jalview.math.AlignmentDimension; import jalview.util.MessageManager; -import jalview.util.dialogrunner.RunResponse; import java.awt.Graphics; import java.awt.print.PrinterException; @@ -36,43 +34,14 @@ import java.io.FileOutputStream; import java.io.IOException; import java.util.concurrent.atomic.AtomicBoolean; -import javax.swing.JOptionPane; - import org.jfree.graphics2d.svg.SVGGraphics2D; import org.jfree.graphics2d.svg.SVGHints; public class HtmlSvgOutput extends HTMLOutput { - public HtmlSvgOutput(AlignmentPanel ap) { - super(ap); - } - - @Override - public void exportHTML(String outputFile) - { - exportStarted(); - try - { - if (outputFile == null) - { - outputFile = getOutputFile(); - } - generatedFile = new File(outputFile); - } catch (NoFileSelectedException e) - { - setProgressMessage(MessageManager.formatMessage( - "status.cancelled_image_export_operation", "HTML")); - return; - } catch (Exception e) - { - setProgressMessage(MessageManager - .formatMessage("info.error_creating_file", "HTML")); - e.printStackTrace(); - return; - } - new Thread(this).start(); + super(ap, "HTML"); } public int printUnwrapped(int pwidth, int pheight, int pi, @@ -89,8 +58,8 @@ public class HtmlSvgOutput extends HTMLOutput return ap.printWrappedAlignment(pwidth, pheight, pi, pg[0]); } - String getHtml(String titleSvg, String alignmentSvg, - String jsonData, boolean wrapped) + String getHtml(String titleSvg, String alignmentSvg, String jsonData, + boolean wrapped) { StringBuilder htmlSvg = new StringBuilder(); htmlSvg.append("\n"); @@ -219,8 +188,8 @@ public class HtmlSvgOutput extends HTMLOutput @Override public boolean isEmbedData() { - return Boolean.valueOf( - jalview.bin.Cache.getDefault("EXPORT_EMBBED_BIOJSON", "true")); + return Boolean + .valueOf(Cache.getDefault("EXPORT_EMBBED_BIOJSON", "true")); } @Override @@ -230,20 +199,10 @@ public class HtmlSvgOutput extends HTMLOutput } @Override - public File getExportedFile() - { - return generatedFile; - } - - @Override public void run() { try { - setProgressMessage(null); - setProgressMessage(MessageManager.formatMessage( - "status.exporting_alignment_as_x_file", "HTML")); - String renderStyle = Cache.getDefault("HTML_RENDERING", "Prompt each time"); AtomicBoolean textOption = new AtomicBoolean( @@ -252,7 +211,7 @@ public class HtmlSvgOutput extends HTMLOutput /* * configure the action to run on OK in the dialog */ - RunResponse okAction = new RunResponse(JOptionPane.OK_OPTION) + Runnable okAction = new Runnable() { @Override public void run() @@ -266,18 +225,18 @@ public class HtmlSvgOutput extends HTMLOutput */ if (renderStyle.equalsIgnoreCase("Prompt each time") && !isHeadless()) { - LineartOptions svgOption = new LineartOptions("HTML_RENDERING", - "HTML", textOption); - svgOption.setResponseAction(new RunResponse(JOptionPane.NO_OPTION) + LineartOptions svgOption = new LineartOptions("HTML", textOption); + svgOption.setResponseAction(1, new Runnable() { @Override public void run() { setProgressMessage(MessageManager.formatMessage( - "status.cancelled_image_export_operation", "HTML")); + "status.cancelled_image_export_operation", + getDescription())); } }); - svgOption.setResponseAction(okAction); + svgOption.setResponseAction(0, okAction); svgOption.showDialog(); /* no code here - JalviewJS cannot execute it */ } @@ -297,7 +256,7 @@ public class HtmlSvgOutput extends HTMLOutput { e.printStackTrace(); setProgressMessage(MessageManager - .formatMessage("info.error_creating_file", "HTML")); + .formatMessage("info.error_creating_file", getDescription())); } } @@ -319,11 +278,9 @@ public class HtmlSvgOutput extends HTMLOutput aDimension.getWidth(), aDimension.getHeight()); if (!textCharacters) // Lineart selected { - idPanelGraphics.setRenderingHint( - SVGHints.KEY_DRAW_STRING_TYPE, + idPanelGraphics.setRenderingHint(SVGHints.KEY_DRAW_STRING_TYPE, SVGHints.VALUE_DRAW_STRING_TYPE_VECTOR); - alignPanelGraphics.setRenderingHint( - SVGHints.KEY_DRAW_STRING_TYPE, + alignPanelGraphics.setRenderingHint(SVGHints.KEY_DRAW_STRING_TYPE, SVGHints.VALUE_DRAW_STRING_TYPE_VECTOR); } if (ap.av.getWrapAlignment()) @@ -333,27 +290,27 @@ public class HtmlSvgOutput extends HTMLOutput } else { - printUnwrapped(aDimension.getWidth(), aDimension.getHeight(), - 0, idPanelGraphics, alignPanelGraphics); + 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()); + String htmlData = getHtml(idPanelSvgData, alignPanelSvgData, jsonData, + ap.av.getWrapAlignment()); FileOutputStream out = new FileOutputStream(generatedFile); out.write(htmlData.getBytes()); out.flush(); out.close(); setProgressMessage(MessageManager - .formatMessage("status.export_complete", "HTML")); + .formatMessage("status.export_complete", getDescription())); exportCompleted(); } catch (Exception e) { e.printStackTrace(); setProgressMessage(MessageManager - .formatMessage("info.error_creating_file", "HTML")); + .formatMessage("info.error_creating_file", getDescription())); } } }