package com.dubture.composer.ui.editor.composer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.forms.IManagedForm;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.ScrolledForm;
import com.dubture.composer.ui.editor.ComposerFormPage;
import com.dubture.composer.ui.editor.FormLayoutFactory;
public class ConfigurationPage extends ComposerFormPage {
public final static String ID = "com.dubture.composer.ui.editor.composer.ConfigurationPage";
protected ComposerFormEditor editor;
protected ConfigSection configSection;
protected ScriptsSection scriptsSection;
protected RepositoriesSection repositoriesSection;
private Composite left;
private Composite right;
/**
* @param editor
* @param id
* @param title
*/
public ConfigurationPage(ComposerFormEditor editor, String id, String title) {
super(editor, id, title);
this.editor = editor;
}
@Override
public void setActive(boolean active) {
super.setActive(active);
if (active) {
editor.getHeaderForm().getForm().setText("Configuration");
}
}
@Override
protected void createFormContent(IManagedForm managedForm) {
// general config settings (bin & target-dir)
// config
// packages
// scripts
ScrolledForm form = managedForm.getForm();
FormToolkit toolkit = managedForm.getToolkit();
form.getBody().setLayout(FormLayoutFactory.createFormGridLayout(true, 2));
left = toolkit.createComposite(form.getBody(), SWT.NONE);
left.setLayout(FormLayoutFactory.createFormPaneGridLayout(false, 1));
left.setLayoutData(new GridData(GridData.FILL_BOTH));
configSection = new ConfigSection(this, left);
configSection.setEnabled(enabled);
scriptsSection = new ScriptsSection(this, left);
scriptsSection.setEnabled(enabled);
right = toolkit.createComposite(form.getBody(), SWT.NONE);
right.setLayout(FormLayoutFactory.createFormPaneGridLayout(false, 1));
right.setLayoutData(new GridData(GridData.FILL_BOTH));
repositoriesSection = new RepositoriesSection(this, right);
repositoriesSection.setEnabled(enabled);
}
@Override
public void setEnabled(boolean enabled) {
super.setEnabled(enabled);
if (configSection != null) {
configSection.setEnabled(enabled);
scriptsSection.setEnabled(enabled);
repositoriesSection.setEnabled(enabled);
}
}
}