/*\r
* Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
*\r
* This program is free software; you can redistribute it and/or\r
* modify it under the terms of the GNU General Public License\r
return hiddenSequences == null ? 0 : hiddenSequences.size();\r
}\r
\r
+ public int getWidth()\r
+ {\r
+ Enumeration en = hiddenSequences.elements();\r
+ int width = 0;\r
+ while(en.hasMoreElements())\r
+ {\r
+ SequenceI seq = (SequenceI)en.nextElement();\r
+ if(seq.getLength()>width)\r
+ width = seq.getLength();\r
+ }\r
+ return width;\r
+ }\r
+\r
public void hideSequence(SequenceI sequence)\r
{\r
if(hiddenSequences==null)\r
alignment.deleteSequence(sequence);\r
}\r
\r
- public void showAll()\r
+ public Vector showAll()\r
{\r
+ Vector revealedSeqs = new Vector();\r
for(int i=0; i<alignment.getHeight()+hiddenSequences.size(); i++)\r
- showSequence(i);\r
+ {\r
+ Vector tmp = showSequence(i);\r
+ for(int t=0; t<tmp.size(); t++)\r
+ revealedSeqs.addElement(tmp.elementAt(t));\r
+ }\r
+ return revealedSeqs;\r
}\r
\r
- public void showSequence(int alignmentIndex)\r
+ public Vector showSequence(int alignmentIndex)\r
{\r
+ Vector revealedSeqs = new Vector();\r
SequenceI repSequence = alignment.getSequenceAt(alignmentIndex);\r
if(repSequence!=null\r
&& repSequence.getHiddenSequences()==null\r
SequenceI seq = (SequenceI)hiddenSequences.remove(new Integer(\r
index));\r
\r
+\r
if(seq!=null)\r
{\r
+ revealedSeqs.addElement(seq);\r
alignment.getSequences().insertElementAt(seq, alignmentIndex);\r
if(repSequence!=null)\r
{\r
}\r
}\r
}\r
+\r
+ return revealedSeqs;\r
}\r
\r
public Hashtable getHiddenSequences()\r
\r
public boolean isHidden(SequenceI seq)\r
{\r
- return hiddenSequences.containsValue(seq);\r
+ return hiddenSequences.contains(seq);\r
}\r
}\r