Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Rich Client Platform (RCP) » Creating a console view in the RCP Application
Creating a console view in the RCP Application [message #660096] Wed, 16 March 2011 15:11 Go to previous message
Prithviraj Patil is currently offline Prithviraj Patil
Messages: 10
Registered: February 2011
Junior Member
Hi.
I am new to RCP and am trying to add a console view, similar to the one in Eclipse in my RCP Application. I am unable to add the console itself. I want to display the log contents generated by log4j in it.
Currently I have tried 2 methods to add a console view, however to no avail.

1. I added the following to my Perspective.java class

MessageConsole myConsole = new MessageConsole("Console", Activator
.getImageDescriptor("icons/book.png"));
ConsolePlugin.getDefault().getConsoleManager()
.addConsoles(new IConsole[] { myConsole });
final MessageConsoleStream stream = myConsole.newMessageStream();

final PrintStream myS = new PrintStream(stream);
System.setOut(myS);
System.setErr(myS);

2. This is a piece of code I came across on one forum. the displayConsoleView is returning 'false'.
error received : Could not create view: org.eclipse.ui.console.ConsoleView

Do I have to create a view in the extensions of my application first? or should this be created at runtime?

package org.taf.ui;

import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.text.IDocument;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.console.ConsolePlugin;
import org.eclipse.ui.console.IConsole;
import org.eclipse.ui.console.IConsoleConstants;
import org.eclipse.ui.console.MessageConsole;
import org.eclipse.ui.console.MessageConsoleStream;

/**
* Create an instance of this class in any of your plugin classes.
*
* Use it as follows ...
*
* ConsoleDisplayMgr.getDefault().println("Some error msg",
* ConsoleDisplayMgr.MSG_ERROR); ... ... ConsoleDisplayMgr.getDefault().clear();
* ...
*/
public class ConsoleDisplayMgr {
private static ConsoleDisplayMgr fDefault = null;
private String fTitle = null;
private MessageConsole fMessageConsole = null;

public static final int MSG_INFORMATION = 1;
public static final int MSG_ERROR = 2;
public static final int MSG_WARNING = 3;

public ConsoleDisplayMgr(String messageTitle) {
fDefault = this;
fTitle = messageTitle;
}

public static ConsoleDisplayMgr getDefault() {
return fDefault;
}

public void println(String msg, int msgKind) {
if (msg == null)
return;
if (!displayConsoleView()) {
MessageDialog.openError(PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getShell(), "Error", msg);
return;
}
getNewMessageConsoleStream(msgKind).println(msg);
}

public void clear() {
IDocument document = getMessageConsole().getDocument();
if (document != null) {
document.set("");
}
}

public boolean displayConsoleView() {
try {
IWorkbenchWindow activeWorkbenchWindow = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow();
if (activeWorkbenchWindow != null) {
IWorkbenchPage activePage = activeWorkbenchWindow
.getActivePage();
PlatformUI
.getWorkbench()
.getActiveWorkbenchWindow()
.getActivePage()
.showView(IConsoleConstants.ID_CONSOLE_VIEW, null,
IWorkbenchPage.VIEW_VISIBLE);
if (activePage != null)
activePage.showView(IConsoleConstants.ID_CONSOLE_VIEW,
null, IWorkbenchPage.VIEW_VISIBLE);
}
} catch (PartInitException partEx) {
return false;
}
return true;
}

private MessageConsoleStream getNewMessageConsoleStream(int msgKind) {
int swtColorId = SWT.COLOR_DARK_GREEN;
switch (msgKind) {
case MSG_INFORMATION:
swtColorId = SWT.COLOR_DARK_GREEN;
break;
case MSG_ERROR:
swtColorId = SWT.COLOR_DARK_MAGENTA;
break;
case MSG_WARNING:
swtColorId = SWT.COLOR_DARK_BLUE;
break;
default:
}
MessageConsoleStream msgConsoleStream = getMessageConsole()
.newMessageStream();
msgConsoleStream.setColor(Display.getCurrent().getSystemColo r(
swtColorId));
return msgConsoleStream;
}

private MessageConsole getMessageConsole() {
if (fMessageConsole == null)
createMessageConsoleStream(fTitle);
return fMessageConsole;
}

private void createMessageConsoleStream(String title) {
fMessageConsole = new MessageConsole(title, null);
ConsolePlugin.getDefault().getConsoleManager()
.addConsoles(new IConsole[] { fMessageConsole });
}
}
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic:Help Home depending on user language
Next Topic:Nested "modal" editor?
Goto Forum:
  


Current Time: Sun May 19 16:43:47 EDT 2013

Powered by FUDForum. Page generated in 0.01783 seconds