跳转至

GraphEdit

继承

Control

简要描述

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

描述

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

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

成员

类型 属性名 默认值
int focus_mode 2
bool rect_clip_content true
bool right_disconnects false
Vector2 scroll_offset Vector2( 0, 0 )
int snap_distance 20
bool use_snap true
float zoom 1.0

方法

返回值类型 方法名称
void add_valid_connection_type(from_type: int, to_type: int)
void add_valid_left_disconnect_type(type: int)
void add_valid_right_disconnect_type(type: int)
void clear_connections()
int connect_node(from: String, from_port: int, to: String, to_port: int)
void disconnect_node(from: String, from_port: int, to: String, to_port: int)
Array get_connection_list() const
HBoxContainer get_zoom_hbox()
bool is_node_connected(from: String, from_port: int, to: String, to_port: int)
bool is_valid_connection_type(from_type: int, to_type: int) const
void remove_valid_connection_type(from_type: int, to_type: int)
void remove_valid_left_disconnect_type(type: int)
void remove_valid_right_disconnect_type(type: int)
void set_connection_activity(from: String, from_port: int, to: String, to_port: int, amount: float)
void set_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
Default 2
setter set_focus_mode(value)
getter get_focus_mode
  • bool rect_clip_content
Default true
setter set_clip_contents(value)
getter is_clipping_contents
  • bool right_disconnects
Default false
setter set_right_disconnects(value)
getter is_right_disconnects_enabled
  • Vector2 scroll_offset
Default Vector2( 0, 0 )
setter set_scroll_ofs(value)
getter get_scroll_ofs
  • int snap_distance
Default 20
setter set_snap(value)
getter get_snap
  • bool use_snap
Default true
setter set_use_snap(value)
getter is_using_snap
  • float zoom
Default 1.0
setter set_zoom(value)
getter get_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设置为选定的一个。