Доработка работы с ecms в контроле + форматирование пробелов
This commit is contained in:
@@ -301,6 +301,16 @@ func default_selector_size_proc(i_row: int, rect: Array) -> void:
|
||||
rect[3] += node_gap.y
|
||||
|
||||
|
||||
## Очищает в словаре nodes от невалидных ссылок
|
||||
func cleanup_invalid_selectors():
|
||||
var keys_to_remove = []
|
||||
for key in nodes:
|
||||
if key.begins_with(SLCT_PREFIX) and not is_instance_valid(nodes[key]):
|
||||
keys_to_remove.append(key)
|
||||
for key in keys_to_remove:
|
||||
nodes.erase(key)
|
||||
print("Удален невалидный селектор: ", key)
|
||||
|
||||
##
|
||||
func clear_rows_selected():
|
||||
var rows_count: = get_rows_count()
|
||||
@@ -323,7 +333,6 @@ func _set_row_selected(i_row: int, selected: bool = true) -> void:
|
||||
return
|
||||
if nodes.has(selector_key) and (not selected):
|
||||
var selector = nodes[selector_key]
|
||||
nodes.erase(selector_key)
|
||||
if is_instance_valid(selector):
|
||||
var prnt = selector.get_parent_control()
|
||||
if prnt:
|
||||
@@ -331,6 +340,7 @@ func _set_row_selected(i_row: int, selected: bool = true) -> void:
|
||||
selector.queue_free()
|
||||
else:
|
||||
push_warning('обращение к удалённому элементу \"%s\"' % selector_key)
|
||||
nodes.erase(selector_key)
|
||||
elif (not nodes.has(selector_key)) and selected:
|
||||
var selector = ScnSelector.instantiate()
|
||||
var rect: = [0, 0, 0, 0]
|
||||
|
||||
Reference in New Issue
Block a user