diff --git a/platform/platform-api/src/com/intellij/openapi/options/ConfigurableEP.java b/platform/platform-api/src/com/intellij/openapi/options/ConfigurableEP.java index 281fc695c942..5717d694bc35 100644 --- a/platform/platform-api/src/com/intellij/openapi/options/ConfigurableEP.java +++ b/platform/platform-api/src/com/intellij/openapi/options/ConfigurableEP.java @@ -51,6 +51,8 @@ public class ConfigurableEP extends AbstractExtensionPointBean { @AbstractCollection(surroundWithTag = false) public ConfigurableEP[] children; + @Attribute("id") + public String id; /** * @deprecated use '{@link #instanceClass instance}' or '{@link #providerClass provider}' attribute instead */ diff --git a/platform/platform-impl/src/com/intellij/openapi/options/ex/ConfigurableWrapper.java b/platform/platform-impl/src/com/intellij/openapi/options/ex/ConfigurableWrapper.java index f99bd19a682d..1adc8957329e 100644 --- a/platform/platform-impl/src/com/intellij/openapi/options/ex/ConfigurableWrapper.java +++ b/platform/platform-impl/src/com/intellij/openapi/options/ex/ConfigurableWrapper.java @@ -18,9 +18,11 @@ package com.intellij.openapi.options.ex; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.options.ConfigurableEP; import com.intellij.openapi.options.ConfigurationException; +import com.intellij.openapi.options.SearchableConfigurable; import com.intellij.util.Function; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.Nls; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; @@ -29,7 +31,7 @@ import javax.swing.*; * @author Dmitry Avdeev * Date: 9/17/12 */ -public class ConfigurableWrapper implements Configurable, Configurable.Composite { +public class ConfigurableWrapper implements SearchableConfigurable, Configurable.Composite { private static final ConfigurableWrapper[] EMPTY_ARRAY = new ConfigurableWrapper[0]; @@ -107,4 +109,17 @@ public class ConfigurableWrapper implements Configurable, Configurable.Composite public Configurable[] getConfigurables() { return myKids; } + + @NotNull + @Override + public String getId() { + return myEp.id; + } + + @Nullable + @Override + public Runnable enableSearch(String option) { + final Configurable configurable = getConfigurable(); + return configurable instanceof SearchableConfigurable ? ((SearchableConfigurable)configurable).enableSearch(option) : null; + } } diff --git a/platform/platform-resources/src/META-INF/PlatformExtensions.xml b/platform/platform-resources/src/META-INF/PlatformExtensions.xml index f182b14a5f1d..1db3f55cff7b 100644 --- a/platform/platform-resources/src/META-INF/PlatformExtensions.xml +++ b/platform/platform-resources/src/META-INF/PlatformExtensions.xml @@ -225,8 +225,9 @@ - - + + diff --git a/xml/impl/src/com/intellij/javaee/ExternalResourceConfigurable.java b/xml/impl/src/com/intellij/javaee/ExternalResourceConfigurable.java index 04e87b4fde1a..086f8fedefbd 100644 --- a/xml/impl/src/com/intellij/javaee/ExternalResourceConfigurable.java +++ b/xml/impl/src/com/intellij/javaee/ExternalResourceConfigurable.java @@ -18,7 +18,6 @@ package com.intellij.javaee; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.options.BaseConfigurable; import com.intellij.openapi.options.Configurable; -import com.intellij.openapi.options.SearchableConfigurable; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.JarFileSystem; @@ -30,7 +29,6 @@ import com.intellij.util.ArrayUtil; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.UIUtil; import com.intellij.xml.XmlBundle; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; @@ -44,7 +42,7 @@ import java.util.Collections; import java.util.List; public class ExternalResourceConfigurable extends BaseConfigurable - implements SearchableConfigurable, Configurable.NoScroll { + implements Configurable.NoScroll { private JPanel myPanel; private List myPairs; private List myIgnoredUrls; @@ -54,7 +52,6 @@ public class ExternalResourceConfigurable extends BaseConfigurable private HtmlLanguageLevelForm myHtmlLanguageLevelForm; @Nullable private final Project myProject; private final List myNewPairs; - private Configurable[] myConfigurables; @SuppressWarnings("UnusedDeclaration") public ExternalResourceConfigurable(@Nullable Project project) { @@ -241,7 +238,7 @@ public class ExternalResourceConfigurable extends BaseConfigurable } public String getHelpTopic() { - return getId(); + return "preferences.externalResources"; } @Nullable @@ -378,14 +375,4 @@ public class ExternalResourceConfigurable extends BaseConfigurable return myNames[column]; } } - - @NotNull - public String getId() { - return "preferences.externalResources"; - } - - @Nullable - public Runnable enableSearch(String option) { - return null; - } } diff --git a/xml/impl/src/com/intellij/javaee/XMLCatalogConfigurable.java b/xml/impl/src/com/intellij/javaee/XMLCatalogConfigurable.java index f8e6f95f6f8e..41b5825d3fa1 100644 --- a/xml/impl/src/com/intellij/javaee/XMLCatalogConfigurable.java +++ b/xml/impl/src/com/intellij/javaee/XMLCatalogConfigurable.java @@ -18,11 +18,9 @@ package com.intellij.javaee; import com.intellij.openapi.fileChooser.FileChooserDescriptor; import com.intellij.openapi.options.BaseConfigurable; import com.intellij.openapi.options.ConfigurationException; -import com.intellij.openapi.options.SearchableConfigurable; import com.intellij.openapi.ui.TextFieldWithBrowseButton; import com.intellij.openapi.util.text.StringUtil; import org.jetbrains.annotations.Nls; -import org.jetbrains.annotations.NotNull; import javax.swing.*; @@ -30,7 +28,7 @@ import javax.swing.*; * @author Dmitry Avdeev * Date: 7/20/12 */ -public class XMLCatalogConfigurable extends BaseConfigurable implements SearchableConfigurable { +public class XMLCatalogConfigurable extends BaseConfigurable { private TextFieldWithBrowseButton myPropertyFile; private JPanel myPanel; @@ -80,15 +78,4 @@ public class XMLCatalogConfigurable extends BaseConfigurable implements Searchab public void disposeUIResources() { } - - @NotNull - @Override - public String getId() { - return "xml.catalog"; - } - - @Override - public Runnable enableSearch(String option) { - return null; - } }