0

我正在尝试使用mxCellOverlayand以编程方式在我现有的顶点/顶点中添加一个新图标addCellOverlay。如何获取我在 workeditor xml 中的所有顶点,以便可以将其传递给addCellOverlay参数,如下例所示。

var overlay = new mxCellOverlay(new mxImage('editors/images/overlays/check.png',
16, 16), 'Overlay tooltip');
graph.addCellOverlay(allMyVertices, overlay);

参考:http: //jgraph.github.io/mxgraph/javascript/examples/fixedicon.html

如果我在 fixedIcon.html(第 72 行)中添加此代码,var v1它会给我一个新的勾选/检查图标。

var overlay = new mxCellOverlay(new mxImage('editors/images/overlays/check.png',
16, 16), 'Overlay tooltip');

graph.addCellOverlay(v1, overlay);
4

2 回答 2

2

如果您只想获取一个级别的顶点(而不是边),我建议您mxGraph.getChildVertices使用mxgraph.getCells. 但是您必须将父 mxCell 传递给该函数。然后,您将获得该单元的所有子顶点。例如。如果您想为默认父节点的所有顶点添加叠加层,您可以执行以下操作:

var overlay = new mxCellOverlay(new mxImage('editors/images/overlays/check.png', 16, 16), 'Overlay tooltip');
var parent = graph.getDefaultParent();
var vertices = graph.getChildVertices(parent);
graph.addCellOverlay(vertices, overlay);

当然,如果您想要每个级别的所有顶点,递归实现是可能的。

欲了解更多信息: https ://jgraph.github.io/mxgraph/docs/js-api/files/view/mxGraph-js.html#mxGraph.getChildVertices

于 2020-03-27T12:51:59.430 回答
0

这是 :

mxGraph.prototype.getCells = function(x,y,width,height,parent,result);
于 2017-01-18T07:01:36.503 回答