/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
+ * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
*
* This file is part of Jalview.
*
public void mouseOverStructure(int pdbResNum, String chain, String pdbfile)
{
+ if (listeners==null)
+ {
+ // old or prematurely sent event
+ return;
+ }
boolean hasSequenceListeners = handlingVamsasMo || seqmappings != null;
SearchResults results = null;
SequenceI lastseq = null;
int atomNo = 0;
for (int i = 0; i < listeners.size(); i++)
{
- if (listeners.elementAt(i) instanceof StructureListener)
+ Object listener=listeners.elementAt(i);
+ if (listener==source)
{
- sl = (StructureListener) listeners.elementAt(i);
+ continue;
+ }
+ if (listener instanceof StructureListener)
+ {
+ sl = (StructureListener) listener;
if (mappings == null)
{
continue;
else
{
if (relaySeqMappings && hasSequenceListeners
- && listeners.elementAt(i) instanceof SequenceListener)
+ && listener instanceof SequenceListener)
{
// DEBUG
// System.err.println("relay Seq " + seq.getDisplayId(false) + " " +
}
if (hasSequenceListeners)
{
- ((SequenceListener) listeners.elementAt(i))
+ ((SequenceListener) listener)
.highlightSequence(results);
}
}
- else if (listeners.elementAt(i) instanceof VamsasListener
+ else if (listener instanceof VamsasListener
&& !handlingVamsasMo)
{
// DEBUG
// index);
// pass the mouse over and absolute position onto the
// VamsasListener(s)
- ((VamsasListener) listeners.elementAt(i)).mouseOver(seq,
+ ((VamsasListener) listener).mouseOver(seq,
indexpos, source);
}
+ else if(listener instanceof SecondaryStructureListener){
+ ((SecondaryStructureListener) listener).mouseOverSequence(seq,indexpos);
+ }
}
}
}
*/
public static void release(StructureSelectionManagerProvider jalviewLite)
{
- StructureSelectionManager mnger=(instances.get(jalviewLite));
- if (mnger!=null)
+// synchronized (instances)
{
- instances.remove(jalviewLite);
- try {
- mnger.finalize();
- } catch (Throwable x){};
+ if (instances == null)
+ {
+ return;
+ }
+ StructureSelectionManager mnger = (instances.get(jalviewLite));
+ if (mnger != null)
+ {
+ instances.remove(jalviewLite);
+ try
+ {
+ mnger.finalize();
+ } catch (Throwable x)
+ {
+ }
+ ;
+ }
}
}