correctly select created library (IDEADEV-40686)

This commit is contained in:
Dmitry Jemerov
2009-10-05 21:50:56 +04:00
parent a3815f908e
commit 3aae927fec
2 changed files with 9 additions and 12 deletions
@@ -45,7 +45,6 @@ import com.intellij.ui.treeStructure.Tree;
import com.intellij.util.ArrayUtil;
import com.intellij.util.Icons;
import com.intellij.util.ui.UIUtil;
import com.intellij.util.ui.tree.TreeUtil;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
@@ -222,17 +221,7 @@ public class LibraryTableEditor implements Disposable {
public void selectLibrary(Library library, boolean expand) {
LibraryTableTreeContentElement element = new LibraryElement(library, this, false);
myTreeBuilder.updateFromRoot();
DefaultMutableTreeNode node = myTreeBuilder.getNodeForElement(element);
if (node == null) {
return;
}
myTree.requestFocus();
final TreePath treePath = new TreePath(node.getPath());
TreeUtil.selectPath(myTree, treePath);
if (expand) {
myTree.expandPath(treePath);
}
myTreeBuilder.updateAndSelect(element);
}
public void disableAttachButtons() {
@@ -36,4 +36,12 @@ class LibraryTableTreeBuilder extends AbstractTreeBuilder {
protected ProgressIndicator createProgressIndicator() {
return new StatusBarProgress();
}
public void updateAndSelect(final LibraryTableTreeContentElement element) {
updateFromRootCB().doWhenDone(new Runnable() {
public void run() {
select(element);
}
});
}
}