addPropertyChangeListener(@NotNull final PropertyChangeListener listener, @NotNull Disposable parentDisposable)

This commit is contained in:
Alexey Kudravtsev
2015-03-23 14:05:57 +03:00
parent 4393c66350
commit b48eb7b866
3 changed files with 18 additions and 2 deletions
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2014 JetBrains s.r.o.
* Copyright 2000-2015 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -340,6 +340,11 @@ public class EditorWindowImpl extends UserDataHolderBase implements EditorWindow
myDelegate.addPropertyChangeListener(listener);
}
@Override
public void addPropertyChangeListener(@NotNull PropertyChangeListener listener, @NotNull Disposable parentDisposable) {
myDelegate.addPropertyChangeListener(listener, parentDisposable);
}
@Override
public void removePropertyChangeListener(@NotNull final PropertyChangeListener listener) {
myDelegate.removePropertyChangeListener(listener);
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2014 JetBrains s.r.o.
* Copyright 2000-2015 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -108,6 +108,7 @@ public interface EditorEx extends Editor {
void reinitSettings();
void addPropertyChangeListener(@NotNull PropertyChangeListener listener, @NotNull Disposable parentDisposable);
void addPropertyChangeListener(@NotNull PropertyChangeListener listener);
void removePropertyChangeListener(@NotNull PropertyChangeListener listener);
@@ -1154,6 +1154,16 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi
public void addPropertyChangeListener(@NotNull PropertyChangeListener listener) {
myPropertyChangeSupport.addPropertyChangeListener(listener);
}
@Override
public void addPropertyChangeListener(@NotNull final PropertyChangeListener listener, @NotNull Disposable parentDisposable) {
addPropertyChangeListener(listener);
Disposer.register(parentDisposable, new Disposable() {
@Override
public void dispose() {
removePropertyChangeListener(listener);
}
});
}
@Override
public void removePropertyChangeListener(@NotNull PropertyChangeListener listener) {