List of usage examples for com.intellij.openapi.options SettingsEditorListener SettingsEditorListener
SettingsEditorListener
From source file:com.intellij.execution.impl.RunConfigurable.java
License:Apache License
private void installUpdateListeners(final SingleConfigurationConfigurable<RunConfiguration> info) { final boolean[] changed = new boolean[] { false }; info.getEditor().addSettingsEditorListener(new SettingsEditorListener<RunnerAndConfigurationSettings>() { @Override//from ww w . j a va2s . co m public void stateChanged(final SettingsEditor<RunnerAndConfigurationSettings> editor) { update(); final RunConfiguration configuration = info.getConfiguration(); if (configuration instanceof LocatableConfiguration) { final LocatableConfiguration runtimeConfiguration = (LocatableConfiguration) configuration; if (runtimeConfiguration.isGeneratedName() && !changed[0]) { try { final LocatableConfiguration snapshot = (LocatableConfiguration) editor.getSnapshot() .getConfiguration(); final String generatedName = snapshot.suggestedName(); if (generatedName != null && generatedName.length() > 0) { info.setNameText(generatedName); changed[0] = false; } } catch (ConfigurationException ignore) { } } } setupDialogBounds(); } }); info.addNameListener(new DocumentAdapter() { @Override protected void textChanged(DocumentEvent e) { changed[0] = true; update(); } }); info.addSharedListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { changed[0] = true; update(); } }); }
From source file:com.intellij.execution.impl.SingleConfigurationConfigurable.java
License:Apache License
private SingleConfigurationConfigurable(RunnerAndConfigurationSettings settings, @Nullable Executor executor) { super(new ConfigurationSettingsEditorWrapper(settings), settings); myExecutor = executor;// w ww. jav a 2 s .co m final Config configuration = getConfiguration(); myDisplayName = getSettings().getName(); myHelpTopic = "reference.dialogs.rundebug." + configuration.getType().getId(); myBrokenConfiguration = configuration instanceof UnknownRunConfiguration; setFolderName(getSettings().getFolderName()); setNameText(configuration.getName()); myNameDocument.addDocumentListener(new DocumentAdapter() { @Override public void textChanged(DocumentEvent event) { setModified(true); if (!myChangingNameFromCode) { RunConfiguration runConfiguration = getSettings().getConfiguration(); if (runConfiguration instanceof LocatableConfigurationBase) { ((LocatableConfigurationBase) runConfiguration).setNameChangedByUser(true); } } } }); getEditor().addSettingsEditorListener(new SettingsEditorListener<RunnerAndConfigurationSettings>() { @Override public void stateChanged(SettingsEditor<RunnerAndConfigurationSettings> settingsEditor) { myValidationResultValid = false; } }); }