import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
+/** Main tab of OSGiBoot launch configuration UI. */
public class OsgiBootMainTab extends AbstractLaunchConfigurationTab implements
OsgiLauncherConstants {
private Listener listener = new Listener();
private Text additionalProgramArgs;
+ private final Boolean isEclipse;
+
+ public OsgiBootMainTab(Boolean isEclipse) {
+ super();
+ this.isEclipse = isEclipse;
+ }
+
public void createControl(Composite parent) {
Composite container = new Composite(parent, SWT.NONE);
container.setLayout(new GridLayout());
container.setLayoutData(new GridData(GridData.FILL_BOTH));
- createGeneral(container);
createAdditionalProgramArgs(container);
createAdditionalVmArgumentBlock(container);
+ createAdvanced(container);
Dialog.applyDialogFont(container);
setControl(container);
}
- protected void createGeneral(Composite parent) {
- Group container = new Group(parent, SWT.NONE);
- container.setText("General");
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- container.setLayout(layout);
- container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- syncBundles = new Button(container, SWT.CHECK);
- syncBundles.addSelectionListener(listener);
- new Label(container, SWT.NONE)
- .setText("Always keep bundle in line with the target platform");
- clearDataDirectory = new Button(container, SWT.CHECK);
- clearDataDirectory.addSelectionListener(listener);
- new Label(container, SWT.NONE)
- .setText("Clear data directory before launch");
- }
-
+ /** Init UI for programs arguments */
protected void createAdditionalProgramArgs(Composite parent) {
Group container = new Group(parent, SWT.NONE);
container.setText("Additional Program Arguments");
additionalProgramArgs.addModifyListener(listener);
}
+ /** Init UI for VM arguments */
protected void createAdditionalVmArgumentBlock(Composite parent) {
Group container = new Group(parent, SWT.NONE);
container.setText("Additional VM Arguments");
additionalVmArgs.setLayoutData(gd);
additionalVmArgs.addModifyListener(listener);
+ }
+
+ /** Init UI for Advanced section */
+ protected void createAdvanced(Composite parent) {
+ Group container = new Group(parent, SWT.NONE);
+ container.setText("Advanced");
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 2;
+ container.setLayout(layout);
+ container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+ syncBundles = new Button(container, SWT.CHECK);
+ syncBundles.addSelectionListener(listener);
+ new Label(container, SWT.NONE)
+ .setText("Keep bundles in line with target platform and workspace (recommended)");
+ clearDataDirectory = new Button(container, SWT.CHECK);
+ clearDataDirectory.addSelectionListener(listener);
+ new Label(container, SWT.NONE)
+ .setText("Clear data directory before launch");
+
addJvmPaths = new Button(container, SWT.CHECK);
addJvmPaths.addSelectionListener(listener);
new Label(container, SWT.NONE)
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
// System.out.println("performApply");
- configuration.setAttribute(ATTR_SYNC_BUNDLES, syncBundles
- .getSelection());
+ configuration.setAttribute(ATTR_SYNC_BUNDLES,
+ syncBundles.getSelection());
configuration.setAttribute(ATTR_CLEAR_DATA_DIRECTORY,
clearDataDirectory.getSelection());
configuration.setAttribute(ATTR_ADDITIONAL_PROGRAM_ARGS,
additionalProgramArgs.getText());
- configuration.setAttribute(ATTR_ADDITIONAL_VM_ARGS, additionalVmArgs
- .getText());
- configuration.setAttribute(ATTR_ADD_JVM_PATHS, addJvmPaths
- .getSelection());
+ configuration.setAttribute(ATTR_ADDITIONAL_VM_ARGS,
+ additionalVmArgs.getText());
+ configuration.setAttribute(ATTR_ADD_JVM_PATHS,
+ addJvmPaths.getSelection());
// writeProperties(configuration);
- OsgiLaunchHelper.updateLaunchConfiguration(configuration);
+ OsgiLaunchHelper.updateLaunchConfiguration(configuration, isEclipse);
}
public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {