X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=85b6767f8c53e37c4f2034950ca5ea0e4916f893;hb=2e2e6d269fbaa505151fe777374f41111f2910d5;hp=db61f77f0ebbb7362f4cf5a8f713575c456be6ba;hpb=60bf4c4778ecca475a951c4dd00731933d0b7c59;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index db61f77..85b6767 100644 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -74,6 +74,7 @@ import jalview.analysis.CrossRef; import jalview.analysis.Dna; import jalview.analysis.ParseProperties; import jalview.analysis.SequenceIdMatcher; +import jalview.api.AlignExportSettingI; import jalview.api.AlignViewControllerGuiI; import jalview.api.AlignViewControllerI; import jalview.api.AlignViewportI; @@ -1140,7 +1141,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, return false; } - ExportData exportData = getAlignmentForExport(); + ExportData exportData = getAlignmentForExport(format); FormatAdapter f = new FormatAdapter(viewport); String output = f.formatSequences(format, exportData.getAlignment(), // class cast exceptions will @@ -1213,10 +1214,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, protected void outputText_actionPerformed(ActionEvent e) { - ExportData exportData = getAlignmentForExport(); + ExportData exportData = getAlignmentForExport(e.getActionCommand()); + if (exportData.getSettings().isCancelled()) + { + return; + } CutAndPasteTransfer cap = new CutAndPasteTransfer(); cap.setForInput(null); - try { cap.setText(new FormatAdapter(viewport).formatSequences( @@ -1235,7 +1239,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } - public ExportData getAlignmentForExport() + public ExportData getAlignmentForExport(String exportFomat) { AlignmentI alignmentToExport = null; String[] omitHidden = null; @@ -1250,36 +1254,29 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, alignmentStartEnd = new int[] { 0, alignmentToExport.getWidth() - 1 }; - if (viewport.hasHiddenColumns() || hiddenSeqs.getSize() > 0) - { - int reply = JOptionPane - .showInternalConfirmDialog( - Desktop.desktop, - MessageManager - .getString("label.alignment_contains_hidden_columns"), - MessageManager - .getString("action.save_omit_hidden_columns"), - JOptionPane.YES_NO_OPTION, - JOptionPane.QUESTION_MESSAGE); + boolean hasHiddenSeqs = hiddenSeqs.getSize() > 0; + AlignExportSettingI settings = new AlignExportSettings(hasHiddenSeqs, + viewport.hasHiddenColumns(), exportFomat); + viewport.setExportSettings(settings); + settings.isExportAnnotations(); - if (reply == JOptionPane.YES_OPTION) - { - // export only visible region - omitHidden = viewport.getViewAsString(false); - alignmentToExport = viewport.getAlignment(); - alignmentStartEnd = getStartEnd(alignmentStartEnd, viewport - .getColumnSelection().getHiddenColumns()); - viewport.setIncludeHiddenRegion(false); - } - else - { - // export all region including visible - alignmentToExport = hiddenSeqs.getFullAlignment(); - viewport.setIncludeHiddenRegion(true); - } + if (viewport.hasHiddenColumns() && !settings.isExportHiddenColumns()) + { + omitHidden = viewport.getViewAsString(false); } - return new ExportData(alignmentToExport, omitHidden, alignmentStartEnd); + if (hasHiddenSeqs && settings.isExportHiddenSequences()) + { + alignmentToExport = hiddenSeqs.getFullAlignment(); + } + else + { + alignmentToExport = viewport.getAlignment(); + alignmentStartEnd = getStartEnd(alignmentStartEnd, viewport + .getColumnSelection().getHiddenColumns()); + } + return new ExportData(alignmentToExport, omitHidden, alignmentStartEnd, + settings); } private static int[] getStartEnd(int[] aligmentStartEnd, @@ -1352,9 +1349,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, @Override protected void htmlMenuItem_actionPerformed(ActionEvent e) { - // new HTMLOutput(alignPanel, - // alignPanel.getSeqPanel().seqCanvas.getSequenceRenderer(), - // alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer()); new HtmlSvgOutput(null, alignPanel); } @@ -6094,11 +6088,15 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, private int[] startEnd; - public ExportData(AlignmentI align, String[] ommit, int[] startEnd) + private AlignExportSettingI settings; + + public ExportData(AlignmentI align, String[] ommit, int[] startEnd, + AlignExportSettingI settings) { this.alignment = align; this.omitHidden = ommit; this.startEnd = startEnd; + this.settings = settings; } public AlignmentI getAlignment() @@ -6130,6 +6128,16 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { this.startEnd = startEnd; } + + public AlignExportSettingI getSettings() + { + return settings; + } + + public void setSettings(AlignExportSettingI settings) + { + this.settings = settings; + } } }