material-maker/material_maker/widgets/linked_widgets/editable_label.gd

29 lines
651 B
GDScript3
Raw Normal View History

2019-10-10 22:43:34 +02:00
extends HBoxContainer
var text setget set_text, get_text
signal label_changed(new_label)
func get_text() -> String:
2019-10-10 22:43:34 +02:00
return $Label.text
func set_text(t) -> void:
2019-10-10 22:43:34 +02:00
$Label.text = t
func _on_gui_input(ev) -> void:
2019-10-10 22:43:34 +02:00
if ev is InputEventMouseButton and ev.pressed and ev.button_index == BUTTON_LEFT:
$Label.visible = false
$Editor.text = $Label.text
$Editor.visible = true
$Editor.select()
$Editor.grab_focus()
func _on_Editor_text_entered(__) -> void:
2019-10-10 22:43:34 +02:00
_on_Editor_focus_exited()
func _on_Editor_focus_exited() -> void:
2019-10-10 22:43:34 +02:00
$Label.text = $Editor.text
$Label.visible = true
$Editor.visible = false
emit_signal("label_changed", $Editor.text)