\r
String sequenceSetID;\r
\r
+ Hashtable hiddenRepSequences;\r
+\r
public AlignViewport(AlignmentI al, JalviewLite applet)\r
{\r
this.applet = applet;\r
hasHiddenColumns = true;\r
}\r
\r
+ public void hideRepSequences(SequenceI repSequence, SequenceGroup sg)\r
+ {\r
+ int sSize = sg.getSize();\r
+ if(sSize < 2)\r
+ return;\r
+\r
+ if(hiddenRepSequences==null)\r
+ hiddenRepSequences = new Hashtable();\r
+\r
+ hiddenRepSequences.put(repSequence, sg);\r
+\r
+ //Hide all sequences except the repSequence\r
+ SequenceI [] seqs = new SequenceI[sSize-1];\r
+ int index = 0;\r
+ for(int i=0; i<sSize; i++)\r
+ if(sg.getSequenceAt(i)!=repSequence)\r
+ {\r
+ if(index==sSize-1)\r
+ return;\r
+\r
+ seqs[index++] = sg.getSequenceAt(i);\r
+ }\r
+\r
+ hideSequence(seqs);\r
+\r
+ }\r
+\r
public void hideAllSelectedSeqs()\r
{\r
if (selectionGroup == null)\r
selectionGroup = new SequenceGroup();\r
selectionGroup.setEndRes(alignment.getWidth()-1);\r
}\r
- Vector tmp = alignment.getHiddenSequences().showAll();\r
+ Vector tmp = alignment.getHiddenSequences().showAll(hiddenRepSequences);\r
for(int t=0; t<tmp.size(); t++)\r
{\r
selectionGroup.addSequence(\r
}\r
firePropertyChange("alignment", null, alignment.getSequences());\r
hasHiddenRows = false;\r
- }\r
+ hiddenRepSequences = null;\r
+ }\r
}\r
\r
public int adjustForHiddenSeqs(int alignmentIndex)\r
int start = 0, end = 0;\r
if(selectedRegionOnly && selectionGroup!=null)\r
{\r
- iSize = selectionGroup.getSize(false);\r
+ iSize = selectionGroup.getSize();\r
seqs = selectionGroup.getSequencesInOrder(alignment);\r
start = selectionGroup.getStartRes();\r
end = selectionGroup.getEndRes(); // inclusive for start and end in SeqCigar constructor\r
int start = 0, end = 0;\r
if(selectedRegionOnly && selectionGroup!=null)\r
{\r
- iSize = selectionGroup.getSize(false);\r
+ iSize = selectionGroup.getSize();\r
seqs = selectionGroup.getSequencesInOrder(alignment);\r
start = selectionGroup.getStartRes();\r
end = selectionGroup.getEndRes()+1;\r
if(sg.cs!=null && sg.cs instanceof ClustalxColourScheme)\r
{\r
((ClustalxColourScheme)sg.cs).resetClustalX(\r
- sg.getSequences(true), sg.getWidth());\r
+ sg.getSequences(hiddenRepSequences), sg.getWidth());\r
}\r
sg.recalcConservation();\r
}\r