Skip to content

Commit e8c3e2d

Browse files
committed
Support alternative PageBookViewPage for console through adapter pattern
Currently one can supply alternative processes through IProcessFactory's but all of such processes must currently be a textconsole there is no way to supply an alternative or enhanced UI. This now uses the adapter pattern to support supply an alternative PageBookViewPage that is used to display the console.
1 parent 67a55ce commit e8c3e2d

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

debug/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java

+12
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import org.eclipse.core.resources.IWorkspace;
4545
import org.eclipse.core.resources.IWorkspaceRoot;
4646
import org.eclipse.core.resources.ResourcesPlugin;
47+
import org.eclipse.core.runtime.Adapters;
4748
import org.eclipse.core.runtime.CoreException;
4849
import org.eclipse.core.runtime.IPath;
4950
import org.eclipse.core.runtime.IProgressMonitor;
@@ -93,6 +94,7 @@
9394
import org.eclipse.ui.IWorkbenchPage;
9495
import org.eclipse.ui.PartInitException;
9596
import org.eclipse.ui.console.ConsolePlugin;
97+
import org.eclipse.ui.console.IConsoleView;
9698
import org.eclipse.ui.console.IHyperlink;
9799
import org.eclipse.ui.console.IOConsole;
98100
import org.eclipse.ui.console.IOConsoleInputStream;
@@ -102,6 +104,7 @@
102104
import org.eclipse.ui.console.TextConsole;
103105
import org.eclipse.ui.editors.text.EditorsUI;
104106
import org.eclipse.ui.part.FileEditorInput;
107+
import org.eclipse.ui.part.IPageBookViewPage;
105108
import org.eclipse.ui.progress.UIJob;
106109

107110
/**
@@ -280,6 +283,15 @@ protected ImageDescriptor computeImageDescriptor() {
280283
return null;
281284
}
282285

286+
@Override
287+
public IPageBookViewPage createPage(IConsoleView view) {
288+
IPageBookViewPage adapt = Adapters.adapt(getProcess(), IPageBookViewPage.class);
289+
if (adapt != null) {
290+
return adapt;
291+
}
292+
return super.createPage(view);
293+
}
294+
283295
/**
284296
* Computes and returns the current name of this console.
285297
*

0 commit comments

Comments
 (0)