/*******************************************************************************
* Copyright (c) 2017 Rogue Wave Software Inc. 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:
* Michał Niewrzał (Rogue Wave Software Inc.) - initial implementation
*******************************************************************************/
package org.eclipse.php.composer.ui.terminal;
import java.util.Map;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector;
import org.eclipse.tm.terminal.connector.process.ProcessLauncherDelegate;
import org.eclipse.tm.terminal.view.core.interfaces.ITerminalService.Done;
import org.eclipse.ui.console.AbstractConsole;
import org.eclipse.ui.console.IConsoleView;
import org.eclipse.ui.part.IPageBookViewPage;
public class TerminalConsole extends AbstractConsole {
private final ITerminalConnector terminalConnector;
private final int index;
private TerminalConsolePage terminalConsolePage;
private Done done;
public TerminalConsole(String title, int index, Map<String, Object> properties, Done done) {
super(title, null);
this.terminalConnector = new ProcessLauncherDelegate().createTerminalConnector(properties);
this.index = index;
this.done = done;
}
public IPageBookViewPage createPage(IConsoleView view) {
view.setFocus();
this.terminalConsolePage = new TerminalConsolePage(this, done);
return terminalConsolePage;
}
public ITerminalConnector getTerminalConnector() {
return terminalConnector;
}
public TerminalConsolePage getTerminalConsolePage() {
return terminalConsolePage;
}
public int getIndex() {
return index;
}
}