mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-20 13:31:28 +07:00
use TreeModel#isLeaf in TreeLinkMouseListener
GitOrigin-RevId: cbee6265ae07fe7c1d8490d0f863ac7860b4c3f7
This commit is contained in:
committed by
intellij-monorepo-bot
parent
d9d3fcc400
commit
0bbdeecf55
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user