Hidden representatives moved from sequence to viewport
[jalview.git] / src / jalview / datamodel / HiddenSequences.java
index 31eda50..9491329 100755 (executable)
@@ -121,14 +121,14 @@ public class HiddenSequences
     alignment.deleteSequence(sequence);\r
   }\r
 \r
-  public Vector showAll()\r
+  public Vector showAll(Hashtable hiddenReps)\r
   {\r
    Vector revealedSeqs = new Vector();\r
    for(int i=0; i<hiddenSequences.length; i++)\r
     {\r
       if(hiddenSequences[i]!=null)\r
       {\r
-        Vector tmp = showSequence(i);\r
+        Vector tmp = showSequence(i, hiddenReps);\r
         for (int t = 0; t < tmp.size(); t++)\r
           revealedSeqs.addElement(tmp.elementAt(t));\r
       }\r
@@ -136,18 +136,17 @@ public class HiddenSequences
     return revealedSeqs;\r
   }\r
 \r
-  public Vector showSequence(int alignmentIndex)\r
+  public Vector showSequence(int alignmentIndex, Hashtable hiddenReps)\r
   {\r
     Vector revealedSeqs = new Vector();\r
     SequenceI repSequence = alignment.getSequenceAt(alignmentIndex);\r
-    if(repSequence!=null\r
-       && repSequence.getHiddenSequences()==null\r
-       && alignmentIndex>0)\r
-      repSequence = alignment.getSequenceAt(alignmentIndex-1);\r
-\r
-    if(repSequence!=null\r
-       && repSequence.getHiddenSequences()==null)\r
-      repSequence = null;\r
+    if(repSequence !=null &&\r
+       hiddenReps!=null\r
+       && hiddenReps.containsKey(repSequence))\r
+    {\r
+      hiddenReps.remove(repSequence);\r
+      revealedSeqs.addElement(repSequence);\r
+    }\r
 \r
     int start = adjustForHiddenSeqs(alignmentIndex-1);\r
     int end = adjustForHiddenSeqs(alignmentIndex);\r
@@ -167,11 +166,7 @@ public class HiddenSequences
            alignment.getSequences().insertElementAt(seq, alignmentIndex);\r
          }\r
          else\r
-           System.out.println(seq.getName()+" has been deleted");\r
-         if (repSequence != null)\r
-         {\r
-           repSequence.showHiddenSequence(seq);\r
-         }\r
+           System.out.println(seq.getName()+" has been deleted whilst hidden");\r
       }\r
 \r
     }\r