X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fstructure%2FStructureSelectionManager.java;h=47973d0c3c92e3589a92f4f4ace86c21df2cdbad;hb=1dabf099b7c77fb0a80039f72cef34669df9b2e1;hp=2f3a3121435f6f9b0bc35f6aa147219157b0ad30;hpb=506d60f0e188723ddc91c26824b41ac7034df3fe;p=jalview.git diff --git a/src/jalview/structure/StructureSelectionManager.java b/src/jalview/structure/StructureSelectionManager.java index 2f3a312..47973d0 100644 --- a/src/jalview/structure/StructureSelectionManager.java +++ b/src/jalview/structure/StructureSelectionManager.java @@ -1,6 +1,6 @@ /* - * 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 @@ -586,4 +586,34 @@ public class StructureSelectionManager { modifySeqMappingList(true, codonFrames); } + + Vector sel_listeners = new Vector(); + public void addSelectionListener(SelectionListener selecter) + { + if (!sel_listeners.contains(selecter)) + { + sel_listeners.addElement(selecter); + } + } + public void removeSelectionListener(SelectionListener toremove) + { + if (sel_listeners.contains(toremove)) + { + sel_listeners.removeElement(toremove); + } + } + public synchronized void sendSelection(jalview.datamodel.SequenceGroup selection, jalview.datamodel.ColumnSelection colsel, SelectionSource source) + { + if (sel_listeners!=null && sel_listeners.size()>0) + { + Enumeration listeners = sel_listeners.elements(); + while (listeners.hasMoreElements()) + { + SelectionListener slis = ((SelectionListener) listeners.nextElement()); + if (slis!=source) { + slis.selection(selection, colsel, source); + }; + } + } + } }