流程图控件GoJS教程:内置GraphObject类各指数介绍(六)

翻译|使用教程|编辑:杨鹏连|2021-05-08 10:26:52.260|阅读 37 次

概述:GoJS是一款功能强大,快速且轻量级的流程图控件。本文介绍了GoJS API参考手册中GoJS类别索引-类装饰的具体内容。

# 31款JAVA开发必备控件和工具 # 企业数字化建设合规无风险[专题]

GoJS是一款功能强大,快速且轻量级的流程图控件,可帮助你在JavaScript 和HTML5 Canvas程序中创建流程图,且极大地简化您的JavaScript / Canvas 程序。

点击下载GoJS最新版

相关内容推荐

流程图控件GoJS教程:内置GraphObject类各指数介绍(一)

流程图控件GoJS教程:内置GraphObject类各指数介绍(二)

流程图控件GoJS教程:内置GraphObject类各指数介绍(三)

流程图控件GoJS教程:内置GraphObject类各指数介绍(四)

流程图控件GoJS教程:内置GraphObject类各指数介绍(五) 

toLinkableDuplicates : boolean 

获取或设置用户是否可以绘制重复的链接到该端口。LinkingBaseTool.isValidLink使用此属性。默认值为false。

除非整个Node都充当单个端口,否则必须在portId为非null的GraphObject上设置此属性,在这种情况下,应在Node上设置此属性。

toLinkableSelfNode : boolean

获取或设置用户是否可以绘制连接到此端口的Node的链接。LinkingBaseTool.isValidLink使用此属性。默认值为false。

除非整个Node都充当单个端口,否则必须在portId为非null的GraphObject上设置此属性,在这种情况下,应在Node上设置此属性。

toMaxLinks : number

获取或设置可能进入此端口的最大链接数。LinkingBaseTool.isValidTo使用此属性。

该值必须为非负数。默认值为无穷大。

除非整个Node都充当单个端口,否则必须在portId为非null的GraphObject上设置此属性,在这种情况下,应在Node上设置此属性。

toShortLength : number

获取或设置去往该端口的链接的末段距离实际端口多远。正值受toEndSegmentLength或Link.toEndSegmentLength限制。负值会导致链接扩展到端口。默认值为零。

当您具有粗链接和尖的箭头时,此属性很有用。通常,链接“形状”一直延伸到箭头的末端。如果链接“形状”较宽,则会在箭头后面看到其边缘。通过将此属性设置为较小的正值,链接形状可以在箭头的主体内结束,而仅箭头的点在链接的末端可见。

当您希望链接形状继续进入端口时,此属性的负值也很有用,可能是因为端口的一部分是透明的,并且您希望链接看起来与节点上的其他点在视觉上相连。

在确定链接的路由时,Link.toShortLength的值(如果不是NaN)优先于此端口上的值。

有关如何使用此属性的示例,请参见链接连接点。

除非整个Node都充当单个端口,否则必须在portId为非null的GraphObject上设置此属性,在这种情况下,应在Node上设置此属性。

toSpot : Spot

获取或设置链接应连接到此端口的位置。默认值为Spot.None,这意味着链接路由必须考虑端口的形状并连接到最近的点。

值Link.toSpot,如果不是Spot.Default,判断链接的路线时,在该端口的优先级高于该值。许多预定义的Layout会自动设置Link.fromSpot和Link.toSpot,从而导致忽略此属性和port元素上的fromSpot。根据布局,您可以禁用该行为,例如通过将ForceDirectedLayout.setsPortSpots, TreeLayout.setsPortSpot,TreeLayout.setsChildPortSpot或LayeredDigraphLayout.setsPortSpots设置为false。

有关如何使用此属性的示例,请参见链接连接点。

除非整个Node都充当单个端口,否则必须在portId为非null的GraphObject上设置此属性,在这种情况下,应在Node上设置此属性。

toolTip : Adornment | HTMLInfo

当鼠标悬停在此对象上时,将显示此装饰物或HTMLInfo。默认值为null,表示不显示任何工具提示。

典型的工具提示是按照以下方式定义的,该方式是从“小猫监视器”样本中获取的:

myDiagram.nodeTemplate =
  $(go.Node,
    . . .
    { // this tooltip shows the name and picture of the kitten
      toolTip:
        $("ToolTip",
          $(go.Panel, "Vertical",
            $(go.Picture,
              new go.Binding("source", "src", function(s) { return "images/" + s + ".png"; })),
            $(go.TextBlock, { margin: 3 },
              new go.Binding("text", "key"))))
    });
请注意,此装饰取决于与装饰的部件具有相同的数据绑定(即Panel.data的值)。

工具提示不会通过copy复制,因此模板的所有实例都可以共享工具提示。

在由ToolManager.hoverDelay给出的定时延迟之后显示工具提示。您可以通过以下方式更改延迟时间:

myDiagram =
  $(go.Diagram, "myDiagramDiv",
    { "toolManager.hoverDelay": 500 });  // 500 milliseconds
或者:

myDiagram.toolManager.hoverDelay = 500;  // 500 milliseconds
工具提示通常由ToolManager.positionToolTip定位。但是,如果工具提示中有一个占位符,则将放置工具提示(即装饰),以使占位符与此装饰的GraphObject处于同一位置。

替换此值将不会修改或删除为此对象显示的任何现有工具提示。

在ToolTips上了解有关工具提示的更多信息。

visible : boolean

获取或设置GraphObject是否可见。默认值是true。不可见的对象不会在其面板中占据任何空间。切换可见性可能会导致视觉树中的元素重新测量和重新排列。使面板不可见会导致其所有元素都不可见或接收输入事件。将面板更改为可见会导致其所有元素都可见并处于活动状态,除非这些元素本身不可见。

如果该对象不可见 或无法拾取,则不会获得任何鼠标/触摸事件。

通过将其Shape.fill 和Shape.stroke设置为null或,可以具有未绘制的可见Shape。同样,可以将TextBlock.stroke设置为null或。另外,也可以补充通过设置透明一个GraphObjects GraphObject.opacity最后为0,一个可以使整个层部件通过设置不可见的-全Layer.visible为false。"transparent""transparent"

使用isVisibleObject谓词来看看这GraphObject是可见的,是一个内部小组 是isVisibleObject,并依此类推,直到板链,直到到达部分。

对于Part,可以调用Part.isVisible谓词来确定不仅该Part是否可见,而且还包含其中的Group或Link以及它所在的Layer是否可见。

width : number

获取或设置此GraphObject的所需宽度(以本地坐标表示)。这只是获取或设置了想要的尺寸的宽度分量。默认值为NaN。

大小也可以通过设置minSize和maxSize来约束。

宽度不包括由于比例或角度引起的任何变换,也不包括由于Shape.strokeWidth而引起的任何笔粗(如果这是Shape)。如果有一个包含面板的面板,面板将确定实际尺寸。


想要购买GoJS正版授权,或了解更多产品信息请点击【咨询在线客服】


标签:

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

文章转载自:Northwoods

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
在线咨询
联系我们
TOP
在线客服系统
live chat