+ if(hiddenSequences==null)\r
+ {\r
+ return 0;\r
+ }\r
+ int count = 0;\r
+ for(int i=0; i<hiddenSequences.length; i++)\r
+ if(hiddenSequences[i] !=null )\r
+ count ++;\r
+\r
+ return count;\r
+ }\r
+\r
+ public int getWidth()\r
+ {\r
+ int width = 0;\r
+ for (int i = 0; i < hiddenSequences.length; i++)\r
+ if (hiddenSequences[i] != null && hiddenSequences[i].getLength()>width)\r
+ width = hiddenSequences[i].getLength();\r
+\r
+ return width;\r
+ }\r
+\r
+ /**\r
+ * Call this method if sequences are removed from the\r
+ * main alignment\r
+ */\r
+ public void adjustHeightSequenceDeleted(int seqIndex)\r
+ {\r
+ if(hiddenSequences==null)\r
+ {\r
+ return;\r
+ }\r
+\r
+ int alHeight = alignment.getHeight();\r
+\r
+ SequenceI [] tmp = new SequenceI [alHeight + getSize()];\r
+ int deletionIndex = adjustForHiddenSeqs(seqIndex);\r
+\r
+ for (int i = 0; i < hiddenSequences.length; i++)\r
+ {\r
+ if(hiddenSequences[i]==null)\r
+ continue;\r
+\r
+ if (i > deletionIndex)\r
+ tmp[i-1] = hiddenSequences[i];\r
+ else\r
+ tmp[i] = hiddenSequences[i];\r
+ }\r
+\r
+ hiddenSequences = tmp;\r
+\r
+ }\r
+\r
+ /**\r
+ * Call this method if sequences are added to or removed from the\r
+ * main alignment\r
+ */\r
+ public void adjustHeightSequenceAdded()\r
+ {\r
+ if(hiddenSequences==null)\r
+ {\r
+ return;\r
+ }\r
+\r
+ int alHeight = alignment.getHeight();\r
+\r
+ SequenceI [] tmp = new SequenceI [alHeight + getSize()];\r
+ System.arraycopy(hiddenSequences,0,tmp,0,hiddenSequences.length);\r
+ hiddenSequences = tmp;\r