Рефактор.

This commit is contained in:
sasha80
2023-08-18 14:31:27 +03:00
parent f00491f371
commit 2f6dc271da

View File

@@ -38,9 +38,10 @@ 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 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_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)
func defaultselector_color_proc(_i_row: int): return selector_color
## Закрепляет заголовок таблицы. [param scrl] - Прокрутка,
@@ -139,7 +140,7 @@ func set_node_meta(i_col: int, i_row: int, pname: String, val) -> void:
func get_node_meta(i_col: int, i_row: int, pname: String):
var key: = get_node_key(NODE_KEY_FORMAT, i_col, i_row)
var node = nodes[key]
_assert_meta(i_col, i_row, pname, node)
assert_meta(i_col, i_row, pname, node)
return node.get_meta(pname)
@@ -157,7 +158,8 @@ func get_node_property(i_col: int, i_row: int, pname: String):
return node.get(pname)
## [param i_col] - Индекс колонки. [param i_row] - Индекс ряда
## Возвращает ключ для существующей ячеки. Если ячейки с заданными индексами нет,
## вызывает исключение. [param i_col] - Индекс колонки. [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])
@@ -226,11 +228,6 @@ func check_event_pos(event_pos: Vector2, obj: Control):
and (event_pos.y < (obj.position.y + obj.size.y))
##
func defaultselector_color_proc(_i_row: int):
return selector_color
##
func setselector_color_proc(instance: Object, function: String) -> void:
selector_color_proc = Callable(instance, function)
@@ -484,7 +481,7 @@ func set_rows_text(rows: Array) -> void:
node.text = rows[i_row][i_col]
## [param i_row] - индекс ряда.
## [param i_row] - Индекс ряда.
func set_nodes_min_size(i_row: int, sizes: Array, key_format: String = NODE_KEY_FORMAT) -> void:
for i_col in columns:
var key: = get_node_key(key_format, i_col, i_row)
@@ -493,7 +490,7 @@ func set_nodes_min_size(i_row: int, sizes: Array, key_format: String = NODE_KEY_
node.set_deferred('size.x', sizes[i_col])
## [param i_col] - индекс колонки. [param i_row] - индекс ряда.
## [param i_col] - Индекс колонки. [param i_row] - Индекс ряда.
func set_node_text(i_col: int, i_row: int, val: String) -> void:
var key: = get_node_key(NODE_KEY_FORMAT, i_col, i_row)
nodes[key].text = val
@@ -507,13 +504,13 @@ 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] - Индекс колонки. [param i_row] - Индекс ряда.
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] - Индекс колонки. [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]
@@ -521,7 +518,8 @@ func set_node_frame(i_col: int, i_row: int, node_name: String, val: int) -> void
sprite.frame = val
## [param i_col] - индекс колонки. [param i_row] - индекс ряда.
## Разрешает редактирование ячейки. Ячейка должна иметь свойство [param editable].
## [param i_col] - Индекс колонки. [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
@@ -536,14 +534,14 @@ func set_node_alligment(i_col: int, i_row: int, val: int) -> void:
nodes[key].alignment = val
## [param i_row] - индекс ряда.
## [param i_row] - Индекс ряда.
func set_row_alligments(i_row: int, aligns: Array) -> void:
for i_col in columns:
var key: = get_node_key(NODE_KEY_FORMAT, i_col, i_row)
nodes[key].align = aligns[i_col]
## [param i_row] - индекс ряда.
## [param i_row] - Индекс ряда.
func get_row_text(i_row: int) -> Array:
var row: = []
for i_col in columns:
@@ -552,7 +550,7 @@ func get_row_text(i_row: int) -> Array:
return row
##
## [param i_row] - Индекс ряда.
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())