package com.splunk.dev.agent.launcher.ui;

import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Status;
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.eclipse.debug.ui.sourcelookup.SourceLookupTab;
import org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab;
import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab;
import org.eclipse.jdt.debug.ui.launchConfigurations.JavaJRETab;
import org.eclipse.jdt.debug.ui.launchConfigurations.JavaMainTab;

import com.splunk.dev.agent.launcher.Activator;

public class MonitoredLaunchConfigurationTabGroup extends
		AbstractLaunchConfigurationTabGroup {

	public MonitoredLaunchConfigurationTabGroup() {
		// TODO Auto-generated constructor stub
	}

	@Override
	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
		
		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] {
				new JavaMainTab(),
				new JavaArgumentsTab(),
				new SourceLookupTab(),
				new EnvironmentTab(),
				new SplunkTab(),
				new CommonTab()
		};
		setTabs(tabs);

	}

}

@@ -1043,16 +1043,526 @@
 e) %7B%0A%09%09%0A
+%09%09// This code is copied from the method on JavaLaunchConfigurationTabGroup,%0A%09%09// with the sole exception of inserting %22new SplunkTab(),%22 right before%0A%09%09// %22new CommonTab()%22. This set of tabs changes very rarely, so it is%0A%09%09// cleaner to copy this one statement than to try to dig into the%0A%09%09// JDT dynamically to get the tab list.%0A%09%09//%0A%09%09// If you are adding additional tabs, they should go after SplunkTab%0A%09%09// but before CommonTab. Eclipse's UI guidelines specify that CommonTab%0A%09%09// should always be last.%0A
 %09%09ILaunc

Add comment on where tab group code came from.