mirror of
https://codeberg.org/StreamGraph/StreamGraph.git
synced 2024-11-13 19:49:55 +01:00
followup to db590ac
: improve group node renderer UX
This commit is contained in:
parent
cb1e30d6af
commit
32bda994f6
2 changed files with 29 additions and 1 deletions
|
@ -51,6 +51,8 @@ func _ready() -> void:
|
|||
node.renamed.connect(_on_node_renamed)
|
||||
if node.node_type == "group_node":
|
||||
get_titlebar_hbox().tooltip_text = "Group %s" % node.group_id.left(8)
|
||||
if get_child_count() == 0:
|
||||
create_group_help_text()
|
||||
|
||||
size = node.get_meta("size", Vector2())
|
||||
|
||||
|
@ -113,7 +115,10 @@ func _on_node_ports_updated() -> void:
|
|||
for port in node.get_all_ports():
|
||||
update_port(port)
|
||||
|
||||
if get_child_count() == 0:
|
||||
create_group_help_text()
|
||||
await get_tree().process_frame
|
||||
|
||||
size = Vector2()
|
||||
|
||||
|
||||
|
@ -121,6 +126,12 @@ func _on_node_renamed(new_name: String) -> void:
|
|||
title = new_name
|
||||
|
||||
|
||||
func create_group_help_text() -> void:
|
||||
var l := Label.new()
|
||||
l.text = RendererShortcuts.interpolate_string("This group node has no used ports.\nPress {enter_group} to enter and edit it to see changes reflected.")
|
||||
add_child(l)
|
||||
|
||||
|
||||
func update_port(port: Port) -> void:
|
||||
var descriptor_split := port.descriptor.split(":")
|
||||
var d: DescriptorContainer
|
||||
|
|
|
@ -100,6 +100,17 @@ static func get_full_map() -> Dictionary:
|
|||
return defaults_copy
|
||||
|
||||
|
||||
static func get_full_map_string() -> Dictionary:
|
||||
var full_map := get_full_map()
|
||||
var res := {}
|
||||
for key: String in full_map:
|
||||
if key.begins_with("_"):
|
||||
continue
|
||||
res[key] = (full_map[key] as Shortcut).get_as_text()
|
||||
return res
|
||||
|
||||
|
||||
|
||||
## Returns the default [Shortcut] for the given [param action].
|
||||
static func get_default(action: String) -> Shortcut:
|
||||
return defaults.get(action)
|
||||
|
@ -173,3 +184,9 @@ static func map_from_dict(d: Dictionary) -> void:
|
|||
static func commit_overrides() -> void:
|
||||
RendererPersistence.set_value(PERSISTENCE_NAMESPACE, PERSISTENCE_CHANNEL, PERSISTENCE_KEY, map_to_dict())
|
||||
RendererPersistence.commit(PERSISTENCE_NAMESPACE, PERSISTENCE_CHANNEL)
|
||||
|
||||
|
||||
## Replaces shortcut names with their keybinds in [param s].[br]
|
||||
## Example usage: [code]interpolate_string("Press {new_deck} to open a new deck.")[/code]
|
||||
static func interpolate_string(s: String) -> String:
|
||||
return s.format(get_full_map_string())
|
||||
|
|
Loading…
Reference in a new issue