mxCell
Cells are the elements of the graph model. They represent the state of the groups, vertices and edges in a graph.
单元格是图模型的元素。它们表示图中的组,顶点和边的状态。
一下是创建了一个以xml节点为值得单元格
var doc = mxUtils.createXmlDocument();
var node = doc.createElement('MyNode')
node.setAttribute('label', 'MyLabel');
node.setAttribute('attribute1', 'value1');
graph.insertVertex(graph.getDefaultParent(), null, node, 40, 40, 80, 30);
mxCellPath
var mxCellPath =
{
PATH_SEPARATOR: '.',//定义路径组件之间的分隔符
create: function(cell) //创建给定单元格到单元格的路径
{
var result = '';
if (cell != null)
{
var parent = cell.getParent();
while (parent != null)
{
var index = parent.getIndex(cell);
result = index + mxCellPath.PATH_SEPARATOR + result;
cell = parent;
parent = cell.getParent();
}
}
var n = result.length;
if (n > 1)
{
result = result.substring(0, n - 1);
}
return result;
},
getParentPath: function(path) //返回给定路径的单元格父级的路径
{
if (path != null)
{
var index = path.lastIndexOf(mxCellPath.PATH_SEPARATOR);
if (index >= 0)
{
return path.substring(0, index);
}
else if (path.length > 0)
{
return '';
}
}
return null;
},
resolve: function(root, path) //使用给定的根作为路径的根。
{
var parent = root;
if (path != null)
{
var tokens = path.split(mxCellPath.PATH_SEPARATOR);
for (var i=0; i<tokens.length; i++)
{
parent = parent.getChildAt(parseInt(tokens[i]));
}
}
return parent;
},
compare: function(p1, p2) //比较单元格的路径,哪个小返回哪个
{
var min = Math.min(p1.length, p2.length);
var comp = 0;
for (var i = 0; i < min; i++)
{
if (p1[i] != p2[i])
{
if (p1[i].length == 0 ||
p2[i].length == 0)
{
comp = (p1[i] == p2[i]) ? 0 : ((p1[i] > p2[i]) ? 1 : -1);
}
else
{
var t1 = parseInt(p1[i]);
var t2 = parseInt(p2[i]);
comp = (t1 == t2) ? 0 : ((t1 > t2) ? 1 : -1);
}
break;
}
}
// Compares path length if both paths are equal to this point
if (comp == 0)
{
var t1 = p1.length;
var t2 = p2.length;
if (t1 != t2)
{
comp = (t1 > t2) ? 1 : -1;
}
}
return comp;
}
};
mxGraphModel
请看官网。。。或者联系管理员要思维导图
qq:918922703