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%2FOsgiBootLauncherTabGroup.java;h=419862d86af9a7ee81e554080ed71b9b114b9b79;hb=16016e4621c540a86bbc40c040bc9d528a5b573d;hp=a184135867240951b83dcb6ebc8948cc4f4a3685;hpb=24f738dcddf83ec2c13fe2e7498a47a4bcd0f427;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/OsgiBootLauncherTabGroup.java b/eclipse/plugins/org.argeo.slc.ide.ui/src/main/java/org/argeo/slc/ide/ui/launch/osgi/OsgiBootLauncherTabGroup.java index a18413586..419862d86 100644 --- a/eclipse/plugins/org.argeo.slc.ide.ui/src/main/java/org/argeo/slc/ide/ui/launch/osgi/OsgiBootLauncherTabGroup.java +++ b/eclipse/plugins/org.argeo.slc.ide.ui/src/main/java/org/argeo/slc/ide/ui/launch/osgi/OsgiBootLauncherTabGroup.java @@ -1,5 +1,7 @@ package org.argeo.slc.ide.ui.launch.osgi; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; import org.eclipse.debug.ui.CommonTab; import org.eclipse.debug.ui.EnvironmentTab; import org.eclipse.debug.ui.ILaunchConfigurationDialog; @@ -15,8 +17,43 @@ public class OsgiBootLauncherTabGroup extends OSGiLauncherTabGroup { @Override public void createTabs(ILaunchConfigurationDialog dialog, String mode) { ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] { - new JavaArgumentsTab(), new EnvironmentTab(), new BundlesTab(), - new OSGiSettingsTab(), new TracingTab(), new CommonTab() }; + new OsgiBootMainTab(), + new BundlesTab() { + private boolean activating = false; + + @Override + public void performApply( + ILaunchConfigurationWorkingCopy config) { + super.performApply(config); + if (activating) { + try { + config.doSave(); + } catch (CoreException e) { + e.printStackTrace(); + } + activating = false; + } + } + + @Override + public void activated( + ILaunchConfigurationWorkingCopy workingCopy) { + activating = true; + } + }, new OSGiSettingsTab(), new EnvironmentTab(), + new JavaArgumentsTab() { + private boolean initializing = false; + + @Override + public void performApply( + ILaunchConfigurationWorkingCopy configuration) { + if (initializing) + return; + initializing = true; + initializeFrom(configuration); + initializing = false; + } + }, new TracingTab(), new CommonTab() }; setTabs(tabs); }