跳到主要内容

GraphEdit

继承

Control

简要描述

GraphEdit是一个能够显示各种GraphNodes的区域。它管理它们之间的连接事件。

描述

GraphEdit管理其包含的GraphNode的显示以及它们之间的连接和断开连接。为这两个事件中的每一个发送信号。 GraphNode插槽之间的断开连接默认为禁用。

在使用GraphEdits时,强烈建议启用低处理器使用模式(请参阅OS.low_processor_usage_mode)。

成员

类型属性名默认值
intfocus_mode2
boolrect_clip_contenttrue
boolright_disconnectsfalse
Vector2scroll_offsetVector2( 0, 0 )
intsnap_distance20
booluse_snaptrue
floatzoom1.0

方法

返回值类型方法名称
voidadd_valid_connection_type(from_type: int, to_type: int)
voidadd_valid_left_disconnect_type(type: int)
voidadd_valid_right_disconnect_type(type: int)
voidclear_connections()
intconnect_node(from: String, from_port: int, to: String, to_port: int)
voiddisconnect_node(from: String, from_port: int, to: String, to_port: int)
Arrayget_connection_list() const
HBoxContainerget_zoom_hbox()
boolis_node_connected(from: String, from_port: int, to: String, to_port: int)
boolis_valid_connection_type(from_type: int, to_type: int) const
voidremove_valid_connection_type(from_type: int, to_type: int)
voidremove_valid_left_disconnect_type(type: int)
voidremove_valid_right_disconnect_type(type: int)
voidset_connection_activity(from: String, from_port: int, to: String, to_port: int, amount: float)
voidset_selected(node: Node)

信号

  • **_begin_node_move**

在GraphNode运动开始时发出。


  • **_end_node_move**

在GraphNode移动结束时发出。


  • **connection_from_empty**

用户将连接从输入端口拖动到图形的空白区域时发出。


  • **connection_request**

from GraphNode的from_slot插槽与toto_slot插槽之间的连接时,发送到GraphEdit 尝试创建GraphNode。


  • **connection_to_empty**

用户将连接从输出端口拖动到图形的空白区域时发出。


  • **copy_nodes_request**

当用户按下Ctrl C时发出。


  • **delete_nodes_request**

尝试从GraphEdit中删除GraphNode时发出。


  • **disconnection_request**

尝试将from GraphNode的from_slot插槽与to GraphNode的to_slot插槽之间的连接发送到GraphEdit


  • **duplicate_nodes_request**

尝试在GraphEdit中复制GraphNode时发出。


  • **node_selected**

在选择GraphNode时发出。


  • **paste_nodes_request**

当用户按下Ctrl V时发出。


  • **popup_request**

在请求弹出窗口时发出。


  • **scroll_offset_changed**

当用户更改滚动偏移量时发出。


常量

成员说明

  • int focus_mode
Default2
setterset_focus_mode(value)
getterget_focus_mode
  • bool rect_clip_content
Defaulttrue
setterset_clip_contents(value)
getteris_clipping_contents
  • bool right_disconnects
Defaultfalse
setterset_right_disconnects(value)
getteris_right_disconnects_enabled
  • Vector2 scroll_offset
DefaultVector2( 0, 0 )
setterset_scroll_ofs(value)
getterget_scroll_ofs
  • int snap_distance
Default20
setterset_snap(value)
getterget_snap
  • bool use_snap
Defaulttrue
setterset_use_snap(value)
getteris_using_snap
  • float zoom
Default1.0
setterset_zoom(value)
getterget_zoom

方法说明

  • add_valid_connection_type add_valid_connection_type(from_type: int, to_type: int)

使两种不同插槽类型之间的连接成为可能。 该类型是通过GraphNode.set_slot方法定义的。


  • add_valid_left_disconnect_type add_valid_left_disconnect_type(type: int)

如果具有指定的类型,则可以从左侧的插槽中拖动时断开节点的连接。


  • add_valid_right_disconnect_type add_valid_right_disconnect_type(type: int)

如果具有指定的类型,从右侧的插槽中拖动时可以断开节点的连接。


  • clear_connections clear_connections()

删除节点之间的所有连接。


  • connect_node connect_node(from: String, from_port: int, to: String, to_port: int)

from GraphNode的from_port插槽和to GraphNode的to_port插槽之间创建连接。 如果连接已经存在,则不会创建任何连接。


  • disconnect_node disconnect_node(from: String, from_port: int, to: String, to_port: int)

删除from GraphNode的 from_port插槽与to GraphNode的to_port插槽之间的连接。 如果连接不存在,则不会删除任何连接。


  • get_connection_list get_connection_list() const

返回一个包含连接列表的数组。连接由以下形式构成:{from_port:0,from:“ GraphNode name 0”,to_port:1,to:"GraphNode name 1"}


  • get_zoom_hbox get_zoom_hbox()

获取HBoxContainer,该HBoxContainer在图形的左上方包含缩放和网格捕捉控件。

警告:此功能的预期用途是允许您在容器中重新定位或添加自己的自定义控件。 这是一个内部控件,因此不应释放。 如果要隐藏此子项或其中的任何子项,请改用其CanvasItem.visible属性。


  • is_node_connected is_node_connected(from: String, from_port: int, to: String, to_port: int)

如果GraphNode fromfrom_port插槽连接到to的 to_port插槽,则返回true` 。


  • is_valid_connection_type is_valid_connection_type(from_type: int, to_type: int) const

返回是否可以连接指定类型的插槽。


  • remove_valid_connection_type remove_valid_connection_type(from_type: int, to_type: int)

使得无法在两种不同的插槽类型之间进行连接。 该类型是通过GraphNode.set_slot方法定义的。


  • remove_valid_left_disconnect_type remove_valid_left_disconnect_type(type: int)

如果具有指定的类型,则从左侧的插槽中拖动时,消除了断开节点连接的可能性。


  • remove_valid_right_disconnect_type remove_valid_right_disconnect_type(type: int)

如果具有指定的类型,则从右侧的插槽中拖动时,消除了断开节点连接的可能性。


  • set_connection_activity set_connection_activity(from: String, from_port: int, to: String, to_port: int, amount: float)

设置fromfrom_porttoto_port之间的连接的颜色,使用 activity主题属性。


  • set_selected set_selected(node: Node)

将指定的node设置为选定的一个。