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
绘制在网格下方的背景。