From 0f850dfb7ff5669a10bd525a8d2075fc8530ca42 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 10 Aug 2023 15:40:42 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- table/table.gd | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/table/table.gd b/table/table.gd index 4736dbb1..5e9ef685 100644 --- a/table/table.gd +++ b/table/table.gd @@ -2,34 +2,34 @@ extends GridContainer ## Виджет "Таблица" -@export var selector_color: = Color(1.0, 1.0, 1.0, 1.0) ## Окрашивающий цвет для индикатора выбранного ряда @export var node_gap: = Vector2(0.0, 0.0) ## Зазор между ячейками, который не возможно вычислить или получить +@export var selector_color: = Color(1.0, 1.0, 1.0, 1.0) ## Окрашивающий цвет для индикатора выбранного ряда +@export var selector_key_down: Key = KEY_DOWN ## Клавиша увеличения индекса выбранного ряда +@export var selector_key_up: Key = KEY_UP ## Клавиша уменьшения индекса выбранного ряда @export_file var node_type_file: = 'res://table/node.tscn': get = get_node_scene, set = load_node_scene ## Сцена ячейки устанавливаемая по умолчанию @export_file var selector_type_file: = 'res://table/selector.tscn': set = load_selector_scene ## Сцена индикатора для выбранного ряда -@export var selector_key_up: Key = KEY_UP ## Клавиша уменьшения индекса выбранного ряда -@export var selector_key_down: Key = KEY_DOWN ## Клавиша увеличения индекса выбранного ряда -const MAX_INDEX = 99 ## Максимальное значение индекса для колонки и строки. Связано с форматом индекса ключа -const INDEX_FORMAT = '%02d_%02d' ## Формат индекса ключа -const NODE_PREFIX = 'NODE_' ## Префикс ключа ячейки таблицы -const HEAD_PREFIX = 'HEAD_' ## Префикс ключа заголовка таблицы -const DATA_PREFIX = 'DATA_' ## Префикс ключа данных ячейки таблицы const CONN_PREFIX = 'CONN_' ## Префикс ключа обработчиков событий ячейки таблицы +const DATA_PREFIX = 'DATA_' ## Префикс ключа данных ячейки таблицы +const HEAD_PREFIX = 'HEAD_' ## Префикс ключа заголовка таблицы +const INDEX_FORMAT = '%02d_%02d' ## Формат индекса ключа +const MAX_INDEX = 99 ## Максимальное значение индекса для колонки и строки. Связано с форматом индекса ключа +const NODE_PREFIX = 'NODE_' ## Префикс ключа ячейки таблицы const SLCT_PREFIX = 'SLCT_' ## Префикс ключа индикатора выбранного ряда таблицы -const NODE_KEY_FORMAT = NODE_PREFIX + INDEX_FORMAT ## Формат ключа ячейки -const HEAD_KEY_FORMAT = HEAD_PREFIX + INDEX_FORMAT ## Формат ключа заголовка -const DATA_KEY_FORMAT = DATA_PREFIX + INDEX_FORMAT ## Формат ключа данных const CONNECTED_KEY_FORMAT = CONN_PREFIX + INDEX_FORMAT ## Формат ключа подключенных обработчиков сигналов +const DATA_KEY_FORMAT = DATA_PREFIX + INDEX_FORMAT ## Формат ключа данных +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 ## Формат ключа индикаторов выбранного ряда +var header: GridContainer ## Заголовок таблицы +var in_focus: = false ## Фокус пользовательского ввода var nodes: = {} ## Все ячейки таблицы и дополнительные элементы +var ScnNode: PackedScene ## Прототип ячейки таблицы +var ScnSelector: PackedScene ## Прототип индикатора выбранного ряда var selector_color_proc: Callable ## Ссылка на процедуру генератора цвета индикатора выбранного ряда var selector_size_proc: Callable ## Ссылка на процедуру генератора размера индикатора выбранного ряда -var ScnSelector: PackedScene ## Прототип индикатора выбранного ряда -var ScnNode: PackedScene ## Прототип ячейки таблицы -var in_focus: = false ## Фокус пользовательского ввода -var header: GridContainer ## Заголовок таблицы signal row_pressed(i_row: int) ## Вызывается при нажатии кнопкой мыши на строку signal selected_changed(i_row: int) ## Вызывается при изменении выбранного ряда. i_row - текущий выбранный ряд @@ -290,10 +290,10 @@ func get_selected_rows(i_rows: Array) -> void: ## Возвращает количество рядов func get_rows_count() -> int: - var rows_count: int = 0 + var nodes_count: int = 0 for key in nodes: - rows_count += int(NODE_PREFIX in key) - return rows_count / columns + nodes_count += int(NODE_PREFIX in key) + return nodes_count / columns ##