git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
JAL-3390 pull-up refactoring towards functional changes...
[jalview.git]
/
src
/
jalview
/
gui
/
AlignFrame.java
diff --git
a/src/jalview/gui/AlignFrame.java
b/src/jalview/gui/AlignFrame.java
index
0aa1a6b
..
c847260
100644
(file)
--- a/
src/jalview/gui/AlignFrame.java
+++ b/
src/jalview/gui/AlignFrame.java
@@
-24,6
+24,7
@@
import jalview.analysis.AlignmentSorter;
import jalview.analysis.AlignmentUtils;
import jalview.analysis.CrossRef;
import jalview.analysis.Dna;
import jalview.analysis.AlignmentUtils;
import jalview.analysis.CrossRef;
import jalview.analysis.Dna;
+import jalview.analysis.GeneticCodeI;
import jalview.analysis.ParseProperties;
import jalview.analysis.SequenceIdMatcher;
import jalview.api.AlignExportSettingI;
import jalview.analysis.ParseProperties;
import jalview.analysis.SequenceIdMatcher;
import jalview.api.AlignExportSettingI;
@@
-32,6
+33,7
@@
import jalview.api.AlignViewControllerI;
import jalview.api.AlignViewportI;
import jalview.api.AlignmentViewPanel;
import jalview.api.FeatureSettingsControllerI;
import jalview.api.AlignViewportI;
import jalview.api.AlignmentViewPanel;
import jalview.api.FeatureSettingsControllerI;
+import jalview.api.FeatureSettingsModelI;
import jalview.api.SplitContainerI;
import jalview.api.ViewStyleI;
import jalview.api.analysis.SimilarityParamsI;
import jalview.api.SplitContainerI;
import jalview.api.ViewStyleI;
import jalview.api.analysis.SimilarityParamsI;
@@
-64,6
+66,7
@@
import jalview.gui.ColourMenuHelper.ColourChangeListener;
import jalview.gui.ViewSelectionMenu.ViewSetProvider;
import jalview.io.AlignmentProperties;
import jalview.io.AnnotationFile;
import jalview.gui.ViewSelectionMenu.ViewSetProvider;
import jalview.io.AlignmentProperties;
import jalview.io.AnnotationFile;
+import jalview.io.BackupFiles;
import jalview.io.BioJsHTMLOutput;
import jalview.io.DataSourceType;
import jalview.io.FileFormat;
import jalview.io.BioJsHTMLOutput;
import jalview.io.DataSourceType;
import jalview.io.FileFormat;
@@
-395,8
+398,8
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
addKeyListener();
addKeyListener();
- final List<AlignmentPanel> selviews = new ArrayList<>();
- final List<AlignmentPanel> origview = new ArrayList<>();
+ final List<AlignmentViewPanel> selviews = new ArrayList<>();
+ final List<AlignmentViewPanel> origview = new ArrayList<>();
final String menuLabel = MessageManager
.getString("label.copy_format_from");
ViewSelectionMenu vsel = new ViewSelectionMenu(menuLabel,
final String menuLabel = MessageManager
.getString("label.copy_format_from");
ViewSelectionMenu vsel = new ViewSelectionMenu(menuLabel,
@@
-404,7
+407,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
{
@Override
{
@Override
- public AlignmentPanel[] getAllAlignmentPanels()
+ public AlignmentViewPanel[] getAllAlignmentPanels()
{
origview.clear();
origview.add(alignPanel);
{
origview.clear();
origview.add(alignPanel);
@@
-422,7
+425,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
{
if (origview.size() > 0)
{
{
if (origview.size() > 0)
{
- final AlignmentPanel ap = origview.get(0);
+ final AlignmentViewPanel avp = origview.get(0);
/*
* Copy the ViewStyle of the selected panel to 'this one'.
/*
* Copy the ViewStyle of the selected panel to 'this one'.
@@
-435,10
+438,10
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
.getAlignViewport().getCodingComplement() != null;
if (!fromSplitFrame)
{
.getAlignViewport().getCodingComplement() != null;
if (!fromSplitFrame)
{
- vs.setScaleProteinAsCdna(ap.getAlignViewport()
+ vs.setScaleProteinAsCdna(avp.getAlignViewport()
.getViewStyle().isScaleProteinAsCdna());
}
.getViewStyle().isScaleProteinAsCdna());
}
- ap.getAlignViewport().setViewStyle(vs);
+ avp.getAlignViewport().setViewStyle(vs);
/*
* Also rescale ViewStyle of SplitFrame complement if there is
/*
* Also rescale ViewStyle of SplitFrame complement if there is
@@
-446,7
+449,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
* the whole ViewStyle (allow cDNA protein to have different
* fonts)
*/
* the whole ViewStyle (allow cDNA protein to have different
* fonts)
*/
- AlignViewportI complement = ap.getAlignViewport()
+ AlignViewportI complement = avp.getAlignViewport()
.getCodingComplement();
if (complement != null && vs.isScaleProteinAsCdna())
{
.getCodingComplement();
if (complement != null && vs.isScaleProteinAsCdna())
{
@@
-456,10
+459,10
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
af.setMenusForViewport();
}
af.setMenusForViewport();
}
+ AlignmentPanel ap = (AlignmentPanel) avp;
ap.updateLayout();
ap.setSelected(true);
ap.alignFrame.setMenusForViewport();
ap.updateLayout();
ap.setSelected(true);
ap.alignFrame.setMenusForViewport();
-
}
}
});
}
}
});
@@
-734,9
+737,9
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
int aSize = alignPanels.size();
int aSize = alignPanels.size();
- tabbedPane.setVisible(aSize > 1 || ap.av.viewName != null);
+ tabbedPane.setVisible(aSize > 1 || ap.av.getViewName() != null);
- if (aSize == 1 && ap.av.viewName == null)
+ if (aSize == 1 && ap.av.getViewName() == null)
{
this.getContentPane().add(ap, BorderLayout.CENTER);
}
{
this.getContentPane().add(ap, BorderLayout.CENTER);
}
@@
-749,7
+752,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
expandViews.setEnabled(true);
gatherViews.setEnabled(true);
expandViews.setEnabled(true);
gatherViews.setEnabled(true);
- tabbedPane.addTab(ap.av.viewName, ap);
+ tabbedPane.addTab(ap.av.getViewName(), ap);
ap.setVisible(false);
}
ap.setVisible(false);
}
@@
-772,7
+775,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
gatherViews.setEnabled(true);
tabbedPane.setVisible(true);
AlignmentPanel first = alignPanels.get(0);
gatherViews.setEnabled(true);
tabbedPane.setVisible(true);
AlignmentPanel first = alignPanels.get(0);
- tabbedPane.addTab(first.av.viewName, first);
+ tabbedPane.addTab(first.av.getViewName(), first);
this.getContentPane().add(tabbedPane, BorderLayout.CENTER);
}
this.getContentPane().add(tabbedPane, BorderLayout.CENTER);
}
@@
-873,7
+876,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
* @param av
* AlignViewport
*/
* @param av
* AlignViewport
*/
- void setMenusFromViewport(AlignViewport av)
+ public void setMenusFromViewport(AlignViewport av)
{
padGapsMenuitem.setSelected(av.isPadGaps());
colourTextMenuItem.setSelected(av.isShowColourText());
{
padGapsMenuitem.setSelected(av.isPadGaps());
colourTextMenuItem.setSelected(av.isShowColourText());
@@
-964,10
+967,15
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
return progressBar.operationInProgress();
}
return progressBar.operationInProgress();
}
+ /**
+ * Sets the text of the status bar. Note that setting a null or empty value
+ * will cause the status bar to be hidden, with possibly undesirable flicker
+ * of the screen layout.
+ */
@Override
public void setStatus(String text)
{
@Override
public void setStatus(String text)
{
- statusBar.setText(text);
+ statusBar.setText(text == null || text.isEmpty() ? " " : text);
}
/*
}
/*
@@
-1155,7
+1163,8
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
shortName.lastIndexOf(java.io.File.separatorChar) + 1);
}
shortName.lastIndexOf(java.io.File.separatorChar) + 1);
}
- success = new Jalview2XML().saveAlignment(this, file, shortName);
+ success = new jalview.project.Jalview2XML().saveAlignment(this, file,
+ shortName);
statusBar.setText(MessageManager.formatMessage(
"label.successfully_saved_to_file_in_format", new Object[]
statusBar.setText(MessageManager.formatMessage(
"label.successfully_saved_to_file_in_format", new Object[]
@@
-1187,9
+1196,13
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
}
else
{
}
else
{
+ // create backupfiles object and get new temp filename destination
+ BackupFiles backupfiles = new BackupFiles(file);
+
try
{
try
{
- PrintWriter out = new PrintWriter(new FileWriter(file));
+ PrintWriter out = new PrintWriter(
+ new FileWriter(backupfiles.getTempFilePath()));
out.print(output);
out.close();
out.print(output);
out.close();
@@
-1202,6
+1215,11
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
success = false;
ex.printStackTrace();
}
success = false;
ex.printStackTrace();
}
+
+ backupfiles.setWriteSuccess(success);
+ // do the backup file roll and rename the temp file to actual file
+ success = backupfiles.rollBackupsAndRenameTempFile();
+
}
}
}
}
@@
-2075,7
+2093,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
newGraphGroups.add(q, null);
}
newGraphGroups.set(newann.graphGroup,
newGraphGroups.add(q, null);
}
newGraphGroups.set(newann.graphGroup,
- new Integer(++fgroup));
+ Integer.valueOf(++fgroup));
}
newann.graphGroup = newGraphGroups.get(newann.graphGroup)
.intValue();
}
newann.graphGroup = newGraphGroups.get(newann.graphGroup)
.intValue();
@@
-2122,7
+2140,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
newGraphGroups.add(q, null);
}
newGraphGroups.set(newann.graphGroup,
newGraphGroups.add(q, null);
}
newGraphGroups.set(newann.graphGroup,
- new Integer(++fgroup));
+ Integer.valueOf(++fgroup));
}
newann.graphGroup = newGraphGroups.get(newann.graphGroup)
.intValue();
}
newann.graphGroup = newGraphGroups.get(newann.graphGroup)
.intValue();
@@
-2398,15
+2416,12
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
@Override
public void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
{
@Override
public void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
{
- SequenceGroup sg = new SequenceGroup();
-
- for (int i = 0; i < viewport.getAlignment().getSequences().size(); i++)
- {
- sg.addSequence(viewport.getAlignment().getSequenceAt(i), false);
- }
+ SequenceGroup sg = new SequenceGroup(
+ viewport.getAlignment().getSequences());
sg.setEndRes(viewport.getAlignment().getWidth() - 1);
viewport.setSelectionGroup(sg);
sg.setEndRes(viewport.getAlignment().getWidth() - 1);
viewport.setSelectionGroup(sg);
+ viewport.isSelectionGroupChanged(true);
viewport.sendSelection();
// JAL-2034 - should delegate to
// alignPanel to decide if overview needs
viewport.sendSelection();
// JAL-2034 - should delegate to
// alignPanel to decide if overview needs
@@
-2702,7
+2717,8
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
/*
* Create a new AlignmentPanel (with its own, new Viewport)
*/
/*
* Create a new AlignmentPanel (with its own, new Viewport)
*/
- AlignmentPanel newap = new Jalview2XML().copyAlignPanel(alignPanel);
+ AlignmentPanel newap = new jalview.project.Jalview2XML()
+ .copyAlignPanel(alignPanel);
if (!copyAnnotation)
{
/*
if (!copyAnnotation)
{
/*
@@
-2714,10
+2730,10
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
newap.av.setGatherViewsHere(false);
newap.av.setGatherViewsHere(false);
- if (viewport.viewName == null)
+ if (viewport.getViewName() == null)
{
{
- viewport.viewName = MessageManager
- .getString("label.view_name_original");
+ viewport.setViewName(MessageManager
+ .getString("label.view_name_original"));
}
/*
}
/*
@@
-2727,6
+2743,12
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
newap.av.setRedoList(viewport.getRedoList());
/*
newap.av.setRedoList(viewport.getRedoList());
/*
+ * copy any visualisation settings that are not saved in the project
+ */
+ newap.av.setColourAppliesToAllGroups(
+ viewport.getColourAppliesToAllGroups());
+
+ /*
* Views share the same mappings; need to deregister any new mappings
* created by copyAlignPanel, and register the new reference to the shared
* mappings
* Views share the same mappings; need to deregister any new mappings
* created by copyAlignPanel, and register the new reference to the shared
* mappings
@@
-2741,7
+2763,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
newap.refresh(true); // adjust layout of annotations
}
newap.refresh(true); // adjust layout of annotations
}
- newap.av.viewName = getNewViewName(viewTitle);
+ newap.av.setViewName(getNewViewName(viewTitle));
addAlignmentPanel(newap, true);
newap.alignmentChanged();
addAlignmentPanel(newap, true);
newap.alignmentChanged();
@@
-2804,9
+2826,9
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
if (comp instanceof AlignmentPanel)
{
AlignmentPanel ap = (AlignmentPanel) comp;
if (comp instanceof AlignmentPanel)
{
AlignmentPanel ap = (AlignmentPanel) comp;
- if (!existingNames.contains(ap.av.viewName))
+ if (!existingNames.contains(ap.av.getViewName()))
{
{
- existingNames.add(ap.av.viewName);
+ existingNames.add(ap.av.getViewName());
}
}
}
}
}
}
@@
-2889,7
+2911,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
viewport.setFollowHighlight(state);
if (state)
{
viewport.setFollowHighlight(state);
if (state)
{
- alignPanel.scrollToPosition(viewport.getSearchResults(), false);
+ alignPanel.scrollToPosition(viewport.getSearchResults());
}
}
}
}
@@
-3036,6
+3058,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
viewport.expandColSelection(sg, false);
viewport.hideAllSelectedSeqs();
viewport.hideSelectedColumns();
viewport.expandColSelection(sg, false);
viewport.hideAllSelectedSeqs();
viewport.hideSelectedColumns();
+ alignPanel.updateLayout();
alignPanel.paintAlignment(true, true);
viewport.sendSelection();
}
alignPanel.paintAlignment(true, true);
viewport.sendSelection();
}
@@
-3060,6
+3083,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
public void hideSelColumns_actionPerformed(ActionEvent e)
{
viewport.hideSelectedColumns();
public void hideSelColumns_actionPerformed(ActionEvent e)
{
viewport.hideSelectedColumns();
+ alignPanel.updateLayout();
alignPanel.paintAlignment(true, true);
viewport.sendSelection();
}
alignPanel.paintAlignment(true, true);
viewport.sendSelection();
}
@@
-3081,7
+3105,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
protected void scaleAbove_actionPerformed(ActionEvent e)
{
viewport.setScaleAboveWrapped(scaleAbove.isSelected());
protected void scaleAbove_actionPerformed(ActionEvent e)
{
viewport.setScaleAboveWrapped(scaleAbove.isSelected());
- // TODO: do we actually need to update overview for scale above change ?
+ alignPanel.updateLayout();
alignPanel.paintAlignment(true, false);
}
alignPanel.paintAlignment(true, false);
}
@@
-3095,6
+3119,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
protected void scaleLeft_actionPerformed(ActionEvent e)
{
viewport.setScaleLeftWrapped(scaleLeft.isSelected());
protected void scaleLeft_actionPerformed(ActionEvent e)
{
viewport.setScaleLeftWrapped(scaleLeft.isSelected());
+ alignPanel.updateLayout();
alignPanel.paintAlignment(true, false);
}
alignPanel.paintAlignment(true, false);
}
@@
-3108,6
+3133,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
protected void scaleRight_actionPerformed(ActionEvent e)
{
viewport.setScaleRightWrapped(scaleRight.isSelected());
protected void scaleRight_actionPerformed(ActionEvent e)
{
viewport.setScaleRightWrapped(scaleRight.isSelected());
+ alignPanel.updateLayout();
alignPanel.paintAlignment(true, false);
}
alignPanel.paintAlignment(true, false);
}
@@
-3329,6
+3355,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
* otherwise set the chosen colour scheme (or null for 'None')
*/
ColourSchemeI cs = ColourSchemes.getInstance().getColourScheme(name,
* otherwise set the chosen colour scheme (or null for 'None')
*/
ColourSchemeI cs = ColourSchemes.getInstance().getColourScheme(name,
+ viewport,
viewport.getAlignment(), viewport.getHiddenRepSequences());
changeColour(cs);
}
viewport.getAlignment(), viewport.getHiddenRepSequences());
changeColour(cs);
}
@@
-3598,9
+3625,9
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
frameTitle += " from ";
frameTitle += " from ";
- if (viewport.viewName != null)
+ if (viewport.getViewName() != null)
{
{
- frameTitle += viewport.viewName + " of ";
+ frameTitle += viewport.getViewName() + " of ";
}
frameTitle += this.title;
}
frameTitle += this.title;
@@
-4261,14
+4288,14
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
* frame's DNA sequences to their aligned protein (amino acid) equivalents.
*/
@Override
* frame's DNA sequences to their aligned protein (amino acid) equivalents.
*/
@Override
- public void showTranslation_actionPerformed(ActionEvent e)
+ public void showTranslation_actionPerformed(GeneticCodeI codeTable)
{
AlignmentI al = null;
try
{
Dna dna = new Dna(viewport, viewport.getViewAsVisibleContigs(true));
{
AlignmentI al = null;
try
{
Dna dna = new Dna(viewport, viewport.getViewAsVisibleContigs(true));
- al = dna.translateCdna();
+ al = dna.translateCdna(codeTable);
} catch (Exception ex)
{
jalview.bin.Cache.log.error(
} catch (Exception ex)
{
jalview.bin.Cache.log.error(
@@
-4297,7
+4324,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
af.setFileFormat(this.currentFileFormat);
final String newTitle = MessageManager
.formatMessage("label.translation_of_params", new Object[]
af.setFileFormat(this.currentFileFormat);
final String newTitle = MessageManager
.formatMessage("label.translation_of_params", new Object[]
- { this.getTitle() });
+ { this.getTitle(), codeTable.getId() });
af.setTitle(newTitle);
if (Cache.getDefault(Preferences.ENABLE_SPLIT_FRAME, true))
{
af.setTitle(newTitle);
if (Cache.getDefault(Preferences.ENABLE_SPLIT_FRAME, true))
{
@@
-4465,7
+4492,8
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
int assocfiles = 0;
if (filesmatched.size() > 0)
{
int assocfiles = 0;
if (filesmatched.size() > 0)
{
- boolean autoAssociate = Cache.getDefault("AUTOASSOCIATE_PDBANDSEQS", false);
+ boolean autoAssociate = Cache
+ .getDefault("AUTOASSOCIATE_PDBANDSEQS", false);
if (!autoAssociate)
{
String msg = MessageManager.formatMessage(
if (!autoAssociate)
{
String msg = MessageManager.formatMessage(
@@
-4768,7
+4796,7
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
if (reply != null)
{
if (reply != null)
{
- viewport.viewName = reply;
+ viewport.setViewName(reply);
// TODO warn if reply is in getExistingViewNames()?
tabbedPane.setTitleAt(tabbedPane.getSelectedIndex(), reply);
}
// TODO warn if reply is in getExistingViewNames()?
tabbedPane.setTitleAt(tabbedPane.getSelectedIndex(), reply);
}
@@
-4908,6
+4936,13
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
@Override
public void finished()
{
@Override
public void finished()
{
+
+ for (FeatureSettingsModelI srcSettings : dbRefFetcher
+ .getFeatureSettingsModels())
+ {
+
+ alignPanel.av.mergeFeaturesStyle(srcSettings);
+ }
AlignFrame.this.setMenusForViewport();
}
});
AlignFrame.this.setMenusForViewport();
}
});
@@
-4993,6
+5028,10
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
@Override
public void finished()
{
@Override
public void finished()
{
+ FeatureSettingsModelI srcSettings = dassource[0]
+ .getFeatureColourScheme();
+ alignPanel.av.mergeFeaturesStyle(
+ srcSettings);
AlignFrame.this.setMenusForViewport();
}
});
AlignFrame.this.setMenusForViewport();
}
});
@@
-5285,7
+5324,8
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
{
PaintRefresher.Refresh(this, viewport.getSequenceSetId());
alignPanel.updateAnnotation();
{
PaintRefresher.Refresh(this, viewport.getSequenceSetId());
alignPanel.updateAnnotation();
- alignPanel.paintAlignment(true, true);
+ alignPanel.paintAlignment(true,
+ viewport.needToUpdateStructureViews());
}
}
}
}
@@
-5400,7
+5440,9
@@
public class AlignFrame extends GAlignFrame implements DropTargetListener,
*/
public List<? extends AlignmentViewPanel> getAlignPanels()
{
*/
public List<? extends AlignmentViewPanel> getAlignPanels()
{
- return alignPanels == null ? Arrays.asList(alignPanel) : alignPanels;
+ // alignPanels is never null
+ // return alignPanels == null ? Arrays.asList(alignPanel) : alignPanels;
+ return alignPanels;
}
/**
}
/**