diff options
Diffstat (limited to 'platform/xdebugger-api/src/com/intellij/xdebugger/settings')
3 files changed, 63 insertions, 8 deletions
diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/settings/DebuggerConfigurableProvider.java b/platform/xdebugger-api/src/com/intellij/xdebugger/settings/DebuggerConfigurableProvider.java new file mode 100644 index 000000000000..6cc25bd87f5f --- /dev/null +++ b/platform/xdebugger-api/src/com/intellij/xdebugger/settings/DebuggerConfigurableProvider.java @@ -0,0 +1,42 @@ +/* + * 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.xdebugger.settings; + +import com.intellij.openapi.extensions.ExtensionPointName; +import com.intellij.openapi.options.Configurable; +import org.jetbrains.annotations.NotNull; + +import java.util.Collection; +import java.util.Collections; + +public abstract class DebuggerConfigurableProvider { + public static final ExtensionPointName<DebuggerConfigurableProvider> EXTENSION_POINT = ExtensionPointName.create("com.intellij.xdebugger.configurableProvider"); + + @NotNull + public Collection<? extends Configurable> getConfigurables(@NotNull DebuggerSettingsCategory category) { + return Collections.emptyList(); + } + + /** + * General settings of category were applied + */ + public void generalApplied(@NotNull DebuggerSettingsCategory category) { + } + + public boolean isTargetedToProduct(@NotNull Configurable configurable) { + return false; + } +}
\ No newline at end of file diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/settings/DebuggerSettingsCategory.java b/platform/xdebugger-api/src/com/intellij/xdebugger/settings/DebuggerSettingsCategory.java new file mode 100644 index 000000000000..fab630fe751c --- /dev/null +++ b/platform/xdebugger-api/src/com/intellij/xdebugger/settings/DebuggerSettingsCategory.java @@ -0,0 +1,6 @@ +package com.intellij.xdebugger.settings; + +public enum DebuggerSettingsCategory { + ROOT /* will be placed under root "Debugger" node, use it with care */, + GENERAL, DATA_VIEWS, STEPPING, HOTSWAP +}
\ No newline at end of file diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/settings/XDebuggerSettings.java b/platform/xdebugger-api/src/com/intellij/xdebugger/settings/XDebuggerSettings.java index 52049f76ae72..367601db12aa 100644 --- a/platform/xdebugger-api/src/com/intellij/xdebugger/settings/XDebuggerSettings.java +++ b/platform/xdebugger-api/src/com/intellij/xdebugger/settings/XDebuggerSettings.java @@ -23,6 +23,9 @@ import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.Collection; +import java.util.Collections; + /** * Implement this class to provide settings page for debugger. Settings page will be placed under 'Debugger' node in the 'Settings' dialog. * An implementation should be registered in plugin.xml: @@ -34,10 +37,6 @@ import org.jetbrains.annotations.Nullable; * @author nik */ public abstract class XDebuggerSettings<T> implements PersistentStateComponent<T> { - public enum Category { - ROOT, DATA_VIEWS, STEPPING - } - public static final ExtensionPointName<XDebuggerSettings> EXTENSION_POINT = ExtensionPointName.create("com.intellij.xdebugger.settings"); private final String myId; @@ -55,15 +54,23 @@ public abstract class XDebuggerSettings<T> implements PersistentStateComponent<T } @Nullable + @Deprecated + /** + * @deprecated Please use {@link #createConfigurables(DebuggerSettingsCategory)} + */ public Configurable createConfigurable() { return null; } - @Nullable - public Configurable createConfigurable(@NotNull Category category) { - return null; + @NotNull + public Collection<? extends Configurable> createConfigurables(@NotNull DebuggerSettingsCategory category) { + return Collections.emptyList(); + } + + public void generalApplied(@NotNull DebuggerSettingsCategory category) { } - public void generalApplied(@NotNull Category category) { + public boolean isTargetedToProduct(@NotNull Configurable configurable) { + return false; } } |