package ee.edio.garmin.runconfig; import com.intellij.execution.configuration.ConfigurationFactoryEx; import com.intellij.execution.configurations.*; import com.intellij.openapi.project.Project; import ee.edio.garmin.MonkeyIcons; import org.jetbrains.annotations.NotNull; public class MonkeyConfigurationType extends ConfigurationTypeBase { private final ConfigurationFactoryEx factory; protected MonkeyConfigurationType() { // icon is 16 (default for java is AllIcons.RunConfigurations.Application) super("MonkeyCApplication", "Monkey C Application", "Configuration to run a Connect IQ app with the simulator", MonkeyIcons.MODULE16); factory = new ConfigurationFactoryEx(this) { @Override public void onNewConfigurationCreated(@NotNull RunConfiguration configuration) { final ModuleBasedConfiguration moduleBasedConfiguration = (ModuleBasedConfiguration) configuration; moduleBasedConfiguration.onNewConfigurationCreated(); } public RunConfiguration createTemplateConfiguration(Project project) { return new MonkeyModuleBasedConfiguration("", new MonkeyRunConfigurationModule(project), this); } }; addFactory(factory); } public ConfigurationFactory getFactory() { return factory; } @NotNull public static MonkeyConfigurationType getInstance() { return ConfigurationTypeUtil.findConfigurationType(MonkeyConfigurationType.class); //return Extensions.findExtension(CONFIGURATION_TYPE_EP, MonkeyConfigurationType.class); } }