git://source.jalview.org
/
jalview.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
e176744
)
JAL-1976 Added progress indicators for HTML_SVG and BioJS export operations
author
tcofoegbu
<tcnofoegbu@dundee.ac.uk>
Tue, 9 Feb 2016 13:05:31 +0000
(13:05 +0000)
committer
tcofoegbu
<tcnofoegbu@dundee.ac.uk>
Tue, 9 Feb 2016 13:05:31 +0000
(13:05 +0000)
resources/lang/Messages.properties
patch
|
blob
|
history
src/jalview/gui/AlignFrame.java
patch
|
blob
|
history
src/jalview/io/BioJsHTMLOutput.java
patch
|
blob
|
history
src/jalview/io/HtmlSvgOutput.java
patch
|
blob
|
history
diff --git
a/resources/lang/Messages.properties
b/resources/lang/Messages.properties
index
db6cdad
..
e428989
100644
(file)
--- a/
resources/lang/Messages.properties
+++ b/
resources/lang/Messages.properties
@@
-1282,6
+1282,6
@@
exception.pdb_server_unreachable = Jalview is unable to reach the PDBe Solr serv
label.nw_mapping = Needleman & Wunsch Alignment
label.sifts_mapping = SIFTs Mapping
label.mapping_method = Sequence \u27f7 Structure mapping method
label.nw_mapping = Needleman & Wunsch Alignment
label.sifts_mapping = SIFTs Mapping
label.mapping_method = Sequence \u27f7 Structure mapping method
-status.waiting_for_user_to_select_output_file = Waiting for user to select {0} file
-status.cancelled_image_export_operation = Cancelled {0} export operation
+status.waiting_for_user_to_select_output_file = Waiting for user to select {0} file.
+status.cancelled_image_export_operation = Cancelled {0} export operation.
info.error_creating_file = Error creating {0} file.
\ No newline at end of file
info.error_creating_file = Error creating {0} file.
\ No newline at end of file
diff --git
a/src/jalview/gui/AlignFrame.java
b/src/jalview/gui/AlignFrame.java
index
c615f6c
..
a616dc0
100644
(file)
--- a/
src/jalview/gui/AlignFrame.java
+++ b/
src/jalview/gui/AlignFrame.java
@@
-1369,7
+1369,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
@Override
public void bioJSMenuItem_actionPerformed(ActionEvent e)
{
@Override
public void bioJSMenuItem_actionPerformed(ActionEvent e)
{
- BioJsHTMLOutput bjs = new BioJsHTMLOutput(alignPanel);
+ BioJsHTMLOutput bjs = new BioJsHTMLOutput(alignPanel, this);
bjs.exportJalviewAlignmentAsBioJsHtmlFile();
}
bjs.exportJalviewAlignmentAsBioJsHtmlFile();
}
diff --git
a/src/jalview/io/BioJsHTMLOutput.java
b/src/jalview/io/BioJsHTMLOutput.java
index
ac29d8e
..
9454cae
100644
(file)
--- a/
src/jalview/io/BioJsHTMLOutput.java
+++ b/
src/jalview/io/BioJsHTMLOutput.java
@@
-24,6
+24,7
@@
import jalview.api.AlignExportSettingI;
import jalview.api.AlignmentViewPanel;
import jalview.datamodel.AlignmentExportData;
import jalview.exceptions.NoFileSelectedException;
import jalview.api.AlignmentViewPanel;
import jalview.datamodel.AlignmentExportData;
import jalview.exceptions.NoFileSelectedException;
+import jalview.gui.IProgressIndicator;
import jalview.json.binding.biojs.BioJSReleasePojo;
import jalview.json.binding.biojs.BioJSRepositoryPojo;
import jalview.util.MessageManager;
import jalview.json.binding.biojs.BioJSReleasePojo;
import jalview.json.binding.biojs.BioJSRepositoryPojo;
import jalview.util.MessageManager;
@@
-44,6
+45,12
@@
public class BioJsHTMLOutput
{
private AlignmentViewPanel ap;
{
private AlignmentViewPanel ap;
+ private long pSessionId;
+
+ private IProgressIndicator pIndicator;
+
+ private boolean headless;
+
private static File currentBJSTemplateFile;
private static TreeMap<String, File> bioJsMSAVersions;
private static File currentBJSTemplateFile;
private static TreeMap<String, File> bioJsMSAVersions;
@@
-59,11
+66,16
@@
public class BioJsHTMLOutput
"biojs_template_git_repo",
"https://raw.githubusercontent.com/jalview/exporter-templates/master/biojs/package.json");
"biojs_template_git_repo",
"https://raw.githubusercontent.com/jalview/exporter-templates/master/biojs/package.json");
- public BioJsHTMLOutput(AlignmentViewPanel ap)
+ public BioJsHTMLOutput(AlignmentViewPanel ap,
+ IProgressIndicator pIndicator)
{
if (ap != null)
{
this.ap = ap;
{
if (ap != null)
{
this.ap = ap;
+ this.pSessionId = System.currentTimeMillis();
+ this.pIndicator = pIndicator;
+ this.headless = (System.getProperty("java.awt.headless") != null && System
+ .getProperty("java.awt.headless").equals("true"));
}
}
}
}
@@
-131,11
+143,18
@@
public class BioJsHTMLOutput
out.flush();
out.close();
jalview.util.BrowserLauncher.openURL("file:///" + outputFile);
out.flush();
out.close();
jalview.util.BrowserLauncher.openURL("file:///" + outputFile);
+ if (pIndicator != null && !headless)
+ {
+ pIndicator.setProgressBar(MessageManager.formatMessage(
+ "status.export_complete", "BioJS"), pSessionId);
+ }
} catch (NoFileSelectedException ex)
{
// do noting if no file was selected
} catch (Exception e)
{
} catch (NoFileSelectedException ex)
{
// do noting if no file was selected
} catch (Exception e)
{
+ pIndicator.setProgressBar(MessageManager.formatMessage(
+ "info.error_creating_file", "HTML"), pSessionId);
e.printStackTrace();
}
}
e.printStackTrace();
}
}
@@
-143,6
+162,13
@@
public class BioJsHTMLOutput
public String getOutputFile() throws NoFileSelectedException
{
String selectedFile = null;
public String getOutputFile() throws NoFileSelectedException
{
String selectedFile = null;
+ if (pIndicator != null && !headless)
+ {
+ pIndicator.setProgressBar(MessageManager.formatMessage(
+ "status.waiting_for_user_to_select_output_file", "HTML"),
+ pSessionId);
+ }
+
JalviewFileChooser jvFileChooser = new JalviewFileChooser(
jalview.bin.Cache.getProperty("LAST_DIRECTORY"),
new String[] { "html" }, new String[] { "HTML files" },
JalviewFileChooser jvFileChooser = new JalviewFileChooser(
jalview.bin.Cache.getProperty("LAST_DIRECTORY"),
new String[] { "html" }, new String[] { "HTML files" },
@@
-162,6
+188,9
@@
public class BioJsHTMLOutput
}
else
{
}
else
{
+ pIndicator.setProgressBar(MessageManager.formatMessage(
+ "status.cancelled_image_export_operation", "BioJS"),
+ pSessionId);
throw new NoFileSelectedException("No file was selected.");
}
return selectedFile;
throw new NoFileSelectedException("No file was selected.");
}
return selectedFile;
@@
-245,6
+274,7
@@
public class BioJsHTMLOutput
{
Thread updateThread = new Thread()
{
{
Thread updateThread = new Thread()
{
+ @Override
public void run()
{
try
public void run()
{
try
diff --git
a/src/jalview/io/HtmlSvgOutput.java
b/src/jalview/io/HtmlSvgOutput.java
index
6c2faca
..
b53cacd
100644
(file)
--- a/
src/jalview/io/HtmlSvgOutput.java
+++ b/
src/jalview/io/HtmlSvgOutput.java
@@
-27,6
+27,7
@@
import jalview.datamodel.SequenceI;
import jalview.gui.AlignViewport;
import jalview.gui.AlignmentPanel;
import jalview.gui.HTMLOptions;
import jalview.gui.AlignViewport;
import jalview.gui.AlignmentPanel;
import jalview.gui.HTMLOptions;
+import jalview.gui.IProgressIndicator;
import jalview.math.AlignmentDimension;
import jalview.util.MessageManager;
import jalview.math.AlignmentDimension;
import jalview.util.MessageManager;
@@
-59,11
+60,20
@@
public class HtmlSvgOutput
public void generateHtmlSvgOutput(File file)
{
public void generateHtmlSvgOutput(File file)
{
+ IProgressIndicator pIndicator = ap.alignFrame;
+ long pSessionId = System.currentTimeMillis();
try
{
try
{
+ boolean headless = (System.getProperty("java.awt.headless") != null && System
+ .getProperty("java.awt.headless").equals("true"));
if (file == null)
{
if (file == null)
{
-
+ if (pIndicator != null && !headless)
+ {
+ pIndicator.setProgressBar(MessageManager.formatMessage(
+ "status.waiting_for_user_to_select_output_file", "HTML"),
+ pSessionId);
+ }
JalviewFileChooser chooser = getHTMLChooser();
chooser.setFileView(new jalview.io.JalviewFileView());
chooser.setDialogTitle(ap.alignFrame.getTitle());
JalviewFileChooser chooser = getHTMLChooser();
chooser.setFileView(new jalview.io.JalviewFileView());
chooser.setDialogTitle(ap.alignFrame.getTitle());
@@
-78,6
+88,13
@@
public class HtmlSvgOutput
}
else
{
}
else
{
+
+ if (pIndicator != null && !headless)
+ {
+ pIndicator.setProgressBar(MessageManager.formatMessage(
+ "status.cancelled_image_export_operation", "HTML"),
+ pSessionId);
+ }
return;
}
}
return;
}
}
@@
-182,9
+199,16
@@
public class HtmlSvgOutput
{
jalview.util.BrowserLauncher.openURL("file:///" + file);
}
{
jalview.util.BrowserLauncher.openURL("file:///" + file);
}
+ if (pIndicator != null && !headless)
+ {
+ pIndicator.setProgressBar(MessageManager.formatMessage(
+ "status.export_complete", "HTML"), pSessionId);
+ }
} catch (Exception e)
{
e.printStackTrace();
} catch (Exception e)
{
e.printStackTrace();
+ pIndicator.setProgressBar(MessageManager.formatMessage(
+ "info.error_creating_file", "HTML"), pSessionId);
}
}
}
}