summaryrefslogtreecommitdiff
path: root/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/settings/XDebuggerSettingsPanelProviderImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/xdebugger-impl/src/com/intellij/xdebugger/impl/settings/XDebuggerSettingsPanelProviderImpl.java')
-rw-r--r--platform/xdebugger-impl/src/com/intellij/xdebugger/impl/settings/XDebuggerSettingsPanelProviderImpl.java49
1 files changed, 39 insertions, 10 deletions
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/settings/XDebuggerSettingsPanelProviderImpl.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/settings/XDebuggerSettingsPanelProviderImpl.java
index 6dc0a5bc21d9..2e20230198c6 100644
--- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/settings/XDebuggerSettingsPanelProviderImpl.java
+++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/settings/XDebuggerSettingsPanelProviderImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,26 +16,55 @@
package com.intellij.xdebugger.impl.settings;
import com.intellij.openapi.options.Configurable;
-import com.intellij.openapi.project.Project;
+import com.intellij.util.SmartList;
+import com.intellij.util.containers.ContainerUtil;
import com.intellij.xdebugger.settings.XDebuggerSettings;
+import org.jetbrains.annotations.NotNull;
-import java.util.ArrayList;
import java.util.Collection;
+import java.util.List;
/**
* @author nik
*/
public class XDebuggerSettingsPanelProviderImpl extends DebuggerSettingsPanelProvider {
- public int getPriority() {
- return 0;
- }
-
+ @NotNull
+ @Override
public Collection<? extends Configurable> getConfigurables() {
- ArrayList<Configurable> list = new ArrayList<Configurable>();
- for (XDebuggerSettings settings : XDebuggerSettingsManager.getInstance().getSettingsList()) {
- list.add(settings.createConfigurable());
+ List<Configurable> list = new SmartList<Configurable>();
+ for (XDebuggerSettings settings : XDebuggerSettingsManager.getInstanceImpl().getSettingsList()) {
+ ContainerUtil.addIfNotNull(list, settings.createConfigurable());
}
return list;
}
+ @NotNull
+ @Override
+ public Collection<? extends Configurable> getConfigurable(@NotNull XDebuggerSettings.Category category) {
+ List<Configurable> list;
+ if (category == XDebuggerSettings.Category.ROOT) {
+ list = new SmartList<Configurable>(new GeneralConfigurable());
+ }
+ else {
+ list = null;
+ }
+
+ for (XDebuggerSettings settings : XDebuggerSettingsManager.getInstanceImpl().getSettingsList()) {
+ Configurable configurable = settings.createConfigurable(category);
+ if (configurable != null) {
+ if (list == null) {
+ list = new SmartList<Configurable>();
+ }
+ list.add(configurable);
+ }
+ }
+ return ContainerUtil.notNullize(list);
+ }
+
+ @Override
+ public void generalApplied(@NotNull XDebuggerSettings.Category category) {
+ for (XDebuggerSettings settings : XDebuggerSettingsManager.getInstanceImpl().getSettingsList()) {
+ settings.generalApplied(category);
+ }
+ }
}