List of usage examples for com.intellij.openapi.options SettingsEditorGroup getEditors
public List<Pair<String, SettingsEditor<T>>> getEditors()
From source file:com.intellij.execution.impl.ConfigurationSettingsEditor.java
License:Apache License
private void init() { if (myCompound == null) { myCompound = new SettingsEditorGroup<RunnerAndConfigurationSettings>(); Disposer.register(this, myCompound); if (myConfigurationEditor instanceof SettingsEditorGroup) { SettingsEditorGroup<RunConfiguration> group = (SettingsEditorGroup<RunConfiguration>) myConfigurationEditor; List<Pair<String, SettingsEditor<RunConfiguration>>> editors = group.getEditors(); for (Pair<String, SettingsEditor<RunConfiguration>> pair : editors) { myCompound.addEditor(pair.getFirst(), new ConfigToSettingsWrapper(pair.getSecond())); }// w ww . ja v a2 s . com } else { myCompound.addEditor(ExecutionBundle.message("run.configuration.configuration.tab.title"), new ConfigToSettingsWrapper(myConfigurationEditor)); } myRunnersComponent = new RunnersEditorComponent(); ProgramRunner[] runners = RunnerRegistry.getInstance().getRegisteredRunners(); final Executor[] executors = ExecutorRegistry.getInstance().getRegisteredExecutors(); for (final Executor executor : executors) { for (ProgramRunner runner : runners) { if (runner.canRun(executor.getId(), myConfiguration)) { JComponent perRunnerSettings = createCompositePerRunnerSettings(executor, runner); if (perRunnerSettings != null) { myRunnersComponent.addExecutorComponent(executor, perRunnerSettings); } } } } if (myRunnerEditors.size() > 0) { myCompound.addEditor(ExecutionBundle.message("run.configuration.startup.connection.rab.title"), new CompositeSettingsEditor<RunnerAndConfigurationSettings>(getFactory()) { @Override public CompositeSettingsBuilder<RunnerAndConfigurationSettings> getBuilder() { return new CompositeSettingsBuilder<RunnerAndConfigurationSettings>() { @NotNull @Override public Collection<SettingsEditor<RunnerAndConfigurationSettings>> getEditors() { return myRunnerEditors; } @NotNull @Override public JComponent createCompoundEditor(@NotNull Disposable disposable) { return myRunnersComponent.getComponent(); } }; } }); } } }