cleanup: TreeModelAdapter.create()

This commit is contained in:
Gregory.Shrago
2017-09-11 23:48:41 +03:00
parent df2def6ba8
commit 60e1021925
2 changed files with 16 additions and 24 deletions
@@ -47,14 +47,13 @@ import com.intellij.util.EditSourceOnDoubleClickHandler;
import com.intellij.util.OpenSourceUtil;
import com.intellij.util.ui.UIUtil;
import com.intellij.util.ui.accessibility.ScreenReader;
import com.intellij.util.ui.tree.TreeModelAdapter;
import com.intellij.util.ui.tree.TreeUtil;
import com.intellij.util.ui.update.Activatable;
import com.intellij.util.ui.update.UiNotifyConnector;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import javax.swing.event.TreeModelEvent;
import javax.swing.event.TreeModelListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
@@ -150,28 +149,7 @@ public abstract class AbstractProjectViewPSIPane extends AbstractProjectViewPane
fireTreeChangeListener();
}
});
myTree.getModel().addTreeModelListener(new TreeModelListener() {
@Override
public void treeNodesChanged(TreeModelEvent e) {
fireTreeChangeListener();
}
@Override
public void treeNodesInserted(TreeModelEvent e) {
fireTreeChangeListener();
}
@Override
public void treeNodesRemoved(TreeModelEvent e) {
fireTreeChangeListener();
}
@Override
public void treeStructureChanged(TreeModelEvent e) {
fireTreeChangeListener();
}
});
myTree.getModel().addTreeModelListener(TreeModelAdapter.create((e, t) -> fireTreeChangeListener()));
new MySpeedSearch(myTree);
myTree.addKeyListener(new KeyAdapter() {
@@ -15,6 +15,9 @@
*/
package com.intellij.util.ui.tree;
import com.intellij.util.PairConsumer;
import org.jetbrains.annotations.NotNull;
import javax.swing.event.TreeModelEvent;
import javax.swing.event.TreeModelListener;
@@ -23,7 +26,18 @@ import javax.swing.event.TreeModelListener;
* @author Sergey.Malenkov
*/
public abstract class TreeModelAdapter implements TreeModelListener {
public enum EventType {StructureChanged, NodesChanged, NodesInserted, NodesRemoved}
@NotNull
public static TreeModelListener create(@NotNull final PairConsumer<TreeModelEvent, EventType> consumer) {
return new TreeModelAdapter() {
@Override
protected void process(TreeModelEvent event, EventType type) {
consumer.consume(event, type);
}
};
}
/**
* Invoked after a tree has changed.