public boolean parseFeaturesFile(String file, String type,
boolean autoenabledisplay)
{
- // TODO: test if importing a features file onto an alignment which already
- // has features with links overwrites the original links.
-
- Hashtable featureLinks = new Hashtable();
boolean featuresFile = false;
try
{
- featuresFile = new jalview.io.FeaturesFile(file, type).parse(viewport
- .getAlignment(), alignPanel.seqPanel.seqCanvas
- .getFeatureRenderer().getFeatureColours(), featureLinks,
- true, viewport.applet.getDefaultParameter("relaxedidmatch",
- false));
+ Map<String, Object> colours = alignPanel.seqPanel.seqCanvas
+ .getFeatureRenderer().getFeatureColours();
+ boolean relaxedIdMatching = viewport.applet.getDefaultParameter(
+ "relaxedidmatch", false);
+ featuresFile = new FeaturesFile(file, type).parse(
+ viewport.getAlignment(), colours, true, relaxedIdMatching);
} catch (Exception ex)
{
ex.printStackTrace();
if (featuresFile)
{
- if (featureLinks.size() > 0)
- {
- alignPanel.seqPanel.seqCanvas.getFeatureRenderer().featureLinks = featureLinks;
- }
if (autoenabledisplay)
{
viewport.setShowSequenceFeatures(true);
{
viewport.showAllHiddenColumns();
}
+ viewport.sendSelection();
}
}
{
boolean showForAlignment = showAlignmentAnnotations.getState();
boolean showForSequences = showSequenceAnnotations.getState();
- for (AlignmentAnnotation aa : alignPanel.getAlignment()
+ if (alignPanel.getAlignment().getAlignmentAnnotation() != null)
+ {
+ for (AlignmentAnnotation aa : alignPanel.getAlignment()
.getAlignmentAnnotation())
{
boolean visible = (aa.sequenceRef == null ? showForAlignment
: showForSequences);
aa.visible = visible;
+ }
}
alignPanel.validateAnnotationDimensions(true);
validate();
else if (source == invertSequenceMenuItem)
{
invertSequenceMenuItem_actionPerformed();
+ // uncomment to slave sequence selections in split frame
+ // viewport.sendSelection();
}
else if (source == invertColSel)
{
viewport.invertColumnSelection();
alignPanel.paintAlignment(true);
+ viewport.sendSelection();
}
else if (source == remove2LeftMenuItem)
{
{
viewport.showAllHiddenColumns();
alignPanel.paintAlignment(true);
+ viewport.sendSelection();
}
else if (source == showSeqs)
{
viewport.showAllHiddenSeqs();
alignPanel.paintAlignment(true);
+ // uncomment if we want to slave sequence selections in split frame
+ // viewport.sendSelection();
}
else if (source == hideColumns)
{
viewport.hideSelectedColumns();
alignPanel.paintAlignment(true);
+ viewport.sendSelection();
}
else if (source == hideSequences
&& viewport.getSelectionGroup() != null)
{
viewport.hideAllSelectedSeqs();
alignPanel.paintAlignment(true);
+ // uncomment if we want to slave sequence selections in split frame
+ // viewport.sendSelection();
}
else if (source == hideAllButSelection)
{
toggleHiddenRegions(false, false);
alignPanel.paintAlignment(true);
+ viewport.sendSelection();
}
else if (source == hideAllSelection)
{
viewport.hideAllSelectedSeqs();
viewport.hideSelectedColumns();
alignPanel.paintAlignment(true);
+ viewport.sendSelection();
}
else if (source == showAllHidden)
{
viewport.showAllHiddenColumns();
viewport.showAllHiddenSeqs();
alignPanel.paintAlignment(true);
+ viewport.sendSelection();
}
else if (source == showGroupConsensus)
{
public String outputFeatures(boolean displayTextbox, String format)
{
String features;
+ FeaturesFile formatter = new FeaturesFile();
if (format.equalsIgnoreCase("Jalview"))
{
- features = new FeaturesFile().printJalviewFormat(viewport
+ features = formatter.printJalviewFormat(viewport
.getAlignment().getSequencesArray(),
getDisplayedFeatureCols());
}
else
{
- features = new FeaturesFile().printGFFFormat(viewport.getAlignment()
+ features = formatter.printGffFormat(viewport.getAlignment()
.getSequencesArray(), getDisplayedFeatureCols());
}
viewport, complement);
complement.getAlignment().moveSelectedSequencesByOne(mappedSelection,
up ? null : complement.getHiddenRepSequences(), up);
- // TODO need to trigger a repaint of the complementary panel - how?
- // would prefer to handle in SplitFrame but it is not overriding key
- // listener chiz
+ getSplitFrame().getComplement(this).alignPanel.paintAlignment(true);
}
}
.getAlignment().getWidth()) ? true : false;
if (isEntireAlignWidth)
{
-
String title = MessageManager.getString("label.delete_all");
- Panel mp = new Panel();
- mp.setLayout(new FlowLayout());
- mp.add(new Label(MessageManager.getString("warn.delete_all")));
-
- final JVDialog dialog = new JVDialog(this, title, true, 400,
- 200);
- dialog.setMainPanel(mp);
+ Panel infoPanel = new Panel();
+ infoPanel.setLayout(new FlowLayout());
+ infoPanel
+ .add(new Label(MessageManager.getString("warn.delete_all")));
+
+ final JVDialog dialog = new JVDialog(this, title, true, 400, 200);
+ dialog.setMainPanel(infoPanel);
+ dialog.ok.setLabel(MessageManager.getString("action.ok"));
+ dialog.cancel.setLabel(MessageManager.getString("action.cancel"));
dialog.setVisible(true);
if (!dialog.accept)
ColumnSelection colSel = viewport.getColumnSelection();
int column;
- if (colSel.size() > 0)
+ if (!colSel.isEmpty())
{
if (trimLeft)
{
TrimRegionCommand trimRegion;
if (trimLeft)
{
- trimRegion = new TrimRegionCommand("Remove Left",
- TrimRegionCommand.TRIM_LEFT, seqs, column,
- viewport.getAlignment(), viewport.getColumnSelection(),
- viewport.getSelectionGroup());
+ trimRegion = new TrimRegionCommand("Remove Left", true, seqs,
+ column, viewport.getAlignment());
viewport.setStartRes(0);
}
else
{
- trimRegion = new TrimRegionCommand("Remove Right",
- TrimRegionCommand.TRIM_RIGHT, seqs, column,
- viewport.getAlignment(), viewport.getColumnSelection(),
- viewport.getSelectionGroup());
+ trimRegion = new TrimRegionCommand("Remove Right", false, seqs,
+ column, viewport.getAlignment());
}
statusBar.setText(MessageManager.formatMessage(
}
+ @Override
public void changeColour(ColourSchemeI cs)
{
this.add(statusBar, BorderLayout.SOUTH);
}
+ @Override
public void setStatus(String string)
{
statusBar.setText(string);
{
// register the association(s) and quit, don't create any windows.
if (StructureSelectionManager.getStructureSelectionManager(applet)
- .setMapping(seqs, chains, pdb.getFile(), protocol) == null)
+ .setMapping(seqs, chains, pdb.getFile(), protocol, null) == null)
{
System.err.println("Failed to map " + pdb.getFile() + " ("
+ protocol + ") to any sequences");