ETF: forbid overriding addNotify

GitOrigin-RevId: 1eb44107f75972d540809261ba7d888e652076ad
This commit is contained in:
Alexander.Kass
2021-10-21 09:56:48 +03:00
committed by intellij-monorepo-bot
parent bae5bb15a6
commit 322feef738
4 changed files with 26 additions and 16 deletions

View File

@@ -99,11 +99,9 @@ public final class CheckRegExpForm {
private Disposable disposable;
@Override
public void addNotify() {
super.addNotify();
protected void onEditorAdded(@NotNull Editor editor) {
super.onEditorAdded(editor);
disposable = PluginManager.getInstance().createDisposable(CheckRegExpForm.class);
final Editor editor = getEditor();
assert editor != null : "editor should not be null after it has been added to a container";
editor.getCaretModel().addCaretListener(new CaretListener() {
@Override
@@ -153,11 +151,9 @@ public final class CheckRegExpForm {
private Disposable disposable;
@Override
public void addNotify() {
super.addNotify();
protected void onEditorAdded(@NotNull Editor editor) {
super.onEditorAdded(editor);
disposable = PluginManager.getInstance().createDisposable(CheckRegExpForm.class);
final Editor editor = getEditor();
assert editor != null : "editor should not be null after it has been added to a container";
editor.getCaretModel().addCaretListener(new CaretListener() {
@Override

View File

@@ -20,6 +20,7 @@ import com.intellij.ide.util.TreeClassChooser;
import com.intellij.ide.util.TreeClassChooserFactory;
import com.intellij.java.JavaBundle;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.FixedSizeButton;
import com.intellij.openapi.util.Conditions;
@@ -29,6 +30,7 @@ import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.ui.EditorTextField;
import com.intellij.ui.JavaReferenceEditorUtil;
import com.intellij.util.ui.AbstractTableCellEditor;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import java.awt.*;
@@ -75,9 +77,9 @@ public class PsiClassTableCellEditor extends AbstractTableCellEditor {
}
@Override
public void addNotify() {
super.addNotify();
final JComponent editorComponent = getEditor().getContentComponent();
protected void onEditorAdded(@NotNull Editor editor) {
super.onEditorAdded(editor);
final JComponent editorComponent = editor.getContentComponent();
editorComponent.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "ENTER");
editorComponent.getActionMap().put("ENTER", new AbstractAction() {
@Override

View File

@@ -384,6 +384,10 @@ public class EditorTextField extends NonOpaquePanel implements EditorTextCompone
return super.isFocusOwner();
}
protected void onEditorAdded(@NotNull Editor editor) {
}
private void initEditor() {
Disposable uiDisposable = PlatformDataKeys.UI_DISPOSABLE.getData(DataManager.getInstance().getDataContext(this));
if (uiDisposable != null) {
@@ -421,6 +425,7 @@ public class EditorTextField extends NonOpaquePanel implements EditorTextCompone
boolean isFocused = isFocusOwner();
initEditorInner();
onEditorAdded(myEditor);
if (myNextFocusable != null) {
myEditor.getContentComponent().setNextFocusableComponent(myNextFocusable);
@@ -825,6 +830,12 @@ public class EditorTextField extends NonOpaquePanel implements EditorTextCompone
return true;
}
//use addSettingsProvider or onEditorAdded
@Override
public final void addNotify() {
super.addNotify();
}
@Override
public void requestFocus() {
if (myEditor != null) {

View File

@@ -21,6 +21,7 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.wm.IdeFocusManager;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.ui.EditorTextField;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import javax.swing.table.TableCellEditor;
@@ -50,12 +51,12 @@ public class ExpressionCellEditor extends AbstractCellEditor implements TableCel
}
@Override
public void addNotify() {
super.addNotify();
protected void onEditorAdded(@NotNull Editor editor) {
super.onEditorAdded(editor);
Runnable runnable = () -> {
final Editor editor = getEditor();
if (editor != null) {
IdeFocusManager.getGlobalInstance().doWhenFocusSettlesDown(() -> IdeFocusManager.getGlobalInstance().requestFocus(editor.getContentComponent(), true));
final Editor e = getEditor();
if (e != null) {
IdeFocusManager.getGlobalInstance().doWhenFocusSettlesDown(() -> IdeFocusManager.getGlobalInstance().requestFocus(e.getContentComponent(), true));
}
};
SwingUtilities.invokeLater(runnable);