1 package org.simantics.scl.ui.console;
3 import org.eclipse.jface.action.Action;
4 import org.eclipse.jface.action.IToolBarManager;
5 import org.eclipse.swt.SWT;
6 import org.eclipse.swt.widgets.Composite;
7 import org.eclipse.ui.part.ViewPart;
8 import org.simantics.scl.compiler.commands.SCLConsoleListener;
9 import org.simantics.scl.runtime.reporting.SCLReportingHandler;
12 * @author Tuukka Lehtonen
15 public class SCLScriptConsoleView extends ViewPart {
17 static class SCLOutputConsole extends SCLConsole {
18 public SCLOutputConsole(Composite parent, int style) {
19 super(parent, style, AbstractCommandConsole.HIDE_INPUT);
23 protected void addContributedListeners() {
27 SCLOutputConsole console;
30 public void createPartControl(Composite parent) {
31 this.console = new SCLOutputConsole(parent, SWT.NONE);
33 IToolBarManager toolBarManager = getViewSite().getActionBars().getToolBarManager();
34 Action interruptAction = ConsoleActions.createInterruptAction(console);
35 Action clearAction = ConsoleActions.createClearAction(console);
36 toolBarManager.add(interruptAction);
37 toolBarManager.add(clearAction);
39 console.addListener(new SCLConsoleListener() {
41 public void startedExecution() {
42 interruptAction.setEnabled(true);
45 public void finishedExecution() {
46 interruptAction.setEnabled(false);
49 public void consoleIsNotEmptyAnymore() {
50 clearAction.setEnabled(true);
54 toolBarManager.update(true);
58 public void setFocus() {
63 public void dispose() {
68 @SuppressWarnings("unchecked")
70 public <T> T getAdapter(Class<T> adapter) {
71 if (adapter == SCLReportingHandler.class)
72 return (T) console.getHandler();
73 return super.getAdapter(adapter);