From: amwaterhouse Date: Tue, 14 Dec 2004 11:16:47 +0000 (+0000) Subject: Choosing sort again reverses the sort order X-Git-Tag: Release_2_0~843 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=263b70c6c296776e942b7875023cafd293dee0b4;p=jalview.git Choosing sort again reverses the sort order --- diff --git a/src/jalview/analysis/AlignmentSorter.java b/src/jalview/analysis/AlignmentSorter.java index 3881266..64682c1 100755 --- a/src/jalview/analysis/AlignmentSorter.java +++ b/src/jalview/analysis/AlignmentSorter.java @@ -83,6 +83,7 @@ public class AlignmentSorter { } /** */ + static boolean sortIdAscending = true; public static void sortByID(AlignmentI align) { int nSeq = align.getHeight(); @@ -96,9 +97,15 @@ public class AlignmentSorter { QuickSort.sort(ids,seqs); - setReverseOrder(align,seqs); + if(sortIdAscending) + setReverseOrder(align,seqs); + else + setOrder(align, seqs); + + sortIdAscending = !sortIdAscending; } + static boolean sortGroupAscending = true; public static void sortByGroup(AlignmentI align) { int nSeq = align.getHeight(); Vector groups = align.getGroups(); @@ -120,7 +127,12 @@ public class AlignmentSorter { } } - setOrder(align,seqs); + if(sortGroupAscending) + setOrder(align,seqs); + else + setReverseOrder( align, vectorToArray(seqs)); + + sortGroupAscending = ! sortGroupAscending; } private static SequenceI [] vectorToArray(Vector tmp) { @@ -132,6 +144,7 @@ public class AlignmentSorter { return seqs; } + static boolean sortTreeAscending = true; public static void sortByTree(AlignmentI align, NJTree tree) { int nSeq = align.getHeight(); @@ -146,7 +159,12 @@ public class AlignmentSorter { } } - setOrder(align,tmp); + if(sortTreeAscending) + setOrder(align,tmp); + else + setReverseOrder(align, vectorToArray(tmp)); + + sortTreeAscending = !sortTreeAscending; } private static void addStrays(AlignmentI align, Vector seqs) {