GraphEdit
继承
简要描述
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
插槽与to
的to_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 from
的from_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)
设置from
的from_port
和to
的to_port
之间的连接的颜色,使用 activity
主题属性。
- set_selected set_selected(node: Node)
将指定的node
设置为选定的一个。