Jalview Imported Sources
[jalview.git] / src / jalview / gui / Selection.java
1 package jalview.gui;\r
2 \r
3 import jalview.datamodel.*;\r
4 \r
5 import java.util.*;\r
6 \r
7 public class Selection {\r
8   Vector selected = new Vector();\r
9 \r
10   public void addElement(DrawableSequence seq) {\r
11     addElement((SequenceI)seq);\r
12   }\r
13   public void addElement(SequenceI seq) {\r
14     selected.addElement(seq);\r
15   }\r
16 \r
17   public void removeElement(DrawableSequence seq) {\r
18     removeElement((SequenceI)seq);\r
19   }\r
20 \r
21   public void clear() {\r
22     selected.removeAllElements();\r
23   }\r
24 \r
25   public void removeElement(SequenceI seq) {\r
26     if (selected.contains(seq)) {\r
27       selected.removeElement(seq);\r
28     } else {\r
29       System.err.println("WARNING: Tried to remove SequenceI NOT in Selection");\r
30     }\r
31   }\r
32 \r
33   public boolean contains(DrawableSequence seq) {\r
34     return contains((SequenceI)seq);\r
35   }\r
36   public boolean contains(SequenceI seq) {\r
37     return selected.contains(seq);\r
38   }\r
39 \r
40   public SequenceI sequenceAt(int i) {\r
41     return (SequenceI)selected.elementAt(i);\r
42   }\r
43 \r
44   public int size() {\r
45     return selected.size();\r
46   }\r
47 \r
48   public Vector asVector() {\r
49     return selected;\r
50   }\r
51 \r
52   public void selectAll(AlignmentI align) {\r
53     for (int i=0;i<align.getSequences().size();i++) {\r
54       SequenceI seq = align.getSequenceAt(i);\r
55       if (!contains(seq)) {\r
56         addElement(seq);\r
57       }\r
58     }\r
59   }\r
60 }\r