mxGraph(二)-model

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

mxGraphModelQQ

mxGraphMo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值