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 Button syncBundles;
+ private Button clearDataDirectory;
+
private Button addJvmPaths;
private Text additionalVmArgs;
Composite container = new Composite(parent, SWT.NONE);
container.setLayout(new GridLayout());
container.setLayoutData(new GridData(GridData.FILL_BOTH));
+
+ createGeneral(container);
createAdditionalProgramArgs(container);
createAdditionalVmArgumentBlock(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("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");
+ }
+
protected void createAdditionalProgramArgs(Composite parent) {
Group container = new Group(parent, SWT.NONE);
container.setText("Additional Program Arguments");
public void initializeFrom(ILaunchConfiguration configuration) {
// System.out.println("initializeFrom");
try {
+ syncBundles.setSelection(configuration.getAttribute(
+ ATTR_SYNC_BUNDLES, true));
+ clearDataDirectory.setSelection(configuration.getAttribute(
+ ATTR_CLEAR_DATA_DIRECTORY, false));
+
additionalProgramArgs.setText(configuration.getAttribute(
ATTR_ADDITIONAL_PROGRAM_ARGS, ""));
addJvmPaths.setSelection(configuration.getAttribute(
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
// System.out.println("performApply");
+ 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
public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
// System.out.println("setDefaults");
+ configuration.setAttribute(ATTR_SYNC_BUNDLES, true);
+ configuration.setAttribute(ATTR_CLEAR_DATA_DIRECTORY, false);
configuration.setAttribute(ATTR_ADD_JVM_PATHS, false);
configuration.setAttribute(ATTR_ADDITIONAL_VM_ARGS, "-Xmx128m");
configuration.setAttribute(ATTR_ADDITIONAL_PROGRAM_ARGS, "-console");