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

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

Introduction

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

Prototype

SettingsEditorListener

Source Link

Usage

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;
        }
    });
}