From 263b70c6c296776e942b7875023cafd293dee0b4 Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Tue, 14 Dec 2004 11:16:47 +0000 Subject: [PATCH] Choosing sort again reverses the sort order --- src/jalview/analysis/AlignmentSorter.java | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) 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) { -- 1.7.10.2