diff --git a/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextConfigurable.java b/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextConfigurable.java index 062a0b92ea29..10e0aca11405 100644 --- a/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextConfigurable.java +++ b/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextConfigurable.java @@ -24,6 +24,7 @@ import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.libraries.scripting.ScriptingLibraryManager; import org.jetbrains.annotations.Nls; +import org.jetbrains.annotations.Nullable; import javax.swing.*; @@ -38,7 +39,7 @@ public abstract class LangScriptingContextConfigurable implements Configurable, public LangScriptingContextConfigurable(Project project, LangScriptingContextProvider provider) { myLibManager = new ScriptingLibraryManager(project, provider.getLibraryType()); myPanel = useDedicatedLibraryUI(project) ? new ScriptingLibrariesPanel(provider, project, myLibManager) : new ScriptingLibrariesPanelStub(); - myContextsConfigurable = new ScriptingContextsConfigurable(project, provider.getLibraryMappings(project)); + myContextsConfigurable = new ScriptingContextsConfigurable(this, project, provider.getLibraryMappings(project)); } private static boolean useDedicatedLibraryUI(Project project) { @@ -88,4 +89,7 @@ public abstract class LangScriptingContextConfigurable implements Configurable, public Configurable[] getConfigurables() { return new Configurable[] {myContextsConfigurable}; } + + @Nullable + public abstract String getUsageScopeHelpTopic(); } diff --git a/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/ScriptingContextsConfigurable.java b/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/ScriptingContextsConfigurable.java index 1568aad46ea5..a7585f610658 100644 --- a/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/ScriptingContextsConfigurable.java +++ b/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/ScriptingContextsConfigurable.java @@ -16,6 +16,7 @@ package com.intellij.ide.scriptingContext.ui; import com.intellij.ide.IdeBundle; +import com.intellij.ide.scriptingContext.LangScriptingContextConfigurable; import com.intellij.ide.scriptingContext.ScriptingLibraryMappings; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.libraries.scripting.ScriptingLibraryTable; @@ -32,14 +33,16 @@ import javax.swing.*; public class ScriptingContextsConfigurable extends LanguagePerFileConfigurable { private final ScriptingLibraryMappings myScriptingLibraryMappings; + private final LangScriptingContextConfigurable myParent; - public ScriptingContextsConfigurable(final Project project, final ScriptingLibraryMappings mappings) { + public ScriptingContextsConfigurable(final LangScriptingContextConfigurable parent, final Project project, final ScriptingLibraryMappings mappings) { super(project, ScriptingLibraryTable.LibraryModel.class, mappings, IdeBundle.message("scripting.lib.usageScope.caption"), IdeBundle.message("scripting.lib.usageScope.tableTitle"), IdeBundle.message("scripting.lib.usageScope.override.question"), IdeBundle.message("scripting.lib.usageScope.override.title")); myScriptingLibraryMappings = mappings; + myParent = parent; } public void resetMappings() { @@ -81,6 +84,6 @@ public class ScriptingContextsConfigurable extends LanguagePerFileConfigurable