GraphEdit
Inherits: Control < CanvasItem < Node < Object
图形编辑GraphEdit是一个能够显示各种图形节点GraphNodes的区域。它管理着它们之间的连接事件。
描述
图形编辑GraphEdit管理它所包含的图形节点GraphNodes的显示,以及它们之间的连接和断开。这两个事件中的每一个都会发送信号。默认情况下,图形节点GraphNode插槽之间的断开连接是禁用的。
在使用图形编辑GraphEdits时,我们强烈建议启用低处理器使用模式(见OS.low_processor_usage_mode)。
属性
focus_mode |
| |
| ||
| ||
| ||
rect_clip_content |
| |
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
方法
void | add_valid_connection_type ( int from_type, int to_type ) |
void | add_valid_left_disconnect_type ( int type ) |
void | add_valid_right_disconnect_type ( int type ) |
void | |
connect_node ( String from, int from_port, String to, int to_port ) | |
void | disconnect_node ( String from, int from_port, String to, int to_port ) |
get_connection_list ( ) const | |
get_zoom_hbox ( ) | |
is_node_connected ( String from, int from_port, String to, int to_port ) | |
is_valid_connection_type ( int from_type, int to_type ) const | |
void | remove_valid_connection_type ( int from_type, int to_type ) |
void | remove_valid_left_disconnect_type ( int type ) |
void | remove_valid_right_disconnect_type ( int type ) |
void | set_connection_activity ( String from, int from_port, String to, int to_port, float amount ) |
void | set_selected ( Node node ) |
主题属性
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
信号
- _begin_node_move ( )
在图形节点GraphNode移动开始时发出。
- _end_node_move ( )
在图形节点GraphNode移动结束时发出。
当用户连接输入端口到图形的空位时发出。
当试图创建来自from
图形节点GraphNode1的from_slot
槽和to
图形节点GraphNode2的to_slot
槽之间的连接时,会向图形编辑GraphEdit发出。
当用户将输出端口连接到图形的空位时发出。
- copy_nodes_request ( )
当用户按Ctrl + C
时触发。
- delete_nodes_request ( )
当试图从图形编辑GraphEdit中删除一个图形节点GraphNode时发出。
当试图移除 from
图形节点GraphNode1的 from_slot
槽和to
图形节点GraphNode 的to_slot
槽之间的连接时,会发送到图形编辑GraphEdit。
- duplicate_nodes_request ( )
当图形节点GraphNode试图在图形编辑GraphEdit中被复制时发出的。
- node_selected ( Node node )
当图形节点GraphNode被选择时发出。
- node_unselected ( Node node )
- paste_nodes_request ( )
当用户按下Ctrl + V
时触发。
- popup_request ( Vector2 position )
当请求弹出窗口时发出。在图形编辑GraphEdit中右键单击时发生。坐标position
是发送信号时鼠标指针的位置。
- scroll_offset_changed ( Vector2 ofs )
当用户改变滚动偏移量时发出。在代码中改变滚动偏移量时,它不会被触发。
属性说明
- bool minimap_enabled
Default |
|
Setter | set_minimap_enabled(value) |
Getter | is_minimap_enabled() |
如果true
,小图是可见的。
- float minimap_opacity
Default |
|
Setter | set_minimap_opacity(value) |
Getter | get_minimap_opacity() |
小图矩形的不透明度。
- Vector2 minimap_size
Default |
|
Setter | set_minimap_size(value) |
Getter | get_minimap_size() |
小图矩形的大小。地图自身基于网格区域的大小,并被缩放以适应这个矩形。
- bool right_disconnects
Default |
|
Setter | set_right_disconnects(value) |
Getter | is_right_disconnects_enabled() |
如果true
,通过拖动右端,可以断开图形编辑GraphEdit中现有的连接。
- Vector2 scroll_offset
Default |
|
Setter | set_scroll_ofs(value) |
Getter | get_scroll_ofs() |
滚动偏移量。
- bool show_zoom_label
Default |
|
Setter | set_show_zoom_label(value) |
Getter | is_showing_zoom_label() |
如果true
,则使当前缩放级别的标签可见。缩放值以百分比显示。
- int snap_distance
Default |
|
Setter | set_snap(value) |
Getter | get_snap() |
吸附距离(以像素为单位)。
- bool use_snap
Default |
|
Setter | set_use_snap(value) |
Getter | is_using_snap() |
如果为true
,启用自动吸附。
- float zoom
Default |
|
Setter | set_zoom(value) |
Getter | get_zoom() |
当前缩放值。
- float zoom_max
Default |
|
Setter | set_zoom_max(value) |
Getter | get_zoom_max() |
缩放上限。
- float zoom_min
Default |
|
Setter | set_zoom_min(value) |
Getter | get_zoom_min() |
缩放下限。
- float zoom_step
Default |
|
Setter | set_zoom_step(value) |
Getter | get_zoom_step() |
每个缩放级别的步长。
方法说明
使得两个不同插槽型之间的连接成为可能。该类型是通过GraphNode.set_slot方法定义的。
- void add_valid_left_disconnect_type ( int type )
使得从左边的槽中拖动节点时,如果它有指定的类型,可以断开节点的连接。
- void add_valid_right_disconnect_type ( int type )
使得从右边的槽中拖动节点时,如果它有指定的类型,可以断开节点的连接。
- void clear_connections ( )
移除节点之间的所有连接。
在from
图形节点GraphNode的from_port
槽和to
图形节点GraphNode的to_port
槽之间创建一个连接。如果该连接已经存在,则不创建连接。
删除from
图形节点GraphNode1的from_port
插槽与to
图形节点GraphNode2的to_port
插槽之间的连接。如果连接不存在,则不会删除任何连接。
- Array get_connection_list ( ) const
返回一个包含连接列表的数组。一个连接包括一个结构,其形式为{ from_port:0, from: "GraphNode name 0", to_port:1, to:"GraphNode name 1" }
.
- HBoxContainer get_zoom_hbox ( )
获取包含图形左上角的缩放和网格捕捉控件的 HBoxContainer。你可以使用此方法重新定位工具栏或向其添加自定义控件。
警告: 这是一个必需的内部节点,删除和释放它可能会导致崩溃。如果你希望隐藏它或其任何子项,请使用它们的 CanvasItem.visible 属性。
如果from
图形节点GraphNode1的from_port
槽与to
图形节点GraphNode2的to_port
槽相连,则返回true
。
返回是否有可能连接指定类型的插槽。
使得两个不同槽型之间的连接成为不可能。该类型是通过GraphNode.set_slot方法定义的。
- void remove_valid_left_disconnect_type ( int type )
当节点具有指定的类型,可以从左边的槽中拖动时删除断开节点的功能。
- void remove_valid_right_disconnect_type ( int type )
当节点具有指定的类型,可以从左边的槽中拖动时删除断开节点的功能。
将from
的from_port
和to
的to_port
之间的连接的颜色纹理设置为当前正在使用activity
的主题中的颜色。
- void set_selected ( Node node )
选中一个特定的节点node
.
Theme Property Descriptions
- Color activity
Default |
|
- Color grid_major
Default |
|
主网格线条颜色。
- Color grid_minor
Default |
|
次要网格线的颜色。
- Color selection_fill
Default |
|
选定的矩形的填充颜色。
- Color selection_stroke
Default |
|
选择的矩形的轮廓颜色。
- int bezier_len_neg
Default |
|
- int bezier_len_pos
Default |
|
- int port_grab_distance_horizontal
Default |
|
一个端口可以被抓取的水平范围(两侧)。
- int port_grab_distance_vertical
Default |
|
一个端口可以被抓取的垂直范围(两侧)。
- Texture minimap
- Texture minus
缩小按钮的图标。
- Texture more
放大按钮的图标。
- Texture reset
缩放重置按钮的图标。
- Texture snap
吸附动按钮的图标。
- StyleBox bg
绘制在网格下方的背景。