| /******************************************************************************* |
| * Copyright (c) 2015 Christian Pontesegger and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v2.0 |
| * which accompanies this distribution, and is available at |
| * https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * Contributors: |
| * Christian Pontesegger - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.ease.ui.view; |
| |
| import org.eclipse.ease.IScriptEngine; |
| import org.eclipse.swt.widgets.Composite; |
| import org.eclipse.ui.IWorkbenchPartSite; |
| |
| /** |
| * Interface for shell drop-ins. A shell drop-in is a composite adding additional features to the script shell view. It resides in a sidebar of the shell and is |
| * connected to the current script engine. |
| */ |
| public interface IShellDropin { |
| |
| /** |
| * Sets the script engine for this drop-in. If the engine is changed during runtime, this method gets called another time. For all other scripting events |
| * this drop-in should register a listener on the script engine. |
| * |
| * @param engine |
| * script engine used in shell view |
| */ |
| public void setScriptEngine(IScriptEngine engine); |
| |
| /** |
| * Create the drop-in visual components. |
| * |
| * @param site |
| * workbench part site this drop-in is registered to |
| * @param parent |
| * parent container to render in |
| * @return composite created within parent container (may not be <code>null</code>) |
| */ |
| public Composite createPartControl(final IWorkbenchPartSite site, final Composite parent); |
| |
| /** |
| * Get this drop-in title. The title is used to populate a tabitem. |
| * |
| * @return drop-in title |
| */ |
| public String getTitle(); |
| } |