Рефакторинг.
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
##
|
||||
|
||||
Reference in New Issue
Block a user