always select the result node on evaluate

This commit is contained in:
Egor Ushakov
2018-01-17 19:33:19 +03:00
parent 8e3c235cd9
commit 31edc6bcdf
@@ -137,9 +137,7 @@ public class XDebuggerEvaluationDialog extends DialogWrapper {
}.registerCustomShortcutSet(new CustomShortcutSet(KeyStroke.getKeyStroke(KeyEvent.VK_R, InputEvent.ALT_DOWN_MASK)), getRootPane(),
myDisposable);
Condition<TreeNode> rootFilter = node -> node.getParent() instanceof EvaluatingExpressionRootNode;
myTreePanel.getTree().expandNodesOnLoad(rootFilter);
myTreePanel.getTree().selectNodeOnLoad(rootFilter);
myTreePanel.getTree().expandNodesOnLoad(getFirstChildCondition());
EvaluationMode mode = XDebuggerSettingManagerImpl.getInstanceImpl().getGeneralSettings().getEvaluationDialogMode();
if (mode == EvaluationMode.CODE_FRAGMENT && !myIsCodeFragmentEvaluationSupported) {
@@ -307,6 +305,7 @@ public class XDebuggerEvaluationDialog extends DialogWrapper {
final XDebuggerTree tree = myTreePanel.getTree();
tree.markNodesObsolete();
tree.setRoot(new EvaluatingExpressionRootNode(this, tree), false);
tree.selectNodeOnLoad(getFirstChildCondition());
myResultPanel.invalidate();
@@ -323,6 +322,10 @@ public class XDebuggerEvaluationDialog extends DialogWrapper {
}
}
private static Condition<TreeNode> getFirstChildCondition() {
return node -> node.getParent() instanceof EvaluatingExpressionRootNode;
}
@Override
public void doCancelAction() {
getInputEditor().saveTextInHistory();