Рефактор. Описание функций.

This commit is contained in:
sasha80
2024-05-03 14:23:46 +03:00
parent 31a1801001
commit b192960051

View File

@@ -45,7 +45,7 @@ func set_node_user_data(i_col: int, i_row: int, val) -> void: set_node_meta(i_co
func defaultselector_color_proc(_i_row: int): return selector_color
## Закрепляет заголовок таблицы.
## Закрепляет заголовок таблицы.[br]
## [param scrl] - Прокрутка родитель таблицы.[br]
## [param prnt] - Родитель прокрутки.[br]
func pin_header(scrl: ScrollContainer, prnt: Control):
@@ -173,23 +173,29 @@ func set_node_property(i_col: int, i_row: int, pname: String, val) -> void:
node.set(pname, val)
## [param i_col] - Индекс колонки. [param i_row] - Индекс ряда.
## Возвращает значение поля ячейки.[br]
## [param pname] - Имя поля.[br]
## [param i_col] - Индекс колонки.[br]
## [param i_row] - Индекс ряда.
func get_node_property(i_col: int, i_row: int, pname: String):
var key: = get_node_key(NODE_KEY_FORMAT, i_col, i_row)
var node = nodes[key]
return node.get(pname)
## Возвращает ключ для существующей ячеки. Если ячейки с заданными индексами нет,
## вызывает исключение. [param i_col] - Индекс колонки. [param i_row] - Индекс ряда
## Возвращает ключ для существующей ячейки. Если ячейки с заданными индексами нет,
## вызывает исключение.[br]
## [param i_col] - Индекс колонки.[br]
## [param i_row] - Индекс ряда
func get_node_key(format: String, i_col: int, i_row: int) -> String:
var key: String = format % [i_row, i_col]
assert(nodes.has(key), 'ошибка: нет такой ячейки - колонка:%d ряд:%d' % [i_col, i_row])
return key
## Возвращает массив с индексом ячейки.
## [b][0][/b] - индекс колонки, [b][1][/b] - индекс строки
## Возвращает массив с индексом ячейки:[br]
## [b][0][/b] - индекс колонки,[br]
## [b][1][/b] - индекс строки.
func get_key_indexes(key: String) -> Array:
var tokens: = key.split('_')
assert(tokens.size() == 3, 'ошибка: неверный ключ: \"%s\"' % key)
@@ -546,13 +552,18 @@ func set_rows_state(rows: Array) -> void:
nodes[key].button_pressed = rows[i_row][i_col]
## [param i_col] - Индекс колонки. [param i_row] - Индекс ряда.
## Устанавливает состояние ячейки.
## [param i_col] - Индекс колонки.[br]
## [param i_row] - Индекс ряда.[br]
## [param val] - Новое состояние.[br]
## [i]Ячейка должна иметь свойство[/i] [param button_pressed]
func set_node_state(i_col: int, i_row: int, val: bool) -> void:
var key: = get_node_key(NODE_KEY_FORMAT, i_col, i_row)
nodes[key].button_pressed = val
## [param i_col] - Индекс колонки. [param i_row] - Индекс ряда.
## [param i_col] - Индекс колонки.[br]
## [param i_row] - Индекс ряда.
func set_node_frame(i_col: int, i_row: int, node_name: String, val: int) -> void:
var key: = get_node_key(NODE_KEY_FORMAT, i_col, i_row)
var node = nodes[key]
@@ -560,14 +571,15 @@ func set_node_frame(i_col: int, i_row: int, node_name: String, val: int) -> void
sprite.frame = val
## Разрешает редактирование ячейки. Ячейка должна иметь свойство [param editable].
## [param i_col] - Индекс колонки. [param i_row] - Индекс ряда.
## Разрешает редактирование ячейки. Ячейка должна иметь свойство [param editable].[br]
## [param i_col] - Индекс колонки.[br]
## [param i_row] - Индекс ряда.
func set_node_editable(i_col: int, i_row: int, val: bool) -> void:
var key: = get_node_key(NODE_KEY_FORMAT, i_col, i_row)
nodes[key].editable = val
## Разрешает редактирование ряда. Ячейки ряда должны иметь свойство [param editable].
## Разрешает редактирование ряда. Ячейки ряда должны иметь свойство [param editable].[br]
## [param i_row] - Индекс ряда.
func set_row_editable(i_row: int, val: bool) -> void:
for i_col in columns:
@@ -600,9 +612,11 @@ func get_row_text(i_row: int) -> Array:
return row
## Устанавливает текст ячеек ряда.[br]
## [param i_row] - Индекс ряда.[br]
## [param row] - Массив новых значений текста (поле элемента [param text]).[br]
## [param i_begin] - Начальный индекс колонки начиная с которого установить новые значения
## [param i_begin] - Начальный индекс колонки начиная с которого установить новые значения.[br]
## [i]Ячейки ряда должны иметь свойство[/i] [param text]
func set_row_text(i_row: int, row: Array, i_begin: int = 0, key_format: String = NODE_KEY_FORMAT) -> void:
assert((i_begin >= 0) and (i_begin < columns))
assert((columns - i_begin) >= row.size())
@@ -642,7 +656,8 @@ func get_node_rect(i_col: int, i_row: int, rect: Array, key_format: String = NOD
rect[3] = cell.size.y
## Возвращает прямоугольник [param rect] занимаемый рядом [param i_row]. [param key_format] - Формат ключа ячейки
## Возвращает прямоугольник [param rect] занимаемый рядом [param i_row].[br]
## [param key_format] - Формат ключа ячейки
func get_row_rect(i_row: int, rect: Array, key_format: String = NODE_KEY_FORMAT) -> void:
assert(rect.size() >= 4, 'ошибка: мало элементов для возврата результата')
var cell0 = nodes[get_node_key(key_format, 0, i_row)]