mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[vcs-log] select dotted edge that was created by linear bek to indicate that it can expand
This commit is contained in:
+2
-11
@@ -166,15 +166,6 @@ class CollapsedActionManager {
|
||||
}
|
||||
}
|
||||
|
||||
private static LinearGraphAnswer createSelectedAnswer(@NotNull LinearGraph linearGraph, Collection<Integer> selectedNodeIndexes) {
|
||||
Set<Integer> selectedId = ContainerUtil.newHashSet();
|
||||
for (Integer nodeIndex : selectedNodeIndexes) {
|
||||
if (nodeIndex == null) continue;
|
||||
selectedId.add(linearGraph.getNodeId(nodeIndex));
|
||||
}
|
||||
return new LinearGraphAnswer(null, getCursor(true), null, selectedId);
|
||||
}
|
||||
|
||||
private final static ActionCase CLEAR_HOVER = new ActionCase() {
|
||||
@Nullable
|
||||
@Override
|
||||
@@ -217,7 +208,7 @@ class CollapsedActionManager {
|
||||
GraphFragment fragment = compiledLinearFragmentGenerator.getPartLongFragment(affectedGraphElement);
|
||||
if (fragment == null) return null;
|
||||
Set<Integer> middleCompiledNodes = compiledFragmentGenerator.getMiddleNodes(fragment.upNodeIndex, fragment.downNodeIndex, false);
|
||||
return createSelectedAnswer(context.getCompiledGraph(), middleCompiledNodes);
|
||||
return LinearGraphUtils.createSelectedAnswer(context.getCompiledGraph(), middleCompiledNodes);
|
||||
}
|
||||
|
||||
GraphFragment fragment = compiledLinearFragmentGenerator.getLongFragment(affectedGraphElement);
|
||||
@@ -321,7 +312,7 @@ class CollapsedActionManager {
|
||||
int downNodeIndex = context.convertToDelegateNodeIndex(assertInt(dottedEdge.getDownNodeIndex()));
|
||||
|
||||
if (context.getActionType() == GraphAction.Type.MOUSE_OVER) {
|
||||
return createSelectedAnswer(context.getDelegatedGraph(), ContainerUtil.set(upNodeIndex, downNodeIndex));
|
||||
return LinearGraphUtils.createSelectedAnswer(context.getDelegatedGraph(), ContainerUtil.set(upNodeIndex, downNodeIndex));
|
||||
}
|
||||
|
||||
Set<Integer> middleNodes = context.myDelegatedFragmentGenerators.fragmentGenerator.getMiddleNodes(upNodeIndex, downNodeIndex, true);
|
||||
|
||||
+3
-1
@@ -32,7 +32,9 @@ import com.intellij.vcs.log.graph.utils.TimestampGetter;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
|
||||
public class LinearBekController extends CascadeLinearGraphController {
|
||||
@NotNull private final LinearBekGraph myCompiledGraph;
|
||||
@@ -77,7 +79,7 @@ public class LinearBekController extends CascadeLinearGraphController {
|
||||
if (graphElement instanceof GraphEdge) {
|
||||
GraphEdge edge = (GraphEdge)graphElement;
|
||||
if (edge.getType() == GraphEdgeType.DOTTED){
|
||||
return LinearGraphUtils.createCursorAnswer(/*handCursor =*/ true);
|
||||
return LinearGraphUtils.createSelectedAnswer(myCompiledGraph, ContainerUtil.set(edge.getUpNodeIndex(), edge.getDownNodeIndex()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,8 +66,7 @@ public class LinearGraphUtils {
|
||||
}
|
||||
|
||||
public static int getNotNullNodeIndex(@NotNull GraphEdge edge) {
|
||||
if (edge.getUpNodeIndex() != null)
|
||||
return edge.getUpNodeIndex();
|
||||
if (edge.getUpNodeIndex() != null) return edge.getUpNodeIndex();
|
||||
assert edge.getDownNodeIndex() != null;
|
||||
return edge.getDownNodeIndex();
|
||||
}
|
||||
@@ -101,8 +100,7 @@ public class LinearGraphUtils {
|
||||
@Override
|
||||
public Integer fun(GraphEdge graphEdge) {
|
||||
if (isEdgeDown(graphEdge, nodeIndex)) {
|
||||
if (graphEdge.getType() == GraphEdgeType.NOT_LOAD_COMMIT)
|
||||
return graphEdge.getTargetId();
|
||||
if (graphEdge.getType() == GraphEdgeType.NOT_LOAD_COMMIT) return graphEdge.getTargetId();
|
||||
return graphEdge.getDownNodeIndex();
|
||||
}
|
||||
return null;
|
||||
@@ -146,11 +144,22 @@ public class LinearGraphUtils {
|
||||
public static Cursor getCursor(boolean hand) {
|
||||
if (hand) {
|
||||
return Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
return Cursor.getDefaultCursor();
|
||||
}
|
||||
}
|
||||
|
||||
public static LinearGraphController.LinearGraphAnswer createSelectedAnswer(@NotNull LinearGraph linearGraph,
|
||||
@NotNull Collection<Integer> selectedNodeIndexes) {
|
||||
Set<Integer> selectedId = ContainerUtil.newHashSet();
|
||||
for (Integer nodeIndex : selectedNodeIndexes) {
|
||||
if (nodeIndex == null) continue;
|
||||
selectedId.add(linearGraph.getNodeId(nodeIndex));
|
||||
}
|
||||
return new LinearGraphController.LinearGraphAnswer(null, getCursor(true), null, selectedId);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static GraphEdge getEdge(@NotNull LinearGraph graph, int up, int down) {
|
||||
List<GraphEdge> edges = graph.getAdjacentEdges(up, EdgeFilter.NORMAL_DOWN);
|
||||
@@ -182,5 +191,4 @@ public class LinearGraphUtils {
|
||||
});
|
||||
return ContainerUtil.newHashSet(result);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user