todo navigation: respect order (IDEA-51997)
authorAnna Kozlova <anna.kozlova@jetbrains.com>
Thu, 26 Jan 2012 12:34:03 +0000 (16:34 +0400)
committerAnna Kozlova <anna.kozlova@jetbrains.com>
Thu, 26 Jan 2012 12:34:53 +0000 (16:34 +0400)
platform/lang-impl/src/com/intellij/ide/todo/TodoTreeBuilder.java
platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java

index a0c783cfaf659c4f998c2f1ec6cd89c7013bdb7b..156ee77bd161479bd6bf82f81c57ab30722cae2f 100644 (file)
@@ -539,6 +539,7 @@ public abstract class TodoTreeBuilder extends AbstractTreeBuilder {
       return null;
     }
     Object[] children = getTreeStructure().getChildElements(parent);
+    Arrays.sort(children, getUi().getNodeDescriptorComparator());
     int idx = -1;
     for (int i = 0; i < children.length; i++) {
       if (obj.equals(children[i])) {
@@ -584,6 +585,7 @@ public abstract class TodoTreeBuilder extends AbstractTreeBuilder {
       return null;
     }
     Object[] children = getTreeStructure().getChildElements(parent);
+    Arrays.sort(children, getUi().getNodeDescriptorComparator());
     int idx = -1;
     for (int i = 0; i < children.length; i++) {
       if (obj.equals(children[i])) {
index 6997d30dbed7e62450ecb97e0cd6769e4026e491..ced3ab62d05d315966c51a478ef3688562919e0a 100644 (file)
@@ -3570,6 +3570,10 @@ public class AbstractTreeUi {
     }
   }
 
+  public Comparator getNodeDescriptorComparator() {
+    return myNodeDescriptorComparator;
+  }
+
   private void disposeNode(DefaultMutableTreeNode node) {
     TreeNode parent = node.getParent();
     if (parent instanceof DefaultMutableTreeNode) {