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=c52c767cc3c23b1258f1744f30f51886aaceb36a;hb=1ff8b2dd13c5a2472960bcde78946267da351013;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..c52c767cc 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 @@ -23,6 +23,10 @@ import org.eclipse.swt.widgets.Text; 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 +36,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("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"); + } + protected void createAdditionalProgramArgs(Composite parent) { Group container = new Group(parent, SWT.NONE); container.setText("Additional Program Arguments"); @@ -92,6 +116,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 +135,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 +153,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");