Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/BuildConsoleManager.java')
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/BuildConsoleManager.java238
1 files changed, 0 insertions, 238 deletions
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/BuildConsoleManager.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/BuildConsoleManager.java
deleted file mode 100644
index 7bdbc4adb2b..00000000000
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/BuildConsoleManager.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * (c) Copyright QNX Software System Ltd. 2002.
- * All Rights Reserved.
- */
-package org.eclipse.cdt.internal.ui;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.cdt.core.ConsoleOutputStream;
-import org.eclipse.cdt.core.resources.IConsole;
-import org.eclipse.cdt.internal.ui.preferences.BuildConsolePreferencePage;
-import org.eclipse.cdt.ui.CUIPlugin;
-import org.eclipse.cdt.ui.IBuildConsoleListener;
-import org.eclipse.cdt.ui.IBuildConsoleManager;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-
-public class BuildConsoleManager implements IBuildConsoleManager, IResourceChangeListener, IPropertyChangeListener {
- private HashMap fConsoleDocumentMap;
- ListenerList listeners = new ListenerList(1);
-
- private class BuildConsoleDocument extends Document {
-
- private int fMaxLines;
-
- public BuildConsoleDocument(int nLines) {
- super();
- fMaxLines = nLines;
- }
-
- public void setDocumentSize(int nLines) {
- fMaxLines = nLines;
- nLines = getNumberOfLines();
- if (nLines > fMaxLines) {
- try {
- int start = getLineOffset(nLines - fMaxLines);
- String part = get(start, getLength() - start);
- set(part);
- } catch (BadLocationException e) {
- }
- }
- }
-
- public BuildConsoleDocument(String initialContent) {
- super(initialContent);
- }
-
- public void replace(int offset, int length, String text) throws BadLocationException {
- super.replace(offset, length, text);
- int nLines = getNumberOfLines();
- if (nLines > fMaxLines) {
- int start = getLineOffset(nLines - fMaxLines);
- String part = get(start, getLength() - start);
- set(part);
- }
- }
- }
-
- private class BuildConsole extends ConsoleOutputStream implements IConsole {
- protected BuildConsoleDocument fDocument;
-
- public BuildConsole() {
- fDocument = new BuildConsoleDocument(BuildConsolePreferencePage.buildConsoleLines());
- }
-
- public void setConsoleSize(int nLines) {
- fDocument.setDocumentSize(nLines);
- }
-
- public void start(IProject project) {
- if (BuildConsolePreferencePage.isClearBuildConsole()) {
- clear();
- }
- Object[] list = listeners.getListeners();
- if (list.length > 0) {
- for (int i = 0; i < list.length; i++) {
- IBuildConsoleListener listener = (IBuildConsoleListener) list[i];
- ConsoleEvent event = new ConsoleEvent(BuildConsoleManager.this, project, ConsoleEvent.CONSOLE_START);
- listener.consoleChange(event);
- }
- }
- }
-
- public void clear() {
- super.clear();
- Display.getDefault().syncExec(new Runnable() {
- public void run() {
- fDocument.set("");
- }
- });
- }
-
- public ConsoleOutputStream getOutputStream() {
- return this;
- }
-
- public IDocument getDocument() {
- return fDocument;
- }
-
- public void flush() throws IOException {
- Display.getDefault().syncExec(new Runnable() {
- public void run() {
- if (BuildConsolePreferencePage.isConsoleOnTop())
- bringConsoleOnTop();
- try {
- int len = fDocument.getLength();
- fDocument.replace(len, 0, readBuffer());
- } catch (BadLocationException x) {
- }
- }
- });
- }
-
- void bringConsoleOnTop() {
- IWorkbenchWindow window = CUIPlugin.getDefault().getActiveWorkbenchWindow();
- if (window == null)
- return;
- IWorkbenchPage page = window.getActivePage();
- if (page != null) {
- try {
- // show the build console
- IViewPart cBuild = page.findView(CUIPlugin.CONSOLE_ID);
- if (cBuild == null) {
- if (BuildConsolePreferencePage.isAutoOpenConsole()) {
- IWorkbenchPart activePart = page.getActivePart();
- cBuild = page.showView(CUIPlugin.CONSOLE_ID);
- //restore focus
- page.activate(activePart);
- }
- } else {
- page.bringToTop(cBuild);
- }
- } catch (PartInitException pie) {
- }
- }
- }
-
- public void close() throws IOException {
- flush();
- }
-
- }
-
- public BuildConsoleManager() {
- fConsoleDocumentMap = new HashMap();
- }
-
- /**
- * Traverses the delta looking for added/removed/changed launch
- * configuration files.
- *
- * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)
- */
- public void resourceChanged(IResourceChangeEvent event) {
- if (fConsoleDocumentMap == null) {
- return;
- }
- IResource resource = event.getResource();
- if (resource != null && resource.getType() == IResource.PROJECT) {
- if (event.getType() == IResourceChangeEvent.PRE_DELETE || event.getType() == IResourceChangeEvent.PRE_CLOSE) {
- fConsoleDocumentMap.remove(resource);
- Object[] list = listeners.getListeners();
- if (list.length > 0) {
- for (int i = 0; i < list.length; i++) {
- IBuildConsoleListener listener = (IBuildConsoleListener) list[i];
- ConsoleEvent consoleEvent = new ConsoleEvent(this, (IProject) resource, ConsoleEvent.CONSOLE_CLOSE);
- listener.consoleChange(consoleEvent);
- }
- }
- }
- }
- }
-
- public void shutdown() {
- CUIPlugin.getWorkspace().removeResourceChangeListener(this);
- CUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
- }
-
- public void startup() {
- CUIPlugin.getWorkspace().addResourceChangeListener(this);
- CUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
- }
-
- private BuildConsole getBuildConsole(IProject project) {
- BuildConsole console = (BuildConsole) fConsoleDocumentMap.get(project);
- if (console == null) {
- console = new BuildConsole();
- fConsoleDocumentMap.put(project, console);
- }
- return console;
- }
-
- public IConsole getConsole(IProject project) {
- return getBuildConsole(project);
- }
-
- public IDocument getConsoleDocument(IProject project) {
- return getBuildConsole(project).getDocument();
- }
-
- public void addConsoleListener(IBuildConsoleListener listener) {
- listeners.add(listener);
- }
-
- public void removeConsoleListener(IBuildConsoleListener listener) {
- listeners.remove(listener);
- }
-
- public void propertyChange(PropertyChangeEvent event) {
- if (event.getProperty() == BuildConsolePreferencePage.PREF_BUILDCONSOLE_LINES) {
- Collection consoles = fConsoleDocumentMap.values();
- Iterator iter = consoles.iterator();
- while (iter.hasNext()) {
- BuildConsole console = (BuildConsole) iter.next();
- console.setConsoleSize(BuildConsolePreferencePage.buildConsoleLines());
- }
- }
- }
-
-}

Back to the top