From 0bdf176f0e4a3b03c6231f9cb7b0f0eee7bf96c0 Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Fri, 25 Sep 2015 15:30:27 +0300 Subject: [PATCH] IDEA-144727 Allow to quickly hide/show object types - fixed for evaluate dialog --- .../debugger/actions/ShowTypesAction.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/actions/ShowTypesAction.java b/java/debugger/impl/src/com/intellij/debugger/actions/ShowTypesAction.java index 116dcc43e050..70c87fde3e45 100644 --- a/java/debugger/impl/src/com/intellij/debugger/actions/ShowTypesAction.java +++ b/java/debugger/impl/src/com/intellij/debugger/actions/ShowTypesAction.java @@ -21,7 +21,9 @@ import com.intellij.openapi.actionSystem.RegistryToggleAction; import com.intellij.openapi.project.Project; import com.intellij.xdebugger.XDebugSession; import com.intellij.xdebugger.XDebuggerManager; -import com.intellij.xdebugger.impl.XDebuggerUtilImpl; +import com.intellij.xdebugger.impl.ui.XDebugSessionTab; +import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree; +import com.intellij.xdebugger.impl.ui.tree.XDebuggerTreeState; import org.jetbrains.annotations.NotNull; /** @@ -34,7 +36,19 @@ public class ShowTypesAction extends RegistryToggleAction { @Override public void doWhenDone(AnActionEvent e) { - XDebuggerUtilImpl.rebuildAllSessionsViews(e.getProject()); + Project project = e.getProject(); + if (project != null) { + if (e.getData(XDebugSessionTab.TAB_KEY) == null) { + XDebuggerTree tree = XDebuggerTree.getTree(e); + if (tree != null) { + tree.rebuildAndRestore(XDebuggerTreeState.saveState(tree)); + } + } + XDebugSession session = XDebuggerManager.getInstance(project).getCurrentSession(); + if (session != null) { + session.rebuildViews(); + } + } } @Override