Example usage for com.intellij.openapi.options SearchableConfigurable enableSearch

List of usage examples for com.intellij.openapi.options SearchableConfigurable enableSearch

Introduction

In this page you can find the example usage for com.intellij.openapi.options SearchableConfigurable enableSearch.

Prototype

@Nullable
default Runnable enableSearch(String option) 

Source Link

Usage

From source file:com.intellij.codeInspection.ex.SeverityEditorDialog.java

License:Apache License

private void editColorsAndFonts() {
    final String toConfigure = getSelectedType().getSeverity(null).myName;
    doOKAction();/*from   w ww  .j a v  a 2s. co  m*/
    myOptionsList.clearSelection();
    final DataContext dataContext = DataManager.getInstance().getDataContext(myPanel);
    final OptionsEditor optionsEditor = OptionsEditor.KEY.getData(dataContext);
    if (optionsEditor != null) {
        final ColorAndFontOptions colorAndFontOptions = optionsEditor
                .findConfigurable(ColorAndFontOptions.class);
        assert colorAndFontOptions != null;
        final SearchableConfigurable javaPage = colorAndFontOptions
                .findSubConfigurable(InspectionColorSettingsPage.class);
        LOG.assertTrue(javaPage != null);
        optionsEditor.clearSearchAndSelect(javaPage).doWhenDone(new Runnable() {
            @Override
            public void run() {
                final Runnable runnable = javaPage.enableSearch(toConfigure);
                if (runnable != null) {
                    SwingUtilities.invokeLater(runnable);
                }
            }
        });
    } else {
        ColorAndFontOptions colorAndFontOptions = new ColorAndFontOptions();
        final Configurable[] configurables = colorAndFontOptions.buildConfigurables();
        try {
            final SearchableConfigurable javaPage = colorAndFontOptions
                    .findSubConfigurable(InspectionColorSettingsPage.class);
            LOG.assertTrue(javaPage != null);
            ShowSettingsUtil.getInstance().editConfigurable(CommonDataKeys.PROJECT.getData(dataContext),
                    javaPage);
        } finally {
            for (Configurable configurable : configurables) {
                configurable.disposeUIResources();
            }
            colorAndFontOptions.disposeUIResources();
        }
    }
}