mirror of
https://codeberg.org/StreamGraph/StreamGraph.git
synced 2024-11-13 19:49:55 +01:00
41 lines
924 B
GDScript3
41 lines
924 B
GDScript3
|
extends GraphNode
|
||
|
class_name DeckNodeRendererGraphNode
|
||
|
|
||
|
var node: DeckNode
|
||
|
|
||
|
|
||
|
func _ready() -> void:
|
||
|
title = node.name
|
||
|
|
||
|
for port in node.get_all_ports():
|
||
|
var descriptor_split := port.descriptor.split(":")
|
||
|
match descriptor_split[0]:
|
||
|
"button":
|
||
|
var button := Button.new()
|
||
|
add_child(button)
|
||
|
button.text = port.label
|
||
|
if port.port_type == DeckNode.PortType.OUTPUT:
|
||
|
button.pressed.connect(
|
||
|
func():
|
||
|
node.send(port.index, DeckType.DeckTypeString.new("Button Pressed"))
|
||
|
)
|
||
|
"field":
|
||
|
var line_edit := LineEdit.new()
|
||
|
add_child(line_edit)
|
||
|
line_edit.placeholder_text = port.label
|
||
|
port.value_callback = line_edit.get_text
|
||
|
_:
|
||
|
var label := Label.new()
|
||
|
add_child(label)
|
||
|
label.text = port.label
|
||
|
|
||
|
set_slot(
|
||
|
port.index,
|
||
|
port.port_type == DeckNode.PortType.INPUT,
|
||
|
0,
|
||
|
Color.WHITE,
|
||
|
port.port_type == DeckNode.PortType.OUTPUT,
|
||
|
0,
|
||
|
Color.WHITE,
|
||
|
)
|