/*=============================================================================# # Copyright (c) 2005-2016 Stephan Wahlbrink (WalWare.de) and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html # # Contributors: # Stephan Wahlbrink - initial API and implementation #=============================================================================*/ package de.walware.statet.r.console.ui; import org.eclipse.ui.console.IConsoleView; import org.eclipse.ui.part.IPageBookViewPage; import de.walware.ecommons.preferences.core.IPreferenceAccess; import de.walware.statet.nico.core.NicoCore; import de.walware.statet.nico.ui.console.NIConsole; import de.walware.statet.nico.ui.console.NIConsoleColorAdapter; import de.walware.statet.r.console.core.RProcess; import de.walware.statet.r.core.IRCoreAccess; import de.walware.statet.r.core.RCodeStyleSettings; import de.walware.statet.r.core.RCore; import de.walware.statet.r.core.renv.IREnv; import de.walware.statet.r.internal.console.ui.page.RConsolePage; import de.walware.statet.r.launching.ui.RErrorLineTracker; public class RConsole extends NIConsole implements IRCoreAccess { private final IPreferenceAccess prefs; public RConsole(final RProcess process, final NIConsoleColorAdapter adapter) { super(process, adapter); final RErrorLineTracker lineMatcher= new RErrorLineTracker(process); addPatternMatchListener(lineMatcher); this.prefs= NicoCore.getInstanceConsolePreferences(); } @Override public IPageBookViewPage createPage(final IConsoleView view) { return new RConsolePage(this, view); } @Override protected String getSymbolicFontName() { return "de.walware.workbench.themes.ConsoleFont"; //$NON-NLS-1$ } @Override public IPreferenceAccess getPrefs() { return this.prefs; } @Override public IREnv getREnv() { return (IREnv) getProcess().getAdapter(IREnv.class); } @Override public RCodeStyleSettings getRCodeStyle() { return RCore.WORKBENCH_ACCESS.getRCodeStyle(); } }