refactored VamsasListener to allow the source of the event to be passed to handlers
[jalview.git] / src / jalview / structure / StructureSelectionManager.java
index 0fb8428..c4566d8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
  * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
  * 
  * This file is part of Jalview.
@@ -73,6 +73,10 @@ public class StructureSelectionManager
 
   Vector listeners = new Vector();
 
+  /**
+   * register a listener for alignment sequence mouseover events
+   * @param svl
+   */
   public void addStructureViewerListener(Object svl)
   {
     if (!listeners.contains(svl))
@@ -359,7 +363,7 @@ public class StructureSelectionManager
    *          the sequence position (if -1, seq.findPosition is called to
    *          resolve the residue number)
    */
-  public void mouseOverSequence(SequenceI seq, int indexpos, int index)
+  public void mouseOverSequence(SequenceI seq, int indexpos, int index, VamsasSource source)
   {
     boolean hasSequenceListeners = handlingVamsasMo || seqmappings != null;
     SearchResults results = null;
@@ -443,7 +447,7 @@ public class StructureSelectionManager
           // pass the mouse over and absolute position onto the
           // VamsasListener(s)
           ((VamsasListener) listeners.elementAt(i))
-                  .mouseOver(seq, indexpos);
+                  .mouseOver(seq, indexpos, source);
         }
       }
     }
@@ -464,14 +468,14 @@ public class StructureSelectionManager
    * @param position
    *          in an alignment sequence
    */
-  public void mouseOverVamsasSequence(SequenceI sequenceI, int position)
+  public void mouseOverVamsasSequence(SequenceI sequenceI, int position, VamsasSource source)
   {
     handlingVamsasMo = true;
     long msg = sequenceI.hashCode() * (1 + position);
     if (lastmsg != msg)
     {
       lastmsg = msg;
-      mouseOverSequence(sequenceI, position, -1);
+      mouseOverSequence(sequenceI, position, -1, source);
     }
     handlingVamsasMo = false;
   }