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=0195aa8efdb37a7a58718436226e05de6d2cec59;hb=331ed178b4b5ee277a5c62477d4892f8f089a8b9;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..0195aa8ef 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,22 +1,47 @@ 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; import org.eclipse.debug.ui.ILaunchConfigurationTab; -import org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab; import org.eclipse.pde.ui.launcher.BundlesTab; import org.eclipse.pde.ui.launcher.OSGiLauncherTabGroup; import org.eclipse.pde.ui.launcher.OSGiSettingsTab; import org.eclipse.pde.ui.launcher.TracingTab; +/** Definition of the set of tabs used in OSGi Boot launch configuration UI. */ 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(false), + 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 TracingTab(), new CommonTab() }; setTabs(tabs); }