Example usage for com.intellij.openapi.options ConfigurableBase ConfigurableBase

List of usage examples for com.intellij.openapi.options ConfigurableBase ConfigurableBase

Introduction

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

Prototype

protected ConfigurableBase(@NonNls @NotNull String id, @Nls @NotNull String displayName,
            @NonNls @Nullable String helpTopic) 

Source Link

Usage

From source file:com.intellij.debugger.actions.CreateRendererAction.java

License:Apache License

public void actionPerformed(@NotNull final AnActionEvent event) {
    final DebuggerContextImpl debuggerContext = DebuggerAction.getDebuggerContext(event.getDataContext());
    final List<JavaValue> values = ViewAsGroup.getSelectedValues(event);
    if (values.size() != 1) {
        return;//ww  w  . j a  va  2  s  .c  om
    }

    final JavaValue javaValue = values.get(0);

    final DebugProcessImpl process = debuggerContext.getDebugProcess();
    if (process == null) {
        return;
    }

    final Project project = event.getProject();

    process.getManagerThread().schedule(new DebuggerContextCommandImpl(debuggerContext) {
        public void threadAction() {
            Type type = javaValue.getDescriptor().getType();
            final String name = type != null ? type.name() : null;
            DebuggerUIUtil.invokeLater(() -> {
                final UserRenderersConfigurable ui = new UserRenderersConfigurable();
                ConfigurableBase<UserRenderersConfigurable, NodeRendererSettings> configurable = new ConfigurableBase<UserRenderersConfigurable, NodeRendererSettings>(
                        "reference.idesettings.debugger.typerenderers",
                        DebuggerBundle.message("user.renderers.configurable.display.name"),
                        "reference.idesettings.debugger.typerenderers") {
                    @NotNull
                    @Override
                    protected NodeRendererSettings getSettings() {
                        return NodeRendererSettings.getInstance();
                    }

                    @Override
                    protected UserRenderersConfigurable createUi() {
                        return ui;
                    }
                };
                SingleConfigurableEditor editor = new SingleConfigurableEditor(project, configurable);
                if (name != null) {
                    CompoundReferenceRenderer renderer = NodeRendererSettings.getInstance()
                            .createCompoundReferenceRenderer(name, name, null, null);
                    renderer.setEnabled(true);
                    ui.addRenderer(renderer);
                }
                editor.show();
            });
        }
    });
}