first Prototype
This commit is contained in:
parent
e11825c698
commit
35ce267482
481 changed files with 17315 additions and 1 deletions
|
|
@ -0,0 +1,73 @@
|
|||
# Translations key UI for LocalizationEditor : MIT License
|
||||
# @author Vladimir Petrenko
|
||||
@tool
|
||||
extends MarginContainer
|
||||
|
||||
var _key
|
||||
var _data: LocalizationData
|
||||
|
||||
var _key_ui_style_empty: StyleBoxFlat
|
||||
var _key_ui_style_double: StyleBoxFlat
|
||||
|
||||
@onready var _add_ui = $HBoxContainer/Add as Button
|
||||
@onready var _del_ui = $HBoxContainer/Del as Button
|
||||
@onready var _key_ui = $HBoxContainer/Key as LineEdit
|
||||
|
||||
func key():
|
||||
return _key
|
||||
|
||||
func set_data(key, data: LocalizationData):
|
||||
_key = key
|
||||
_data = data
|
||||
_init_styles()
|
||||
_init_connections()
|
||||
_draw_view()
|
||||
|
||||
func _init_styles() -> void:
|
||||
var style_box = _key_ui.get_theme_stylebox("normal", "LineEdit")
|
||||
_key_ui_style_empty = style_box.duplicate()
|
||||
_key_ui_style_empty.set_bg_color(Color("#661c1c"))
|
||||
_key_ui_style_double = style_box.duplicate()
|
||||
_key_ui_style_double.set_bg_color(Color("#192e59"))
|
||||
|
||||
func _init_connections() -> void:
|
||||
if not _add_ui.is_connected("pressed", _add_pressed):
|
||||
assert(_add_ui.connect("pressed", _add_pressed) == OK)
|
||||
if not _del_ui.is_connected("pressed", _del_pressed):
|
||||
assert(_del_ui.connect("pressed", _del_pressed) == OK)
|
||||
if not _key_ui.is_connected("text_changed", _key_value_changed):
|
||||
assert(_key_ui.text_changed.connect(_key_value_changed) == OK)
|
||||
if not _data.is_connected("data_key_value_changed", _check_key_ui):
|
||||
assert(_data.connect("data_key_value_changed", _check_key_ui) == OK)
|
||||
|
||||
func _draw_view() -> void:
|
||||
_key_ui.text = _key.value
|
||||
_check_key_ui()
|
||||
_update_del_view()
|
||||
|
||||
func _update_del_view():
|
||||
_del_ui.disabled = _data.keys().size() == 1
|
||||
|
||||
func _add_pressed() -> void:
|
||||
_data.add_key_new_after_uuid(_key.uuid)
|
||||
|
||||
func _del_pressed() -> void:
|
||||
_data.del_key(_key.uuid)
|
||||
|
||||
func _key_value_changed(key_value) -> void:
|
||||
_data.key_value_change(_key, key_value)
|
||||
|
||||
func _check_key_ui_text() -> void:
|
||||
if _key_ui.text != _key.value:
|
||||
_key_ui.text = _key.value
|
||||
|
||||
func _check_key_ui() -> void:
|
||||
_key_ui.remove_theme_stylebox_override("normal")
|
||||
if _key_ui.text.length() <= 0:
|
||||
_key_ui.add_theme_stylebox_override("normal", _key_ui_style_empty)
|
||||
_key_ui.tooltip_text = "Please enter a key name"
|
||||
elif _data.is_key_value_double(_key_ui.text):
|
||||
_key_ui.tooltip_text = "Keyname already exists"
|
||||
_key_ui.add_theme_stylebox_override("normal", _key_ui_style_double)
|
||||
else:
|
||||
_key_ui.tooltip_text = ""
|
||||
Loading…
Add table
Add a link
Reference in a new issue