1.1 compatible
[jalview.git] / src / jalview / datamodel / SuperGroup.java
1 package jalview.datamodel;\r
2 \r
3 import jalview.schemes.*;\r
4 import jalview.analysis.*;\r
5 import jalview.datamodel.*;\r
6 import java.util.*;\r
7 \r
8 public class SuperGroup\r
9 {\r
10   String groupName;\r
11   boolean displayBoxes;\r
12   boolean displayText;\r
13   boolean colourText;\r
14   public ColourSchemeI cs;\r
15   Vector sequenceGroups = new Vector();\r
16 \r
17   public SuperGroup()\r
18   {\r
19     groupName = "Super group";\r
20     this.displayBoxes = true;\r
21     this.displayText = true;\r
22     this.colourText = false;\r
23     cs = null;\r
24   }\r
25 \r
26 \r
27   public SuperGroup(String groupName, ColourSchemeI scheme,\r
28                        boolean displayBoxes, boolean displayText,\r
29                        boolean colourText)\r
30      {\r
31        this.groupName = groupName;\r
32        this.displayBoxes = displayBoxes;\r
33        this.displayText = displayText;\r
34        this.colourText = colourText;\r
35        this.cs = scheme;\r
36      }\r
37 \r
38   public String getName()\r
39   {\r
40     return groupName;\r
41   }\r
42 \r
43   public void setName(String name)\r
44   {\r
45     groupName = name;\r
46   }\r
47 \r
48 \r
49   public void addGroup(SequenceGroup sg)\r
50   {\r
51     if(!sequenceGroups.contains(sg))\r
52       sequenceGroups.addElement(sg);\r
53   }\r
54 \r
55   public void addOrRemove(SequenceGroup sg)\r
56   {\r
57     if(sequenceGroups.contains(sg))\r
58       deleteGroup(sg);\r
59     else\r
60       addGroup(sg);\r
61   }\r
62 \r
63   public void deleteGroup(SequenceGroup sg)\r
64   {\r
65     sequenceGroups.removeElement(sg);\r
66   }\r
67 \r
68   public void setSuperGroupProperties(SequenceGroup sg)\r
69   {\r
70     cs = sg.cs;\r
71     colourText = sg.colourText;\r
72     displayText = sg.displayText;\r
73     displayBoxes = sg.displayBoxes;\r
74 \r
75     for(int i=0; i<sequenceGroups.size(); i++)\r
76     {\r
77       SequenceGroup temp = (SequenceGroup)sequenceGroups.elementAt(i);\r
78       temp.cs = sg.cs;\r
79       temp.colourText = sg.colourText;\r
80       temp.displayText = sg.displayText;\r
81       temp.displayBoxes = sg.displayBoxes;\r
82     }\r
83   }\r
84 \r
85 \r
86   public int getSize()\r
87   {\r
88     return sequenceGroups.size();\r
89   }\r
90 \r
91   public SequenceGroup getGroupeAt(int i)\r
92   {\r
93     return (SequenceGroup) sequenceGroups.elementAt(i);\r
94   }\r
95 }\r