X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FHtmlSvgOutput.java;h=e554b8e58dc7da239cb3e532fbecd25391d789fb;hb=3fd32306db772b6d6756ca20d33519edeb353c2d;hp=387d3743d28ccd08f1609dcf36d023a0e6492407;hpb=4d7f98a6dd54d9863ba449ec79dcd95d25ed863d;p=jalview.git diff --git a/src/jalview/io/HtmlSvgOutput.java b/src/jalview/io/HtmlSvgOutput.java index 387d374..e554b8e 100644 --- a/src/jalview/io/HtmlSvgOutput.java +++ b/src/jalview/io/HtmlSvgOutput.java @@ -1,3 +1,23 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.io; import jalview.api.AlignExportSettingI; @@ -7,6 +27,8 @@ import jalview.datamodel.SequenceI; import jalview.gui.AlignViewport; import jalview.gui.AlignmentPanel; import jalview.gui.HTMLOptions; +import jalview.gui.IProgressIndicator; +import jalview.gui.OOMWarning; import jalview.math.AlignmentDimension; import jalview.util.MessageManager; @@ -39,11 +61,20 @@ public class HtmlSvgOutput public void generateHtmlSvgOutput(File file) { + IProgressIndicator pIndicator = ap.alignFrame; + long pSessionId = System.currentTimeMillis(); try { + boolean headless = (System.getProperty("java.awt.headless") != null && System + .getProperty("java.awt.headless").equals("true")); 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()); @@ -56,6 +87,17 @@ public class HtmlSvgOutput .getSelectedFile().getParent()); file = chooser.getSelectedFile(); } + else + { + + if (pIndicator != null && !headless) + { + pIndicator.setProgressBar(MessageManager.formatMessage( + "status.cancelled_image_export_operation", "HTML"), + pSessionId); + } + return; + } } AlignmentDimension aDimension = ap.getAlignmentDimension(); @@ -158,9 +200,21 @@ public class HtmlSvgOutput { jalview.util.BrowserLauncher.openURL("file:///" + file); } + if (pIndicator != null && !headless) + { + pIndicator.setProgressBar(MessageManager.formatMessage( + "status.export_complete", "HTML"), pSessionId); + } + } catch (OutOfMemoryError err) + { + System.out.println("########################\n" + "OUT OF MEMORY " + + file + "\n" + "########################"); + new OOMWarning("Creating Image for " + file, err); } catch (Exception e) { e.printStackTrace(); + pIndicator.setProgressBar(MessageManager.formatMessage( + "info.error_creating_file", "HTML"), pSessionId); } }