Исправление. Исключение при изменении содержания не всех ячеек в ряде. Поле ввода в таблице не посылает сигнал "text_submitted"

This commit is contained in:
sasha80
2024-04-24 11:08:54 +03:00
parent b3e7baf572
commit 938bd6d367

View File

@@ -486,13 +486,13 @@ func clear_rows() -> void:
remove_row(i_row)
## Настраевает обратные вызовы для колонок.
## Настраевает обратные вызовы для колонок.[br]
## [param dest_node] - Получатель события[br]
## [param event_name] - Имя события[br]
## [param callback] - Имя функции получателя события[br]
## [param clmns] - Индексы колонок[br]
## [param user_data] - Аргументы функции получателя события[br]
func connect_columns(dest_node: Node, event_name: String, callback: String, clmns: Array, user_data: Array) -> void:
func connect_columns(dest_node: Node, event_name: String, callback: String, clmns: Array, user_data: Array = []) -> void:
var rows_count = get_rows_count()
for i_row in rows_count:
for i_col in clmns:
@@ -502,9 +502,13 @@ func connect_columns(dest_node: Node, event_name: String, callback: String, clmn
var conn = node.get_meta(META_CALLABLE)
node.disconnect(event_name, conn)
var conn = Callable(dest_node, callback).bind([node] + user_data)
assert (OK == node.connect(event_name, conn))
node.set_meta(META_CALLABLE, conn)
node.set_meta(META_EVENT_NAME, event_name)
var rc = node.connect(event_name, conn)
if rc == Error.OK:
node.set_meta(META_CALLABLE, conn)
node.set_meta(META_EVENT_NAME, event_name)
else:
var es = error_string(rc)
push_error('ошибка: событие \"%s\" не может быть подключено к %s: %s' % [event_name, node, es])
##
@@ -596,11 +600,13 @@ func get_row_text(i_row: int) -> Array:
return row
## [param i_row] - Индекс ряда.
## [param i_row] - Индекс ряда.[br]
## [param row] - Массив новых значений текста (поле элемента [param text]).[br]
## [param i_begin] - Начальный индекс колонки начиная с которого установить новые значения
func set_row_text(i_row: int, row: Array, i_begin: int = 0, key_format: String = NODE_KEY_FORMAT) -> void:
assert(i_begin >= 0)
assert((columns - i_begin) <= row.size())
for i_col in columns - i_begin:
assert((i_begin >= 0) and (i_begin < columns))
assert((columns - i_begin) >= row.size())
for i_col in row.size():
var key: = get_node_key(key_format, i_col + i_begin, i_row)
nodes[key].text = row[i_col]