package org.nightlabs.jfire.scripting.admin.ui.editor.scriptedit;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.forms.IManagedForm;
import org.nightlabs.jfire.scripting.Script;
import org.nightlabs.jfire.scripting.admin.ui.editor.IScriptEditorContentPage;
import org.nightlabs.jfire.scripting.admin.ui.editor.ScriptEditorPageController;
public interface ScriptEdit
{
/**
* Set the {@link ScriptEditFactory} which created this {@link ScriptEdit} instance.
* This method must be called by the <code>ScriptEditFactory</code> in its {@link ScriptEditFactory#createScriptEdit()} method.
*
* @param scriptEditFactory the factory having created this instance.
*/
void setScriptEditFactory(ScriptEditFactory scriptEditFactory);
/**
* Get the {@link ScriptEditFactory} that was previously set via {@link #setScriptEditFactory(ScriptEditFactory)}.
*
* @return the factory having created this instance.
*/
ScriptEditFactory getScriptEditFactory();
/**
*
*/
void init();
Control createControl(Composite parent);
Control getControl();
void setScript(Script script);
Script getScript();
void setFormPage(IScriptEditorContentPage formPage);
IScriptEditorContentPage getFormPage();
IManagedForm getManagedForm();
void setController(ScriptEditorPageController controller);
ScriptEditorPageController getController();
}