package com.intellij.xdebugger.impl.settings; import com.intellij.openapi.options.Configurable; import com.intellij.util.SmartList; import com.intellij.util.containers.ContainerUtil; import com.intellij.xdebugger.settings.DebuggerSettingsCategory; import com.intellij.xdebugger.settings.XDebuggerSettings; import consulo.xdebugger.impl.settings.XDebuggerGeneralConfigurable; import org.jetbrains.annotations.NotNull; import java.util.Collection; import java.util.List; public class XDebuggerConfigurableProvider { @NotNull public static Collection<Configurable> getConfigurables(@NotNull DebuggerSettingsCategory category) { List<Configurable> list; if (category == DebuggerSettingsCategory.GENERAL) { list = new SmartList<>(new XDebuggerGeneralConfigurable()); } else { list = null; } for (XDebuggerSettings<?> settings : XDebuggerSettingManagerImpl.getInstanceImpl().getSettingsList()) { Collection<? extends Configurable> configurables = settings.createConfigurables(category); if (!configurables.isEmpty()) { if (list == null) { list = new SmartList<>(); } list.addAll(configurables); } } return ContainerUtil.notNullize(list); } public static void generalApplied(@NotNull DebuggerSettingsCategory category) { for (XDebuggerSettings<?> settings : XDebuggerSettingManagerImpl.getInstanceImpl().getSettingsList()) { settings.generalApplied(category); } } }