diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/DebuggerSessionTab.java b/java/debugger/impl/src/com/intellij/debugger/ui/DebuggerSessionTab.java index 03ca33faf10d..a95baf60fdf6 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/DebuggerSessionTab.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/DebuggerSessionTab.java @@ -39,7 +39,10 @@ import com.intellij.execution.filters.TextConsoleBuilderFactory; import com.intellij.execution.runners.ExecutionEnvironment; import com.intellij.execution.runners.ProgramRunner; import com.intellij.execution.runners.RestartAction; -import com.intellij.execution.ui.*; +import com.intellij.execution.ui.ConsoleView; +import com.intellij.execution.ui.ExecutionConsoleEx; +import com.intellij.execution.ui.RunContentDescriptor; +import com.intellij.execution.ui.RunnerLayoutUi; import com.intellij.execution.ui.actions.CloseAction; import com.intellij.execution.ui.layout.LayoutAttractionPolicy; import com.intellij.execution.ui.layout.LayoutViewOptions; @@ -69,7 +72,6 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; import javax.swing.tree.TreePath; -import java.util.Collection; import java.util.List; public class DebuggerSessionTab extends DebuggerSessionTabBase implements Disposable { @@ -366,19 +368,6 @@ public class DebuggerSessionTab extends DebuggerSessionTabBase implements Dispos return myRunContentDescriptor; } - private void attachNotificationTo(final Content content) { - if (myConsole instanceof ObservableConsoleView) { - ObservableConsoleView observable = (ObservableConsoleView)myConsole; - observable.addChangeListener(new ObservableConsoleView.ChangeListener() { - public void contentAdded(final Collection types) { - if (types.contains(ConsoleViewContentType.ERROR_OUTPUT) || types.contains(ConsoleViewContentType.NORMAL_OUTPUT)) { - content.fireAlert(); - } - } - }, content); - } - } - private static void addAction(DefaultActionGroup group, String actionId) { group.add(ActionManager.getInstance().getAction(actionId)); } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/DebuggerSessionTabBase.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/DebuggerSessionTabBase.java index fa346c0359d0..1b5cd0294d10 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/DebuggerSessionTabBase.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/DebuggerSessionTabBase.java @@ -22,9 +22,7 @@ import com.intellij.execution.configurations.RunProfile; import com.intellij.execution.executors.DefaultDebugExecutor; import com.intellij.execution.process.ProcessHandler; import com.intellij.execution.runners.ExecutionEnvironment; -import com.intellij.execution.ui.ExecutionConsole; -import com.intellij.execution.ui.RunContentDescriptor; -import com.intellij.execution.ui.RunnerLayoutUi; +import com.intellij.execution.ui.*; import com.intellij.ide.impl.ProjectUtil; import com.intellij.openapi.Disposable; import com.intellij.openapi.application.ApplicationManager; @@ -47,6 +45,7 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.io.File; import java.io.Reader; +import java.util.Collection; import java.util.HashMap; import java.util.Map; @@ -136,6 +135,19 @@ public abstract class DebuggerSessionTabBase implements DebuggerLogConsoleManage addLogConsole(name, path, skippedContent, DEFAULT_TAB_COMPONENT_ICON); } + protected void attachNotificationTo(final Content content) { + if (myConsole instanceof ObservableConsoleView) { + ObservableConsoleView observable = (ObservableConsoleView)myConsole; + observable.addChangeListener(new ObservableConsoleView.ChangeListener() { + public void contentAdded(final Collection types) { + if (types.contains(ConsoleViewContentType.ERROR_OUTPUT) || types.contains(ConsoleViewContentType.NORMAL_OUTPUT)) { + content.fireAlert(); + } + } + }, content); + } + } + @Nullable public static String getLogContentId(@NotNull String tabTitle) { return "Log-" + tabTitle; diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/XDebugSessionTab.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/XDebugSessionTab.java index d9f736e3d534..0a9f8577f137 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/XDebugSessionTab.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/XDebugSessionTab.java @@ -28,7 +28,9 @@ import com.intellij.execution.runners.ExecutionEnvironment; import com.intellij.execution.runners.ProgramRunner; import com.intellij.execution.runners.RestartAction; import com.intellij.execution.runners.RunContentBuilder; -import com.intellij.execution.ui.*; +import com.intellij.execution.ui.ExecutionConsole; +import com.intellij.execution.ui.RunContentDescriptor; +import com.intellij.execution.ui.RunnerLayoutUi; import com.intellij.execution.ui.actions.CloseAction; import com.intellij.execution.ui.layout.PlaceInGrid; import com.intellij.ide.CommonActionsManager; @@ -52,7 +54,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; -import java.util.Collection; import java.util.List; /** @@ -179,16 +180,8 @@ public class XDebugSessionTab extends DebuggerSessionTabBase { myUi.addContent(createWatchesContent(session, sessionData), 0, PlaceInGrid.right, false); final Content consoleContent = createConsoleContent(); myUi.addContent(consoleContent, 1, PlaceInGrid.bottom, false); - if (myConsole instanceof ObservableConsoleView) { - ObservableConsoleView observable = (ObservableConsoleView)myConsole; - observable.addChangeListener(new ObservableConsoleView.ChangeListener() { - public void contentAdded(final Collection types) { - if (types.contains(ConsoleViewContentType.ERROR_OUTPUT) || types.contains(ConsoleViewContentType.SYSTEM_OUTPUT)) { - consoleContent.fireAlert(); - } - } - }, consoleContent); - } + attachNotificationTo(consoleContent); + session.getDebugProcess().registerAdditionalContent(myUi); RunContentBuilder.addAdditionalConsoleEditorActions(myConsole, consoleContent); myUi.addContent(consoleContent, 0, PlaceInGrid.bottom, false);