提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吴园园|2019-11-19 11:05:20.467|阅读 757 次
概述:GoJS是一款功能强大,快速且轻量级的流程图控件。本教程将为您介绍在链接上添加注释或修饰。
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
相关链接:
GoJS是一款功能强大,快速且轻量级的流程图控件,可帮助你在JavaScript 和HTML5 Canvas程序中创建流程图,且极大地简化您的JavaScript / Canvas 程序。
GoJS现已更新至最新版本2.0.17发布,修复了一些bug,增强用户体验,赶快下载试试吧~
链接上的标签
通常在链接(尤其是文本)上添加注释或修饰。
简单链接标签
默认情况下,如果将GraphObject添加到Link,它将位于链接的中间。在此示例中,我们仅将TextBlock添加到链接,并将其TextBlock.text属性绑定到链接数据的“ text”属性。
diagram.nodeTemplate =
$(go.Node, "Auto",
new go.Binding("location", "loc", go.Point.parse),
$(go.Shape, "RoundedRectangle", { fill: "lightgray" }),
$(go.TextBlock, { margin: 5 },
new go.Binding("text", "key"))
);
diagram.linkTemplate =
$(go.Link,
$(go.Shape), // this is the link shape (the line)
$(go.Shape, { toArrow: "Standard" }), // this is an arrowhead
$(go.TextBlock, // this is a Link label
new go.Binding("text", "text"))
);
var nodeDataArray = [
{ key: "Alpha", loc: "0 0" },
{ key: "Beta", loc: "200 50" }
];
var linkDataArray = [
{ from: "Alpha", to: "Beta", text: "a label" }
];
diagram.model = new go.GraphLinksModel(nodeDataArray, linkDataArray);
请注意,单击文本标签将导致选择整个链接。
虽然使用TextBlock作为链接标签是很平常的事,但是它可以是任何GraphObject, 例如Shape或任意复杂的Panel。这是一个简单的面板标签:
diagram.nodeTemplate =
$(go.Node, "Auto",
new go.Binding("location", "loc", go.Point.parse),
$(go.Shape, "RoundedRectangle", { fill: "lightgray" }),
$(go.TextBlock, { margin: 5 },
new go.Binding("text", "key"))
);
diagram.linkTemplate =
$(go.Link,
$(go.Shape),
$(go.Shape, { toArrow: "Standard" }),
$(go.Panel, "Auto", // this whole Panel is a link label
$(go.Shape, "TenPointedStar", { fill: "yellow", stroke: "gray" }),
$(go.TextBlock, { margin: 3 },
new go.Binding("text", "text"))
)
);
var nodeDataArray = [
{ key: "Alpha", loc: "0 0" },
{ key: "Beta", loc: "200 50" }
];
var linkDataArray = [
{ from: "Alpha", to: "Beta", text: "hello!" } // added information for link label
];
diagram.model = new go.GraphLinksModel(nodeDataArray, linkDataArray);
如果链接是正交路由或贝塞尔曲线,这也可以工作。
diagram.nodeTemplate =
$(go.Node, "Auto",
new go.Binding("location", "loc", go.Point.parse),
$(go.Shape, "RoundedRectangle", { fill: "lightgray" }),
$(go.TextBlock, { margin: 5 },
new go.Binding("text", "key"))
);
diagram.linkTemplate =
$(go.Link,
{ routing: go.Link.Orthogonal },
$(go.Shape),
$(go.Shape, { toArrow: "Standard" }),
$(go.TextBlock, { textAlign: "center" }, // centered multi-line text
new go.Binding("text", "text"))
);
var nodeDataArray = [
{ key: "Alpha", loc: "0 0" },
{ key: "Beta", loc: "200 50" }
];
var linkDataArray = [
{ from: "Alpha", to: "Beta", text: "a label\non an\northo link" }
];
diagram.model = new go.GraphLinksModel(nodeDataArray, linkDataArray);
尽管将标签放置在链接的中间是默认行为,但是您可以设置以“ segment”开头的GraphObject属性,以指定确切位置以及如何沿链接路径布置对象。
链接标签segmentIndex和segmentFraction
设置GraphObject.segmentIndex属性,以指定对象应位于链接路线的哪一部分。设置GraphObject.segmentFraction属性以控制对象应该走多远,以从段的开头(零)到段的结尾(一)的分数表示。
如果链接来自不具有GraphObject.fromSpot的节点(即Spot.None)并到达不具有GraphObject.toSpot的节点,则链接中可能只有一个段,段号为零。
diagram.nodeTemplate =
$(go.Node, "Auto",
new go.Binding("location", "loc", go.Point.parse),
$(go.Shape, "RoundedRectangle", { fill: "lightgray" }),
$(go.TextBlock, { margin: 5 },
new go.Binding("text", "key"))
);
diagram.linkTemplate =
$(go.Link,
$(go.Shape),
$(go.Shape, { toArrow: "Standard" }),
$(go.TextBlock, "from", { segmentIndex: 0, segmentFraction: 0.2 }),
$(go.TextBlock, "mid", { segmentIndex: 0, segmentFraction: 0.5 }),
$(go.TextBlock, "to", { segmentIndex: 0, segmentFraction: 0.8 })
);
var nodeDataArray = [
{ key: "Alpha", loc: "0 0" },
{ key: "Beta", loc: "200 50" }
];
var linkDataArray = [
{ from: "Alpha", to: "Beta" }
];
diagram.model = new go.GraphLinksModel(nodeDataArray, linkDataArray);
如果链接中有许多段,则需要指定不同的段号。例如,正交链接通常在路线中有6个点,这意味着从0到4编号为5个路段。
diagram.nodeTemplate =
$(go.Node, "Auto",
new go.Binding("location", "loc", go.Point.parse),
$(go.Shape, "RoundedRectangle", { fill: "lightgray" }),
$(go.TextBlock, { margin: 5 },
new go.Binding("text", "key"))
);
diagram.linkTemplate =
$(go.Link,
{ routing: go.Link.Orthogonal },
$(go.Shape),
$(go.Shape, { toArrow: "Standard" }),
$(go.TextBlock, "from", { segmentIndex: 1, segmentFraction: 0.5 }),
$(go.TextBlock, "mid", { segmentIndex: 2, segmentFraction: 0.5 }),
$(go.TextBlock, "to", { segmentIndex: 3, segmentFraction: 0.5 })
);
var nodeDataArray = [
{ key: "Alpha", loc: "0 0" },
{ key: "Beta", loc: "200 50" }
];
var linkDataArray = [
{ from: "Alpha", to: "Beta" }
];
diagram.model = new go.GraphLinksModel(nodeDataArray, linkDataArray);
但是,您也可以从链接的“到”端向后计数段。-1是最后一个分段,-2是倒数第二个分段,依此类推。当您使用负分段索引时,分段分数从最接近“ to”端的0变为该分段中最靠后的一端的1。沿从“到”端的路线。因此,segmentIndex为-1,segmentFraction为0的点是链接路由的终点。segmentIndex为-1且segmentFraction为1的segmentIndex与segmentIndex -2和segmentFraction 0相同。
对于属于链接“至”端附近的标签,通常对GraphObject.segmentIndex使用负值。当链接中的段数未知或可能变化时,此约定效果更好。
**关于链接上的标签更多教程,欢迎关注后续教程
=====================================================
想要购买GoJS正版授权的朋友可以。
更多精彩内容,欢迎关注下方的微信公众号,及时获取产品最新资讯▼▼▼

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@hmdbvip.cn
文章转载自:



Parasoft C/C++test是一款专为C/C++代码设计的自动化测试工具,通过静态代码分析、单元测试和运行时错误检测等功能,帮助开发团队在早期发现并修复缺陷,提升代码质量和开发效率 。在实际使用中,尤其是在VC6此类旧版开发环境中执行单元测试时,可能会因环境兼容性问题触发链接错误。
本文主要介绍如何在MVVM应用程序中使用虚拟源,欢迎下载最新版组件体验!
Aspose.Slides for Java使用户能够轻松地操作幻灯片、添加注释和转换文件。其易用性和集成能力提高了工作效率,使开发人员能够专注于更关键的任务。
在嵌入式软件测试领域,对交叉编译代码进行单元测试是一大挑战。Parasoft C/C++test作为专业的C/C++测试工具,能够与劳特巴赫Trace32调试器深度集成。下面会详细介绍如何在C++test中配置Trace32调试器,实现对PowerPC架构程序的单元测试,涵盖环境设置、项目导入到测试执行的全过程。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@hmdbvip.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
永利最大(官方)网站