package org.erlide.cover.ui.launch;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
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.erlide.ui.launch.CodepathTab;
import org.erlide.ui.launch.DebugTab;
/**
* Tab group for cover launch configuration
*
* @author Aleksandra Lipiec <aleksandra.lipiec@erlang.solutions.com>
*
*/
public class CoverTabGroup extends AbstractLaunchConfigurationTabGroup {
@Override
public void createTabs(final ILaunchConfigurationDialog dialog, final String mode) {
final List<ILaunchConfigurationTab> tabs = new ArrayList<>(
createMyTabs(dialog, mode));
tabs.addAll(Arrays.asList(
new ILaunchConfigurationTab[] { new EnvironmentTab(), new CommonTab() }));
setTabs(tabs.toArray(new ILaunchConfigurationTab[0]));
}
private Collection<ILaunchConfigurationTab> createMyTabs(
final ILaunchConfigurationDialog dialog, final String mode) {
ILaunchConfigurationTab[] tabs;
if (mode.equals("debug")) {
tabs = new ILaunchConfigurationTab[] { new CoverMainTab(), new DebugTab(),
new CodepathTab() };
} else {
tabs = new ILaunchConfigurationTab[] { new CoverMainTab(),
new CodepathTab() };
}
return Arrays.asList(tabs);
}
}