Attention | Topic was automatically imported from the old Question2Answer platform. | |
Asked By | newold |
I have a custom node (tool) with export variable. This variable is type String/File and when you select any file then a fuction load this file and create some user signals found in the read file.
Is there a way for godot to show me these signals on the signals panel in the Editor?
I know that property_list_changed_notify() updates the inspector panel but not the signals panel
tool
extends CanvasLayer
export(String, FILE, "lang.data") var DATA setget parse_data
var my_data
func parse_data(value):
DATA = value
var f = File.new()
f.open(value, File.READ)
my_data = JSON.parse(f.get_as_text()).result
f.close()
# Create user signals from data
for s in my_data.signals:
add_user_signal(s)
# Update signals panel in editor
# HOW??????????????????????????????
I had a look at the sources of the editor node and unfortunately it doesn’t handle the node dock like it does the inspector dock. There’s a missing node_dock->update()
call somewhere, or a missing getter that would allow us to retrieve the node dock. Unfortunately, the NodeDock class is native only i.e. it doesn’t register any of its methods for use in gdscript.
I couldn’t find an issue on github on this subject, so I don’t think many people need this feature. You could try opening a new issue. Maybe there is a workaround I don’t know, and the github contributors may help you better.
Bernard Cloutier | 2020-10-09 18:06