/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)
- * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)
+ * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
import java.awt.print.*;
import javax.swing.*;
+import jalview.bin.Cache;
import jalview.datamodel.*;
import jalview.jbgui.*;
import jalview.schemes.*;
public boolean scrollToPosition(SearchResults results, boolean redrawOverview) {
// TODO: properly locate search results in view when large numbers of hidden columns exist before highlighted region
// do we need to scroll the panel?
- if (results != null && results.getSize()>0)
+ // TODO: tons of nullpointereexceptions raised here.
+ if (results != null && results.getSize()>0 && av!=null && av.alignment!=null)
{
int seqIndex = av.alignment.findIndex(results);
if (seqIndex==-1)
}
SequenceI seq = av.alignment.getSequenceAt(seqIndex);
- int [] r = results.getResults(seq, seq.getStart(), seq.getEnd());
+ int [] r = results.getResults(seq, 0, av.alignment.getWidth()); // results.getResults(seq, seq.getStart(), seq.getEnd());
if (r==null)
{
return false;
return height;
}
+
+ /**
+ * close the panel - deregisters all listeners and nulls any references to alignment data.
+ */
+ public void closePanel()
+ {
+ jalview.structure.StructureSelectionManager ssm =
+ jalview.structure.StructureSelectionManager
+ .getStructureSelectionManager();
+ ssm.removeStructureViewerListener(seqPanel, null);
+ ssm.removeSelectionListener(seqPanel);
+ PaintRefresher.RemoveComponent(seqPanel.seqCanvas);
+ PaintRefresher.RemoveComponent(idPanel.idCanvas);
+ PaintRefresher.RemoveComponent(this);
+ if (av!=null) {
+ av.alignment = null;
+ av = null;
+ } else {
+ if (Cache.log.isDebugEnabled()) {
+ Cache.log.warn("Closing alignment panel which is already closed.");
+ }
+ }
+ }
}