diff --git a/scenes/scrl-threats.gd b/scenes/scrl-threats.gd index 7b923f4..f319feb 100644 --- a/scenes/scrl-threats.gd +++ b/scenes/scrl-threats.gd @@ -15,31 +15,31 @@ const TABLE_COLUMN_SIZE = [ 60, 140, 140, 90 ] func on_row_pressed(i_row: int): - $tbl_threats.clear_rows_selected() - $tbl_threats.set_row_selected(i_row, true) + $table.clear_rows_selected() + $table.set_row_selected(i_row, true) func init_table(): - $tbl_threats.set_header(TABLE_HEADER) - $tbl_threats.set_header_text(TABLE_HEADERS_TEXT) - $tbl_threats.set_columns_min_size(TABLE_COLUMN_SIZE) - $tbl_threats.pin_header(self, get_parent()) - $tbl_threats.connect('row_pressed', Callable(self, 'on_row_pressed')) + $table.set_header(TABLE_HEADER) + $table.set_header_text(TABLE_HEADERS_TEXT) + $table.set_columns_min_size(TABLE_COLUMN_SIZE) + $table.pin_header(self, get_parent()) + $table.connect('row_pressed', Callable(self, 'on_row_pressed')) func _ready() -> void: var th_table_id: = Dictionary() - Threats.connect('threat_new', Callable(self, 'on_threat_new').bind(th_table_id)) - Threats.connect('threat_lost', Callable(self, 'on_threat_lost').bind(th_table_id)) + Threats.connect('threat_new', Callable(self, 'on_threat_new').bind(th_table_id)) + Threats.connect('threat_lost', Callable(self, 'on_threat_lost').bind(th_table_id)) Threats.connect('threat_update', Callable(self, 'on_threat_update').bind(th_table_id)) call_deferred('init_table') ## Перестраивает индекс таблицы func rehash(th_table_id: Dictionary): - var rows_count = $tbl_threats.get_rows_count() + var rows_count = $table.get_rows_count() for i_row in rows_count: - var item = $tbl_threats.get_node2(0, i_row) + var item = $table.get_node2(0, i_row) th_table_id[int(item.text)] = i_row @@ -47,23 +47,23 @@ func rehash(th_table_id: Dictionary): func on_threat_update(_threats, th, th_table_id: Dictionary): var row = map_th_to_row(th) var i_row = th_table_id[th.id] - $tbl_threats.set_row_text(i_row, row) + $table.set_row_text(i_row, row) ## Обрабатывает сигнал [b]threat_lost[/b] func on_threat_lost(_threats, th, th_table_id: Dictionary): - $tbl_threats.remove_row(th_table_id[th.id]) + $table.remove_row(th_table_id[th.id]) th_table_id.clear() rehash(th_table_id) ## Обрабатывает сигнал [b]threat_new[/b] func on_threat_new(_threats, th, th_table_id): - var i_row = $tbl_threats.get_rows_count() - $tbl_threats.add_row(TABLE_ROW) + var i_row = $table.get_rows_count() + $table.add_row(TABLE_ROW) var row = map_th_to_row(th) - $tbl_threats.set_row_text(i_row, row) - $tbl_threats.set_row_editable(i_row, false) + $table.set_row_text(i_row, row) + $table.set_row_editable(i_row, false) th_table_id[th.id] = i_row diff --git a/scenes/работа.gd b/scenes/работа.gd index 19d8487..61ed125 100644 --- a/scenes/работа.gd +++ b/scenes/работа.gd @@ -26,10 +26,10 @@ var strob_dir_begin: float ## Направление антенны var strob_width_begin: float ## Ширина строба по углу в момент начала перетаскивания -signal drag_begin ## Вызывается в момент начала перетаскивания -signal drag_continue ## Вызывается во время продолжения перетаскивания -signal drag_end ## Вызывается в момент завершения перетаскивания -signal full_screen ## Вызывается при смене режима окна полный экран - оконный +signal drag_begin ## Вызывается в момент начала перетаскивания +signal drag_continue ## Вызывается во время продолжения перетаскивания +signal drag_end ## Вызывается в момент завершения перетаскивания +signal full_screen ## Вызывается при смене режима окна полный экран - оконный ## Состояние перетаскивания diff --git a/table/table.gd b/table/table.gd index a361bb5..531b3ed 100644 --- a/table/table.gd +++ b/table/table.gd @@ -1,13 +1,13 @@ -extends GridContainer +class_name GDTable extends GridContainer ## Виджет "Таблица" @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_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_file var selector_type_file: = 'res://table/selector.tscn': set = load_selector_scene ## Сцена селектора для выбранного ряда const HEAD_PREFIX = 'HEAD_' ## Префикс ключа заголовка таблицы const INDEX_FORMAT = '%02d_%02d' ## Формат индекса ключа @@ -17,7 +17,7 @@ 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 SELECTOR_KEY_FORMAT = SLCT_PREFIX + INDEX_FORMAT ## Формат ключа индикаторов выбранного ряда const META_USER_DATA = 'user_data' ## Имя свойства для сохранения данных пользователя const META_CALLABLE = 'callable' ## Имя свойства для сохранения вызываемого const META_EVENT_NAME = 'event_name' ## Имя свойства для сохранения названия события @@ -44,8 +44,8 @@ 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 -## Закрепляет заголовок таблицы. [param scrl] - Прокрутка, -## [param prnt] - Родитель прокрутки заданный в редакторе +## Закрепляет заголовок таблицы. [param scrl] - Прокрутка родитель таблицы. +## [param prnt] - Родитель прокрутки. func pin_header(scrl: ScrollContainer, prnt: Control): scrl.remove_child(header) prnt.add_child(header) @@ -258,7 +258,7 @@ func clear_rows_selected(): ## [param i_row] - Индекс ряда. func set_row_selected(i_row: int, selected: bool = true) -> void: - var key: = ROW_SELECTOR_KEY_FORMAT % [i_row, 0] + var key: = SELECTOR_KEY_FORMAT % [i_row, 0] var node = nodes[NODE_KEY_FORMAT % [i_row, 0]] if nodes.has(key) and (not selected): var selector = nodes[key] @@ -279,7 +279,7 @@ func set_row_selected(i_row: int, selected: bool = true) -> void: ## [param i_row] - Индекс ряда. func is_row_selected(i_row: int) -> bool: - var key: = ROW_SELECTOR_KEY_FORMAT % [i_row, 0] + var key: = SELECTOR_KEY_FORMAT % [i_row, 0] return nodes.has(key) @@ -377,7 +377,7 @@ func set_header_text(headers: Array): ## [param i_row] - индекс ряда. func remove_row(i_row: int): - var sel_key: String = ROW_SELECTOR_KEY_FORMAT % [i_row, 0] + var sel_key: String = SELECTOR_KEY_FORMAT % [i_row, 0] if nodes.has(sel_key): var selector = nodes[sel_key] @@ -437,7 +437,7 @@ func rehash(): swap_nodes(nodes_copy, NODE_KEY_FORMAT, i0, i_node[0]) next_index(i_node) elif SLCT_PREFIX in key: - swap_nodes(nodes_copy, ROW_SELECTOR_KEY_FORMAT, i0, i_slct[0]) + swap_nodes(nodes_copy, SELECTOR_KEY_FORMAT, i0, i_slct[0]) next_index(i_slct) nodes.clear() nodes.merge(nodes_copy)