blob: bb036a481ec971d472115e710c29c8c249a4a968 [file] [log] [blame]
/*******************************************************************************
* 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();
}