Revert "JAL-2799 all tabs now get mouse listeners and Jalview switches tree view"
[jalview.git] / src / jalview / io / HTMLOutput.java
index f7179cf..eb44180 100644 (file)
  */
 package jalview.io;
 
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.Objects;
+
 import jalview.api.AlignExportSettingsI;
 import jalview.bin.Cache;
 import jalview.datamodel.AlignExportSettingsAdapter;
@@ -28,34 +35,38 @@ import jalview.gui.AlignmentPanel;
 import jalview.gui.IProgressIndicator;
 import jalview.util.MessageManager;
 
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.Objects;
-
 public abstract class HTMLOutput implements Runnable
 {
   protected AlignmentPanel ap;
 
+  /*
+   * key for progress or status messages
+   */
   protected long pSessionId;
 
+  /*
+   * (optional) place to write progress messages to
+   */
   protected IProgressIndicator pIndicator;
 
   protected File generatedFile;
 
   String _bioJson = null;
 
+  private String description;
+
   /**
    * Constructor given an alignment panel (which should not be null)
    * 
    * @param ap
+   * @param desc
    */
-  public HTMLOutput(AlignmentPanel ap)
+  public HTMLOutput(AlignmentPanel ap, String desc)
   {
     this.ap = ap;
     this.pIndicator = ap.alignFrame;
+    this.description = desc;
+    this.pSessionId = System.currentTimeMillis();
   }
 
   /**
@@ -243,16 +254,6 @@ public abstract class HTMLOutput implements Runnable
 
   /**
    * This method provides implementation of consistent behaviour which should
-   * occur before a HTML file export. It MUST be called at the start of the
-   * exportHTML() method implementation.
-   */
-  protected void exportStarted()
-  {
-    pSessionId = System.currentTimeMillis();
-  }
-
-  /**
-   * This method provides implementation of consistent behaviour which should
    * occur after a HTML file export. It MUST be called at the end of the
    * exportHTML() method implementation.
    */
@@ -260,14 +261,17 @@ public abstract class HTMLOutput implements Runnable
   {
     if (isLaunchInBrowserAfterExport() && !isHeadless())
     {
+      /*
       try
       {
-        jalview.util.BrowserLauncher
-                .openURL("file:///" + getExportedFile());
+      */
+      jalview.util.BrowserLauncher.openURL("file:///" + getExportedFile());
+      /*
       } catch (IOException e)
       {
         e.printStackTrace();
       }
+      */
     }
   }
 
@@ -299,7 +303,8 @@ public abstract class HTMLOutput implements Runnable
 
   public void exportHTML(String outputFile)
   {
-    exportStarted();
+    setProgressMessage(MessageManager.formatMessage(
+            "status.exporting_alignment_as_x_file", getDescription()));
     try
     {
       if (outputFile == null)
@@ -325,7 +330,7 @@ public abstract class HTMLOutput implements Runnable
       return;
     }
     new Thread(this).start();
-  
+
   }
 
   /**
@@ -334,5 +339,8 @@ public abstract class HTMLOutput implements Runnable
    * 
    * @return
    */
-  protected abstract String getDescription();
+  protected final String getDescription()
+  {
+    return description;
+  }
 }
\ No newline at end of file