X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSelection.java;h=0ac938999993518d5c2aef5d51fa2436b1cd6326;hb=5f7d80cd8b01e051a6175b0ce8db0ad94d73df2f;hp=6f73f5dead95118cd4c5ab55dff3c8891e81db8e;hpb=1ecf6419aba86993b3c223bf5ec0fa79427baf85;p=jalview.git diff --git a/src/jalview/gui/Selection.java b/src/jalview/gui/Selection.java index 6f73f5d..0ac9389 100755 --- a/src/jalview/gui/Selection.java +++ b/src/jalview/gui/Selection.java @@ -4,18 +4,29 @@ import jalview.datamodel.*; import java.util.*; -public class Selection { +public class Selection +{ + Vector selected = new Vector(); + AlignViewport av; - public void addElement(DrawableSequence seq) { - addElement((SequenceI)seq); + public Selection(AlignViewport av) + { + this.av = av; } + public void addElement(SequenceI seq) { selected.addElement(seq); - } + SequenceGroup sg = av.getRubberbandGroup(); + if(sg==null) + { + sg = new SequenceGroup(); + sg.setEndRes(av.alignment.getWidth()-1); + av.setRubberbandGroup(sg); + } + + sg.addSequence(seq); - public void removeElement(DrawableSequence seq) { - removeElement((SequenceI)seq); } public void clear() { @@ -23,16 +34,18 @@ public class Selection { } public void removeElement(SequenceI seq) { - if (selected.contains(seq)) { + if (selected.contains(seq)) selected.removeElement(seq); - } else { + else System.err.println("WARNING: Tried to remove SequenceI NOT in Selection"); - } - } - public boolean contains(DrawableSequence seq) { - return contains((SequenceI)seq); + SequenceGroup sg = av.getRubberbandGroup(); + if (sg != null) + sg.deleteSequence(seq); + + } + public boolean contains(SequenceI seq) { return selected.contains(seq); }