1
0
mirror of https://github.com/godotengine/godot.git synced 2026-01-06 19:41:11 +00:00

Add GraphEdit drag notifications

This commit adds two signals:
 * connection_drag_begun, which is emitted when a connection is started
   to be created by the user and
 * `connection_drag_ended`, which is emitted when no longer a connection
   is created.

Additionally `force_connection_drag_end()` adds the possibility to end
the connection dragging. If called from user code, no other connection
request signals are invoked. This is useful to add `GraphNode`s via
shortcuts while the user is dragging a connection to directly connect
the newly added node.
This commit is contained in:
Johannes Witt
2021-07-26 16:31:31 +02:00
parent 4ea309b405
commit 0505b08a56
3 changed files with 44 additions and 9 deletions

View File

@@ -109,6 +109,14 @@
Removes the connection between the [code]from_port[/code] slot of the [code]from[/code] GraphNode and the [code]to_port[/code] slot of the [code]to[/code] GraphNode. If the connection does not exist, no connection is removed.
</description>
</method>
<method name="force_connection_drag_end">
<return type="void" />
<description>
Ends the creation of the current connection. In other words, if you are dragging a connection you can use this method to abort the process and remove the line that followed your cursor.
This is best used together with [signal connection_drag_begun] and [signal connection_drag_ended] to add custom behavior like node addition through shortcuts.
[b]Note:[/b] This method suppresses any other connection request signals apart from [signal connection_drag_ended].
</description>
</method>
<method name="get_connection_line">
<return type="PackedVector2Array" />
<argument index="0" name="from" type="Vector2" />
@@ -241,6 +249,19 @@
Emitted at the beginning of a GraphNode movement.
</description>
</signal>
<signal name="connection_drag_begun">
<argument index="0" name="from" type="String" />
<argument index="1" name="slot" type="String" />
<argument index="2" name="is_output" type="bool" />
<description>
Emitted at the beginning of a connection drag.
</description>
</signal>
<signal name="connection_drag_ended">
<description>
Emitted at the end of a connection drag.
</description>
</signal>
<signal name="connection_from_empty">
<argument index="0" name="to" type="StringName" />
<argument index="1" name="to_slot" type="int" />