Исправление. Удалено неявно указанное событие

This commit is contained in:
sasha80
2023-08-16 08:58:48 +03:00
parent 0d1d132ec3
commit 85a63f1d47

View File

@@ -18,8 +18,9 @@ const SLCT_PREFIX = 'SLCT_' ## Префикс ключа индикато
const HEAD_KEY_FORMAT = HEAD_PREFIX + INDEX_FORMAT ## Формат ключа заголовка
const NODE_KEY_FORMAT = NODE_PREFIX + INDEX_FORMAT ## Формат ключа ячейки
const ROW_SELECTOR_KEY_FORMAT = SLCT_PREFIX + INDEX_FORMAT ## Формат ключа индикаторов выбранного ряда
const META_NAME_USER_DATA = 'user_data'
const META_NAME_CALLEBLE = 'calleble'
const META_USER_DATA = 'user_data' ## Имя свойства для сохранения данных пользователя
const META_CALLABLE = 'callable' ## Имя свойства для сохранения вызываемого
const META_EVENT_NAME = 'event_name' ## Имя свойства для сохранения названия события
var header: GridContainer ## Заголовок таблицы
var in_focus: = false ## Фокус пользовательского ввода
@@ -38,9 +39,8 @@ var scroll_adj: = Vector2(0, 0)
func get_node_scene(): return node_type_file
func _assert_meta(i_col: int, i_row: int, pname: String, node): assert(node.has_meta(pname), 'ошибка: нет мета-свойства \"%s\" у ячейки колонка:%d ряд:%d' % [pname, i_col, i_row])
func get_node_user_data(i_col: int, i_row: int): return get_node_meta(i_col, i_row, META_NAME_USER_DATA)
func set_node_user_data(i_col: int, i_row: int, val) -> void: set_node_meta(i_col, i_row, META_NAME_USER_DATA, val)
func _unhandled_key_input(event: InputEvent) -> void: _gui_input(event)
func get_node_user_data(i_col: int, i_row: int): return get_node_meta(i_col, i_row, META_USER_DATA)
func set_node_user_data(i_col: int, i_row: int, val) -> void: set_node_meta(i_col, i_row, META_USER_DATA, val)
## Закрепляет заголовок таблицы. [param scrl] - Прокрутка,
@@ -393,9 +393,10 @@ func remove_row(i_row: int):
var conn = get_node_meta(i_col, i_row, 'callable_focus_entered')
node.disconnect('focus_entered', conn)
if node.has_meta(META_NAME_CALLEBLE):
conn = node.get_meta(META_NAME_CALLEBLE)
node.disconnect('pressed', conn)
if node.has_meta(META_CALLABLE):
conn = node.get_meta(META_CALLABLE)
var event_name = node.get_meta(META_EVENT_NAME)
node.disconnect(event_name, conn)
remove_child(node)
nodes.erase(node_key)
@@ -460,12 +461,13 @@ func connect_columns(dest_node: Node, event_name: String, callback: String, clmn
for i_col in clmns:
assert(i_col >= 0 and i_col < columns, 'ошибка: нет такой колонки: %d' % i_col)
var node = get_node2(i_col, i_row)
if node.has_meta(META_NAME_CALLEBLE):
var conn = node.get_meta(META_NAME_CALLEBLE)
if node.has_meta(META_CALLABLE):
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_NAME_CALLEBLE, conn)
node.set_meta(META_CALLABLE, conn)
node.set_meta(META_EVENT_NAME, event_name)
##