use TreeModel#isLeaf in TreeLinkMouseListener

GitOrigin-RevId: cbee6265ae07fe7c1d8490d0f863ac7860b4c3f7
This commit is contained in:
Mikhail Shagvaliev
2024-03-06 10:13:42 +01:00
committed by intellij-monorepo-bot
parent d9d3fcc400
commit 0bbdeecf55
3 changed files with 2 additions and 16 deletions

View File

@@ -4,7 +4,6 @@ package com.intellij.openapi.vcs.changes.issueLinks;
import com.intellij.openapi.util.NlsContexts;
import com.intellij.ui.AppUIUtil;
import com.intellij.ui.ColoredTreeCellRenderer;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -46,10 +45,8 @@ public class TreeLinkMouseListener extends LinkMouseListenerBase<Object> {
boolean isLeaf;
if (node instanceof TreeNode treeNode) {
isLeaf = treeNode.isLeaf();
} else if (node instanceof IsLeafProvider isLeafProvider) {
isLeaf = isLeafProvider.isLeaf();
} else {
isLeaf = false;
isLeaf = tree.getModel().isLeaf(node);
}
AppUIUtil.targetToDevice(myRenderer, tree);
if (myLastHitNode == null || myLastHitNode.get() != node || e.getButton() != MouseEvent.NOBUTTON) {
@@ -80,9 +77,4 @@ public class TreeLinkMouseListener extends LinkMouseListenerBase<Object> {
public interface HaveTooltip {
@NlsContexts.Tooltip String getTooltip();
}
@ApiStatus.Internal
public interface IsLeafProvider {
boolean isLeaf();
}
}

View File

@@ -48,9 +48,6 @@ interface PsiViewerPropertyNode {
val weight: Int
}
val PsiViewerPropertyNode.isLeaf: Boolean
get() = children.let { it is PsiViewerPropertyNode.Children.Enumeration && it.childrenList.isEmpty() }
fun PsiViewerPropertyNode.appendPresentation(otherPresentation: PsiViewerPropertyNode.Presentation): PsiViewerPropertyNode =
addPresentation(otherPresentation, before = false)

View File

@@ -1,14 +1,13 @@
package com.intellij.dev.psiViewer.properties.tree
import com.intellij.openapi.progress.checkCancelled
import com.intellij.openapi.vcs.changes.issueLinks.TreeLinkMouseListener
import kotlinx.coroutines.*
class PsiViewerPropertyNodeHolder(
val node: PsiViewerPropertyNode,
private val depth: Int,
private val scope: CoroutineScope
) : TreeLinkMouseListener.IsLeafProvider {
) {
val childrenListAsync: Deferred<List<PsiViewerPropertyNodeHolder>> = childrenListAsync()
private fun childrenListAsync(): Deferred<List<PsiViewerPropertyNodeHolder>> {
@@ -30,6 +29,4 @@ class PsiViewerPropertyNodeHolder(
private fun childNodeHolder(childNode: PsiViewerPropertyNode): PsiViewerPropertyNodeHolder {
return PsiViewerPropertyNodeHolder(childNode, depth + 1, scope)
}
override fun isLeaf(): Boolean = node.isLeaf
}