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;
import jalview.api.ViewStyleI;
import jalview.api.analysis.ScoreModelI;
import jalview.bin.Cache;
+import jalview.bin.Jalview;
import jalview.commands.CommandI;
import jalview.commands.EditCommand;
import jalview.commands.EditCommand.Action;
import jalview.datamodel.AlignedCodonFrame;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentExportData;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.AlignmentOrder;
import jalview.datamodel.AlignmentView;
*/
void init()
{
- progressBar = new ProgressBar(this.statusPanel, this.statusBar);
+ if (!Jalview.isHeadlessMode())
+ {
+ progressBar = new ProgressBar(this.statusPanel, this.statusBar);
+ }
avc = new jalview.controller.AlignViewController(this, viewport,
alignPanel);
{
warningMessage("Cannot save file " + fileName + " using format "
+ format, "Alignment output format not supported");
- saveAs_actionPerformed(null);
- // JBPNote need to have a raise_gui flag here
+ if (!Jalview.isHeadlessMode())
+ {
+ saveAs_actionPerformed(null);
+ }
return false;
}
- ExportData exportData = getAlignmentForExport(format);
- FormatAdapter f = new FormatAdapter(alignPanel);
+ AlignmentExportData exportData = getAlignmentForExport(format, viewport);
+ if (exportData.getSettings().isCancelled())
+ {
+ return false;
+ }
+ FormatAdapter f = new FormatAdapter(alignPanel,
+ exportData.getSettings());
String output = f.formatSequences(format,
exportData.getAlignment(), // class cast exceptions will
// occur in the distant future
protected void outputText_actionPerformed(ActionEvent e)
{
- ExportData exportData = getAlignmentForExport(e.getActionCommand());
+ AlignmentExportData exportData = getAlignmentForExport(
+ e.getActionCommand(), viewport);
if (exportData.getSettings().isCancelled())
{
return;
}
- public ExportData getAlignmentForExport(String exportFomat)
+ public static AlignmentExportData getAlignmentForExport(String exportFomat,
+ AlignViewportI viewport)
{
AlignmentI alignmentToExport = null;
String[] omitHidden = null;
{ 0, alignmentToExport.getWidth() - 1 };
boolean hasHiddenSeqs = hiddenSeqs.getSize() > 0;
- AlignExportSettingI settings = new AlignExportSettings(hasHiddenSeqs,
+ AlignExportSettings settings = new AlignExportSettings(hasHiddenSeqs,
viewport.hasHiddenColumns(), exportFomat);
settings.isExportAnnotations();
alignmentStartEnd = getStartEnd(alignmentStartEnd, viewport
.getColumnSelection().getHiddenColumns());
}
- return new ExportData(alignmentToExport, omitHidden, alignmentStartEnd,
+ AlignmentExportData ed = new AlignmentExportData(alignmentToExport, omitHidden, alignmentStartEnd,
settings);
+ return ed;
}
private static int[] getStartEnd(int[] aligmentStartEnd,
viewport.getSelectionGroup().getEndRes() + groupAdjustment);
}
+ /*
+ * just extend the last slide command if compatible; but not if in
+ * SplitFrame mode (to ensure all edits are broadcast - JAL-1802)
+ */
boolean appendHistoryItem = false;
Deque<CommandI> historyList = viewport.getHistoryList();
- if (historyList != null
+ boolean inSplitFrame = getSplitViewContainer() != null;
+ if (!inSplitFrame && historyList != null
&& historyList.size() > 0
&& historyList.peek() instanceof SlideSequencesCommand)
{
// temporary flag until SplitFrame is released
boolean asSplitFrame = Cache.getDefault(
- Preferences.ENABLE_SPLIT_FRAME, false);
+ Preferences.ENABLE_SPLIT_FRAME, true);
if (asSplitFrame)
{
/*
"label.translation_of_params", new Object[]
{ this.getTitle() });
af.setTitle(newTitle);
- if (Cache.getDefault(Preferences.ENABLE_SPLIT_FRAME, false))
+ if (Cache.getDefault(Preferences.ENABLE_SPLIT_FRAME, true))
{
final SequenceI[] seqs = viewport.getSelectionAsNewSequence();
viewport.openSplitFrame(af, new Alignment(seqs),
aa.visible = visible;
}
}
- alignPanel.validateAnnotationDimensions(false);
+ alignPanel.validateAnnotationDimensions(true);
alignPanel.alignmentChanged();
}
}
}
- public class ExportData
- {
- private AlignmentI alignment;
-
- private String[] omitHidden;
-
- private 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()
- {
- return alignment;
- }
-
- public void setAlignment(AlignmentI alignment)
- {
- this.alignment = alignment;
- }
-
- public String[] getOmitHidden()
- {
- return omitHidden;
- }
-
- public void setOmitHidden(String[] omitHidden)
- {
- this.omitHidden = omitHidden;
- }
-
- public int[] getStartEndPostions()
- {
- return startEnd;
- }
-
- public void setStartEndPostions(int[] startEnd)
- {
- this.startEnd = startEnd;
- }
-
- public AlignExportSettingI getSettings()
- {
- return settings;
- }
-
- public void setSettings(AlignExportSettingI settings)
- {
- this.settings = settings;
- }
- }
-
}
class PrintThread extends Thread