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=cbe41cdc9d3a1f5ecd4fca93095b5e21b448305e;hb=56b28607f4c35706f0428b1b358b0e2033eb8448;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..cbe41cdc9 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,9 +20,14 @@ 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; @@ -32,12 +37,32 @@ public class OsgiBootMainTab extends AbstractLaunchConfigurationTab implements 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 +117,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,6 +136,11 @@ 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 @@ -119,6 +154,8 @@ public class OsgiBootMainTab extends AbstractLaunchConfigurationTab implements 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");