Merge branch 'develop' into spike/JAL-4047/JAL-4048_columns_in_sequenceID
[jalview.git] / src / jalview / io / HtmlSvgOutput.java
index 9fb3720..b5fdc2c 100644 (file)
@@ -25,7 +25,7 @@ import java.awt.print.PrinterException;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
-import java.util.concurrent.Callable;
+import java.util.Locale;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.jfree.graphics2d.svg.SVGGraphics2D;
@@ -202,32 +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
        */
-      Callable<Void> okAction = () -> {
+      Runnable okAction = () -> {
         doOutput(textOption.get());
-        return null;
       };
 
       /*
        * 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, () -> {
           setProgressMessage(MessageManager.formatMessage(
                   "status.cancelled_image_export_operation",
                   getDescription()));
-          return null;
         });
         svgOption.setResponseAction(0, okAction);
         svgOption.showDialog();
@@ -242,7 +249,7 @@ public class HtmlSvgOutput extends HTMLOutput
       }
     } catch (OutOfMemoryError err)
     {
-      System.out.println("########################\n" + "OUT OF MEMORY "
+      jalview.bin.Console.outPrintln("########################\n" + "OUT OF MEMORY "
               + generatedFile + "\n" + "########################");
       new OOMWarning("Creating Image for " + generatedFile, err);
     } catch (Exception e)