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;
/**
*
* @author vince - vince at guinaree dot com
*
*/
public abstract class AbstractScriptEdit
implements ScriptEdit
{
private Control control;
protected abstract Control _createControl(Composite parent);
@Override
public final Control createControl(Composite parent) {
control = _createControl(parent);
return control;
}
@Override
public final Control getControl() {
return control;
}
@Override
public void init() {
}
private ScriptEditFactory scriptEditFactory;
@Override
public void setScriptEditFactory(ScriptEditFactory scriptEditFactory) {
this.scriptEditFactory = scriptEditFactory;
}
@Override
public ScriptEditFactory getScriptEditFactory() {
return scriptEditFactory;
}
private Script script;
@Override
public Script getScript() {
return script;
}
@Override
public void setScript(Script script) {
this.script = script;
}
@Override
public IManagedForm getManagedForm() {
if (formPage == null)
return null;
return formPage.getManagedForm();
}
private IScriptEditorContentPage formPage;
@Override
public IScriptEditorContentPage getFormPage() {
return formPage;
}
@Override
public void setFormPage(IScriptEditorContentPage formPage) {
this.formPage = formPage;
}
private ScriptEditorPageController controller;
public void setController(ScriptEditorPageController controller) {
this.controller = controller;
}
public ScriptEditorPageController getController() {
return controller;
}
}