图表事件是比 输入事件更抽象的事件. 它们是在 图表 类上触发的. 可以通过调用Diagram.addDiagramListener. 在图表上注册一个图表侦听器来接收此类事件.调用侦听器函数时,将传递一个图表事件实例. 使用name 属性确定它是哪种图表事件. 图表 属性引用图表, 您可以从中获得附加信息,例如Diagram.lastInput,反过来有提供了 例如 InputEvent.documentPoint 之类的信息,这些信息可能与此类图表事件相关.
subject 和 parameter 可选地提供有关关系图表事件的附加信息. subject 是Part 零部件的集合, 也可以是单个对象, 如节点中的Link 链接 或者 GraphObject 图形对象 . 这取决于它是哪种图表事件.
有些图表事件,如 "ObjectSingleClicked" 或"BackgroundDoubleClicked" 通常与 输入事件关联. 有些图表事件,如"SelectionMoved" 或 "PartRotated" 与Tool-handled gestures 或者CommandHandler 操作的结果相关联. 有些图表事件根本不必与任何输入事件相关联,例如 "ViewportBoundsChanged",这可能由于程序的直接更改 Diagram.position 和 Diagram.scale 属性而触发事件.
在整个关系图的状态稳定下来之前,可以调用事务期间发生的图表事件. 这通常意味着此类事件发生在布局之前,因此节点可能没有它们的最终位置, 链接可能没有最终的路由, Diagram.documentBounds 和 Diagram.viewportBounds 可能还没有更新. 这些事件可能对图表进行额外的更改,从而可能导致额外的副作用.
发生在事务外部的事件,如果有修改需要您手动启动和提交事务. 但是,有些图表事件不允许您对图表或模型进行任何更改.
当前定义的图表事件名称包括:
DiagramEvent类构造函数生成一个空的DiagramEvent.你不需要调用这个构造函数.但是如果您这样做了,您必须首先将diagram设置为Diagram,然后才能进行其他使用.
获取与事件关联的图表.
获取或设置图表事件类型的名称.此属性应始终设置为可识别的名称列表之一,如图表事件文档中所列.
获取或设置描述对图表事件subject更改的可选对象.此属性默认为null.
获取或设置作为图表事件subject的可选对象.此属性默认为null.
图表事件是比 输入事件更抽象的事件. 它们是在 图表 类上触发的. 可以通过调用Diagram.addDiagramListener. 在图表上注册一个图表侦听器来接收此类事件.调用侦听器函数时,将传递一个图表事件实例. 使用name 属性确定它是哪种图表事件. 图表 属性引用图表, 您可以从中获得附加信息,例如Diagram.lastInput,反过来有提供了 例如 InputEvent.documentPoint 之类的信息,这些信息可能与此类图表事件相关.
subject 和 parameter 可选地提供有关关系图表事件的附加信息. subject 是Part 零部件的集合, 也可以是单个对象, 如节点中的Link 链接 或者 GraphObject 图形对象 . 这取决于它是哪种图表事件.
有些图表事件,如 "ObjectSingleClicked" 或"BackgroundDoubleClicked" 通常与 输入事件关联. 有些图表事件,如"SelectionMoved" 或 "PartRotated" 与Tool-handled gestures 或者CommandHandler 操作的结果相关联. 有些图表事件根本不必与任何输入事件相关联,例如 "ViewportBoundsChanged",这可能由于程序的直接更改 Diagram.position 和 Diagram.scale 属性而触发事件.
在整个关系图的状态稳定下来之前,可以调用事务期间发生的图表事件. 这通常意味着此类事件发生在布局之前,因此节点可能没有它们的最终位置, 链接可能没有最终的路由, Diagram.documentBounds 和 Diagram.viewportBounds 可能还没有更新. 这些事件可能对图表进行额外的更改,从而可能导致额外的副作用.
发生在事务外部的事件,如果有修改需要您手动启动和提交事务. 但是,有些图表事件不允许您对图表或模型进行任何更改.
当前定义的图表事件名称包括:
this can be useful for customizing the initial animation, see AnimationManager.initialAnimationStyle.
不要在事件监听器中修改关系图或其模型.
不要在事件监听器中修改关系图或其模型.
如果做了任何更改,请启动并提交事务.
如果做了任何更改,请启动并提交事务.
如果做了任何更改,请启动并提交事务.
DiagramEvent.subject为该集合的值;
不要对事件监听器中的选择或关系图进行任何更改; 注意,直接设置 Part.isSelected 将不会触发此事件,但是工具和命令会触发此事件.
DiagramEvent.subject为该集合的值;
不要对事件监听器中的选择或关系图进行任何更改; 注意,直接设置 Part.isSelected 将不会触发此事件,但是工具和命令会触发此事件.
the DiagramEvent.subject 为 零部件的集合;
如果做了任何更改,请启动并提交事务.
DiagramEvent.subject为 Diagram.selection,
已在事务中调用,不用再启动和提交事务.
DiagramEvent.parameter 为旧的Rect
DiagramEvent.subject 是拖拽过来的 零部件 (这也是选中的Diagram.selection), the DiagramEvent.parameter is the source Diagram, 已在事务中调用.
如果进行任何更改,则不需要执行事务.
如果进行任何更改,则不需要执行事务.
DiagramEvent.subject 为新创建的线,
已在事务中调用.
DiagramEvent.subject为修改的 线,
DiagramEvent.parameter为线被断开的 GraphObject端口,
已在事务中调用.
DiagramEvent.subject 为修改的 线,
the DiagramEvent.parameter 为线的原始路径点列表, 已在事务中调用.
不要在事件监听器中修改Diagram或Model.
DiagramEvent.subject 为 图形对象;
如果做了任何更改,请启动并提交事务.
DiagramEvent.subject为 图形对象;
如果做了任何更改,请启动并提交事务.
为 图形对象;
如果做了任何更改,请启动并提交事务.
the DiagramEvent.subject为新的Part 零部件,
已在事务中调用.
DiagramEvent.subject 为 图形对象,
DiagramEvent.parameter 为原始尺寸,
已在事务中调用.
the DiagramEvent.subject 为 图形对象,
the DiagramEvent.parameter 为原始角度,
已在事务中调用.
the DiagramEvent.subject为拖动的零部件,
已在事务中调用.
DiagramEvent.subject为新拷贝的零部件集合,
已在事务中调用.
the DiagramEvent.subject 是已删除的零部件集合,
已在事务中调用.
the DiagramEvent.subject 为Diagram.selection 即将删除的零部件集合,
已在事务中调用.
DiagramEvent.subject 为新的组 组,
已在事务中调用.
DiagramEvent.subject未分组的 组的集合,
DiagramEvent.parameter 参数是未分组的前成员零部件的集合, 已在事务中调用.
DiagramEvent.subject为已折叠的 组集合,
已在事务中调用.
the DiagramEvent.subject为展开的 组集合,
已在事务中调用.
DiagramEvent.subject 为编辑过的 TextBlock 文本块,
the DiagramEvent.parameter 为原始字符串,
已在事务中调用.
DiagramEvent.subject 为被折叠的节点集合,
已在事务中调用.
DiagramEvent.subject为被展开的节点集合,
已在事务中调用.
DiagramEvent.subject 为一个对象,
"scale"属性是旧的 Diagram.scale 值,
"position" 属性是旧的Diagram.position 值,
"bounds" 属性是旧的 Diagram.viewportBounds 值,
DiagramEvent.parameter 是旧的viewportBounds Rect.