import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.ui.part.ViewPart;
import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.simantics.scl.compiler.commands.CommandSession;
import org.simantics.scl.compiler.commands.CommandSessionImportEntry;
import org.simantics.scl.compiler.commands.SCLConsoleListener;
import org.simantics.scl.compiler.module.repository.UpdateListener;
import org.simantics.scl.compiler.testing.TestRunnable;
import org.simantics.scl.osgi.internal.TestUtils;
+import org.simantics.scl.runtime.reporting.SCLReportingHandler;
import org.simantics.scl.ui.Activator;
import org.simantics.scl.ui.imports.internal.ManageImportsDialog;
import org.simantics.scl.ui.tests.SCLTestsDialog;
@Override
public void createPartControl(Composite parent) {
store = new ScopedPreferenceStore(InstanceScope.INSTANCE, PLUGIN_ID);
+ store.setDefault(REFRESH_AUTOMATICALLY, true);
+
this.console = new SCLConsole(parent, SWT.NONE);
setRefreshAutomatically(store.getBoolean(REFRESH_AUTOMATICALLY), false);
IToolBarManager toolBarManager = getViewSite().getActionBars().getToolBarManager();
// Interrupt action
- final Action interruptAction = new Action("Interrupt current command",
- Activator.imageDescriptorFromPlugin("org.simantics.scl.ui", "icons/stop.png")) {
- @Override
- public void run() {
- console.interruptCurrentCommands();
- }
- };
- interruptAction.setDisabledImageDescriptor(
- Activator.imageDescriptorFromPlugin("org.simantics.scl.ui", "icons/stop_disabled.png"));
- interruptAction.setEnabled(false);
+ Action interruptAction = ConsoleActions.createInterruptAction(console);
toolBarManager.add(interruptAction);
// Clear console action
- final Action clearAction = new Action("Clear console",
- Activator.imageDescriptorFromPlugin("org.simantics.scl.ui", "icons/clear_console.png")) {
- @Override
- public void run() {
- setEnabled(false);
- console.clear();
- }
- };
- clearAction.setDisabledImageDescriptor(
- Activator.imageDescriptorFromPlugin("org.simantics.scl.ui", "icons/clear_console_disabled.png"));
- clearAction.setEnabled(false);
+ Action clearAction = ConsoleActions.createClearAction(console);
toolBarManager.add(clearAction);
+
console.addListener(new SCLConsoleListener() {
@Override
public void startedExecution() {
console.dispose();
}
+ @SuppressWarnings("unchecked")
+ @Override
+ public <T> T getAdapter(Class<T> adapter) {
+ if (adapter == CommandSession.class)
+ return (T) console.getSession();
+ if (adapter == SCLReportingHandler.class)
+ return (T) console.getHandler();
+ return super.getAdapter(adapter);
+ }
+
}