- for (int i = 0; i < av.alignment.getHeight(); i++)\r
- {\r
- if (av.alignment.getSequenceAt(i).getSequenceFeatures() == null)\r
- continue;\r
-\r
- tmpfeatures = av.alignment.getSequenceAt(i).getSequenceFeatures();\r
- int index = 0;\r
- while (index < tmpfeatures.length)\r
- {\r
- group = tmpfeatures[index].featureGroup;\r
-\r
- if (group==null || fr.featureGroups.get(group)==null ||\r
- ((Boolean) fr.featureGroups.get(group)).booleanValue())\r
- {\r
- type = tmpfeatures[index].getType();\r
- if(!visibleChecks.contains(type) )\r
- {\r
- visibleChecks.addElement(type);\r
- }\r
- }\r
- index++;\r
- }\r
- }\r
-\r
- Component[] comps;\r
- int cSize = featurePanel.getComponentCount();\r
- Checkbox check;\r
- //This will remove any checkboxes which shouldn't be\r
- //visible\r
- for (int i = 0; i < cSize; i++)\r
- {\r
- comps = featurePanel.getComponents();\r
- check = (Checkbox) comps[i];\r
- if (!visibleChecks.contains(check.getLabel()))\r
- {\r
- featurePanel.remove(i);\r
- cSize --;\r
- i--;\r
- }\r
- }\r
-\r
- if(fr.renderOrder!=null)\r
- {\r
- //First add the checks in the previous render order,\r
- //in case the window has been closed and reopened\r
- for(int ro=fr.renderOrder.length-1; ro>-1; ro--)\r
- {\r
- String item = fr.renderOrder[ro];\r
-\r
- if(!visibleChecks.contains(item))\r
- continue;\r
-\r
- visibleChecks.removeElement(item);\r
-\r
- addCheck(false, item);\r
- }\r
- }\r
-\r
- // now add checkboxes which should be visible,\r
- // if they have not already been added\r
- Enumeration en = visibleChecks.elements();\r
-\r
- while(en.hasMoreElements())\r
- {\r
- addCheck(groupsChanged, en.nextElement().toString());\r
- }\r
-\r
-\r
- featurePanel.setLayout(new GridLayout(featurePanel.getComponentCount(), 1, 10,5));\r
- featurePanel.validate();\r
-\r
-\r
- if(scrollPane!=null)\r
- scrollPane.validate();\r
-\r
- itemStateChanged(null);\r
+ for (int i = 0; i < av.alignment.getHeight(); i++)\r
+ {\r
+ if (av.alignment.getSequenceAt(i).getSequenceFeatures() == null)\r
+ {\r
+ continue;\r
+ }\r
+\r
+ tmpfeatures = av.alignment.getSequenceAt(i).getSequenceFeatures();\r
+ int index = 0;\r
+ while (index < tmpfeatures.length)\r
+ {\r
+ group = tmpfeatures[index].featureGroup;\r
+\r
+ if (group == null || fr.featureGroups.get(group) == null ||\r
+ ( (Boolean) fr.featureGroups.get(group)).booleanValue())\r
+ {\r
+ type = tmpfeatures[index].getType();\r
+ if (!visibleChecks.contains(type))\r
+ {\r
+ visibleChecks.addElement(type);\r
+ }\r
+ }\r
+ index++;\r
+ }\r
+ }\r
+\r
+ Component[] comps;\r
+ int cSize = featurePanel.getComponentCount();\r
+ Checkbox check;\r
+ //This will remove any checkboxes which shouldn't be\r
+ //visible\r
+ for (int i = 0; i < cSize; i++)\r
+ {\r
+ comps = featurePanel.getComponents();\r
+ check = (Checkbox) comps[i];\r
+ if (!visibleChecks.contains(check.getLabel()))\r
+ {\r
+ featurePanel.remove(i);\r
+ cSize--;\r
+ i--;\r
+ }\r
+ }\r
+\r
+ if (fr.renderOrder != null)\r
+ {\r
+ //First add the checks in the previous render order,\r
+ //in case the window has been closed and reopened\r
+ for (int ro = fr.renderOrder.length - 1; ro > -1; ro--)\r
+ {\r
+ String item = fr.renderOrder[ro];\r
+\r
+ if (!visibleChecks.contains(item))\r
+ {\r
+ continue;\r
+ }\r
+\r
+ visibleChecks.removeElement(item);\r
+\r
+ addCheck(false, item);\r
+ }\r
+ }\r
+\r
+ // now add checkboxes which should be visible,\r
+ // if they have not already been added\r
+ Enumeration en = visibleChecks.elements();\r
+\r
+ while (en.hasMoreElements())\r
+ {\r
+ addCheck(groupsChanged, en.nextElement().toString());\r
+ }\r
+\r
+ featurePanel.setLayout(new GridLayout(featurePanel.getComponentCount(), 1,\r
+ 10, 5));\r
+ featurePanel.validate();\r
+\r
+ if (scrollPane != null)\r
+ {\r
+ scrollPane.validate();\r
+ }\r
+\r
+ itemStateChanged(null);\r