ILinksModel
一个支持节点之间直接链接关系的模型,其关系信息存储在单独的链接数据结构中.
实现: IDiagramModel
属性
public IEnumerable LinksSource { get; set; }
value = iLinksModel.LinksSource
iLinksModel.LinksSource = value
链接数据对象的收集
public ValidCycle ValidCycle { get; set; }
value = iLinksModel.ValidCycle
iLinksModel.ValidCycle = value
此属性控制了可能绘制的整体图表结构 。
public ValidUnconnectedLinks ValidUnconnectedLinks { get; set; }
value = iLinksModel.ValidUnconnectedLinks
iLinksModel.ValidUnconnectedLinks = value
这种属性控制了链接数据是否必须总是连接到链接两端的节点数据.
方法
public void AddLink(object linkdata)
iLinksModel.AddLink(linkdata)
Add a link data to LinksSource.
- linkdata
public object AddLinkCopy(object linkdata)
result = iLinksModel.AddLinkCopy(linkdata)
将链接数据的副本添加到此模型中.
- linkdata
返回值: 新复制的链接数据
public void DoLinkAdded(object linkdata)
iLinksModel.DoLinkAdded(linkdata)
当LinksSource收集中添加了链接数据时,应该使用这种方法.
- linkdata
public void DoLinkLabelChanged(object linkdata)
iLinksModel.DoLinkLabelChanged(linkdata)
当添加,去除,或替换任何"标签"节点时,必须使用这种方法.
- linkdata
public void DoLinkPortsChanged(object linkdata)
iLinksModel.DoLinkPortsChanged(linkdata)
当"从"或"到"节点(或端口)"发生变化时,必须使用这种方法来称呼.
- linkdata
- 链接数据
public void DoLinkRemoved(object linkdata)
iLinksModel.DoLinkRemoved(linkdata)
当LinksSource收集中已删除链接数据时,应该使用这种方法。
- linkdata
public string GetCategoryForLink(object linkdata)
result = iLinksModel.GetCategoryForLink(linkdata)
为了帮助区分不同种类的链接,每个链接都有一个"类别",只是一个字符串.
- linkdata
返回值: 默认类别是空字符串
public IEnumerable<object> GetFromLinksForNode(object nodedata)
result = iLinksModel.GetFromLinksForNode(nodedata)
找到进入某个节点的所有链接 。
- nodedata
返回值: 链接数据的序列
public object GetFromNodeForLink(object linkdata)
result = iLinksModel.GetFromNodeForLink(linkdata)
返回链接的节点。
- linkdata
返回值: 节点数据
public object GetFromParameterForLink(object linkdata)
result = iLinksModel.GetFromParameterForLink(linkdata)
返回任何“ 从”端口参数信息 。
- linkdata
返回值: 端口参数数据
public bool GetHasLabeledLinkForNode(object nodedata)
result = iLinksModel.GetHasLabeledLinkForNode(nodedata)
如果给定的节点数据与链接数据相联作为标签,则此上游是真实的.
- nodedata
- 一个节点数据,即“ 标签”
public bool GetHasLabelNodeForLink(object linkdata)
result = iLinksModel.GetHasLabelNodeForLink(linkdata)
如果给定的链接数据有一个节点标签,则此上游是真实的.
- linkdata
- 链接数据
public bool GetIsLinkLabelForNode(object nodedata)
result = iLinksModel.GetIsLinkLabelForNode(nodedata)
如果给定的节点数据作为链接的标签,则此上游是真实的.
- nodedata
- 节点数据
public object GetLabeledLinkForNode(object nodedata)
result = iLinksModel.GetLabeledLinkForNode(nodedata)
查找标签节点关联的链接数据,如果有的话.
- nodedata
- 一个节点数据,即“ 标签”
返回值: 链接数据,如果没有,则无效
public object GetLabelNodeForLink(object linkdata)
result = iLinksModel.GetLabelNodeForLink(linkdata)
如果有,则查找链接标签的节点数据。
- linkdata
- 链接数据
返回值: 节点数据,如果没有,则无效
public IEnumerable<object> GetLinksBetweenNodes(object fromdata, object fromparam, object todata, object toparam)
result = iLinksModel.GetLinksBetweenNodes(fromdata, fromparam, todata, toparam)
查找连接两个节点/端口的所有链接, 向一个方向 。
- fromdata
- 一个节点键, 表示链接来自的节点数据
- fromparam
- 用于识别“从”节点上连接到的端口的可选值
- todata
- 节点键表示链接所连接的节点数据
- toparam
- 用于识别“到”节点上哪个端口链接到的可选值
返回值: 链接数据的序列
public IEnumerable<object> GetLinksForNode(object nodedata, Predicate<object> predicate)
result = iLinksModel.GetLinksForNode(nodedata, predicate)
查找连接到一个满足给定上游的节点的所有链接.
- nodedata
- predicate
- 上游需要单个参数,链接数据
返回值: 链接数据的序列
public IEnumerable<object> GetLinksForNode(object nodedata)
result = iLinksModel.GetLinksForNode(nodedata)
查找任何方向上连接到一个节点的所有链接 。
- nodedata
返回值: 链接数据的序列
public IEnumerable<object> GetToLinksForNode(object nodedata)
result = iLinksModel.GetToLinksForNode(nodedata)
查找一个给定节点中正在运行的所有链接 。
- nodedata
返回值: 链接数据的序列
public object GetToNodeForLink(object linkdata)
result = iLinksModel.GetToNodeForLink(linkdata)
返回链接的节点。
- linkdata
返回值: 节点数据
public object GetToParameterForLink(object linkdata)
result = iLinksModel.GetToParameterForLink(linkdata)
返回任何“ 到” 端口参数信息 。
- linkdata
返回值: 端口参数数据
public bool IsLinkData(object linkdata)
result = iLinksModel.IsLinkData(linkdata)
如果链接数据位于LinksSource收藏中,则此上游是真实的.
- linkdata
public bool IsLinkType(object linkdata)
result = iLinksModel.IsLinkType(linkdata)
如果对象为非核,且属于模型接受的链接数据类型,则此上游是真实的.
- linkdata
public bool IsRelinkValid(object newfromdata, object newfromparam, object newtodata, object newtoparam, object oldlinkdata)
result = iLinksModel.IsRelinkValid(newfromdata, newfromparam, newtodata, newtoparam, oldlinkdata)
如果改变两个节点/端口之间的现有链接将产生一个有效的图表,则此上游是真实的
- newfromdata
- 一个节点键, 表示新链接将来自的节点数据
- newfromparam
- 用于识别“从”节点上哪个端口链接的可选值
- newtodata
- 一个节点键表示新链接将前往的节点数据
- newtoparam
- 用于识别“ to” 节点上哪个端口链接的可选值
- oldlinkdata
- 一个将被删除的现有链接
public void RemoveLink(object linkdata)
iLinksModel.RemoveLink(linkdata)
Remove a link data from LinksSource.
- linkdata
public void SetLinkFromPort(object linkdata, object nodedata, object portparam)
iLinksModel.SetLinkFromPort(linkdata, nodedata, portparam)
设置链接数据的“ 从”节点和端口信息。
- linkdata
- 正在修改的链接数据
- nodedata
- 节点数据
- portparam
public void SetLinkLabel(object linkdata, object labelnodedata)
iLinksModel.SetLinkLabel(linkdata, labelnodedata)
更改链接数据的"标签"节点数据.
- linkdata
- 正在修改的链接数据
- labelnodedata
- 属于“ 标签” 的新节点数据; 可能无法删除标签
public void SetLinkToPort(object linkdata, object nodedata, object portparam)
iLinksModel.SetLinkToPort(linkdata, nodedata, portparam)
设置链接数据的“ to”节点和端口信息。
- linkdata
- 正在修改的链接数据
- nodedata
- 节点数据
- portparam