X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fio%2FHtmlSvgOutput.java;h=4ea3000b05ed4ab7a69d388d5566120305b9e189;hb=refs%2Fheads%2Fimprovement%2FJAL-4381_dynamic_value_colouring_of_annotations;hp=b8241c8763662923e234a55e2f7d16e0d1f7282d;hpb=2afa9987e7d3276b4525abb28767617732e6e7cf;p=jalview.git diff --git a/src/jalview/io/HtmlSvgOutput.java b/src/jalview/io/HtmlSvgOutput.java index b8241c8..4ea3000 100644 --- a/src/jalview/io/HtmlSvgOutput.java +++ b/src/jalview/io/HtmlSvgOutput.java @@ -20,23 +20,24 @@ */ package jalview.io; -import jalview.bin.Cache; -import jalview.gui.AlignmentPanel; -import jalview.gui.LineartOptions; -import jalview.gui.OOMWarning; -import jalview.math.AlignmentDimension; -import jalview.util.MessageManager; - import java.awt.Graphics; import java.awt.print.PrinterException; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.util.Locale; import java.util.concurrent.atomic.AtomicBoolean; import org.jfree.graphics2d.svg.SVGGraphics2D; import org.jfree.graphics2d.svg.SVGHints; +import jalview.bin.Cache; +import jalview.gui.AlignmentPanel; +import jalview.gui.LineartOptions; +import jalview.gui.OOMWarning; +import jalview.math.AlignmentDimension; +import jalview.util.MessageManager; + public class HtmlSvgOutput extends HTMLOutput { public HtmlSvgOutput(AlignmentPanel ap) @@ -58,8 +59,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"); @@ -188,8 +189,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 @@ -201,40 +202,39 @@ public class HtmlSvgOutput extends HTMLOutput @Override public void run() { + run(null); + } + + @Override + public void run(String renderer) + { try { - String renderStyle = Cache.getDefault("HTML_RENDERING", - "Prompt each time"); + String renderStyle = renderer == null + ? Cache.getDefault("HTML_RENDERING", + LineartOptions.PROMPT_EACH_TIME) + : renderer; AtomicBoolean textOption = new AtomicBoolean( - !"Lineart".equals(renderStyle)); + !"lineart".equals(renderStyle.toLowerCase(Locale.ROOT))); /* * configure the action to run on OK in the dialog */ - Runnable okAction = new Runnable() - { - @Override - public void run() - { - doOutput(textOption.get()); - } + Runnable okAction = () -> { + doOutput(textOption.get()); }; /* * Prompt for character rendering style if preference is not set */ - if (renderStyle.equalsIgnoreCase("Prompt each time") && !isHeadless()) + if (renderStyle.equalsIgnoreCase(LineartOptions.PROMPT_EACH_TIME) + && !isHeadless()) { LineartOptions svgOption = new LineartOptions("HTML", textOption); - svgOption.setResponseAction(1, new Runnable() - { - @Override - public void run() - { - setProgressMessage(MessageManager.formatMessage( - "status.cancelled_image_export_operation", - getDescription())); - } + svgOption.setResponseAction(1, () -> { + setProgressMessage(MessageManager.formatMessage( + "status.cancelled_image_export_operation", + getDescription())); }); svgOption.setResponseAction(0, okAction); svgOption.showDialog(); @@ -249,8 +249,9 @@ public class HtmlSvgOutput extends HTMLOutput } } catch (OutOfMemoryError err) { - System.out.println("########################\n" + "OUT OF MEMORY " - + generatedFile + "\n" + "########################"); + jalview.bin.Console + .outPrintln("########################\n" + "OUT OF MEMORY " + + generatedFile + "\n" + "########################"); new OOMWarning("Creating Image for " + generatedFile, err); } catch (Exception e) { @@ -278,11 +279,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()) @@ -292,15 +291,15 @@ 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();