X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=eclipse%2Fplugins%2Forg.argeo.slc.ide.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fide%2Fui%2Flaunch%2Fosgi%2FOsgiBootMainTab.java;h=d0a76ce9d2c1344649673c547c1973c3c40a33e5;hb=331ed178b4b5ee277a5c62477d4892f8f089a8b9;hp=95d32eb9552cd60f9fb9af92d97442e8be035ff1;hpb=01e4319b49fcc2a6cdf6f0f9271ae27343c7430f;p=gpl%2Fargeo-slc.git diff --git a/eclipse/plugins/org.argeo.slc.ide.ui/src/main/java/org/argeo/slc/ide/ui/launch/osgi/OsgiBootMainTab.java b/eclipse/plugins/org.argeo.slc.ide.ui/src/main/java/org/argeo/slc/ide/ui/launch/osgi/OsgiBootMainTab.java index 95d32eb95..d0a76ce9d 100644 --- a/eclipse/plugins/org.argeo.slc.ide.ui/src/main/java/org/argeo/slc/ide/ui/launch/osgi/OsgiBootMainTab.java +++ b/eclipse/plugins/org.argeo.slc.ide.ui/src/main/java/org/argeo/slc/ide/ui/launch/osgi/OsgiBootMainTab.java @@ -20,24 +20,56 @@ import org.eclipse.swt.widgets.Group; 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; 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); 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"); @@ -92,6 +124,11 @@ public class OsgiBootMainTab extends AbstractLaunchConfigurationTab implements 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( @@ -106,19 +143,26 @@ public class OsgiBootMainTab extends AbstractLaunchConfigurationTab implements 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 - .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) { // 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");