From 938bd6d3672e68238d1f94fb2d47b3069bf64dd4 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Wed, 24 Apr 2024 11:08:54 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5.=20=D0=98=D1=81=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=80=D0=B8=20=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D0=B8=20=D1=81=D0=BE?= =?UTF-8?q?=D0=B4=D0=B5=D1=80=D0=B6=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=BD=D0=B5?= =?UTF-8?q?=20=D0=B2=D1=81=D0=B5=D1=85=20=D1=8F=D1=87=D0=B5=D0=B5=D0=BA=20?= =?UTF-8?q?=D0=B2=20=D1=80=D1=8F=D0=B4=D0=B5.=20=D0=9F=D0=BE=D0=BB=D0=B5?= =?UTF-8?q?=20=D0=B2=D0=B2=D0=BE=D0=B4=D0=B0=20=D0=B2=20=D1=82=D0=B0=D0=B1?= =?UTF-8?q?=D0=BB=D0=B8=D1=86=D0=B5=20=D0=BD=D0=B5=20=D0=BF=D0=BE=D1=81?= =?UTF-8?q?=D1=8B=D0=BB=D0=B0=D0=B5=D1=82=20=D1=81=D0=B8=D0=B3=D0=BD=D0=B0?= =?UTF-8?q?=D0=BB=20"text=5Fsubmitted"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- table/table.gd | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/table/table.gd b/table/table.gd index 67cd43c..0173d7c 100644 --- a/table/table.gd +++ b/table/table.gd @@ -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]