IDEA-178054: extract temporary method to invalidate caches in TreeUI

This commit is contained in:
Sergey Malenkov
2019-04-02 21:20:23 +03:00
parent a850b26fb9
commit bcbfbb2a0a
3 changed files with 11 additions and 14 deletions
@@ -29,6 +29,7 @@ import org.jetbrains.concurrency.Promise;
import org.jetbrains.concurrency.Promises;
import javax.swing.*;
import javax.swing.plaf.TreeUI;
import javax.swing.plaf.basic.BasicTreeUI;
import javax.swing.tree.*;
import java.awt.*;
@@ -1112,6 +1113,13 @@ public final class TreeUtil {
}
}
@Deprecated
public static void invalidateCache(@Nullable TreeUI ui) {
if (ui instanceof WideSelectionTreeUI) {
((WideSelectionTreeUI)ui).invalidateNodeSizes();
}
}
@NotNull
public static RelativePoint getPointForSelection(@NotNull JTree aTree) {
final int[] rows = aTree.getSelectionRows();
@@ -36,7 +36,6 @@ import com.intellij.util.messages.MessageBusConnection;
import com.intellij.util.messages.Topic;
import com.intellij.util.ui.StatusText;
import com.intellij.util.ui.tree.TreeUtil;
import com.intellij.util.ui.tree.WideSelectionTreeUI;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -47,7 +46,6 @@ import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.plaf.TreeUI;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeModel;
@@ -559,12 +557,7 @@ public class CommittedChangesTreeBrowser extends JPanel implements TypeSafeDataP
}
public void invalidateNodeSizes() {
TreeUI ui = getUI();
if (ui instanceof WideSelectionTreeUI) {
((WideSelectionTreeUI)ui).invalidateNodeSizes();
}
TreeUtil.invalidateCache(getUI());
repaint();
}
}
@@ -37,14 +37,13 @@ import com.intellij.ui.SimpleTextAttributes;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.ui.JBUI;
import com.intellij.util.ui.ThreeStateCheckBox.State;
import com.intellij.util.ui.tree.WideSelectionTreeUI;
import com.intellij.util.ui.tree.TreeUtil;
import com.intellij.util.ui.update.MergingUpdateQueue;
import com.intellij.util.ui.update.Update;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import javax.swing.plaf.TreeUI;
import javax.swing.tree.DefaultTreeModel;
import java.awt.*;
import java.awt.event.ItemEvent;
@@ -597,10 +596,7 @@ class MultipleLocalChangeListsBrowser extends CommitDialogChangesBrowser impleme
}
private void invalidateNodeSizes() {
TreeUI ui = getUI();
if (ui instanceof WideSelectionTreeUI) {
((WideSelectionTreeUI)ui).invalidateNodeSizes();
}
TreeUtil.invalidateCache(getUI());
}
private class MyStateHolder extends PartiallyExcludedFilesStateHolder<Object> {