From 211c629454d435bfccf9953707eb15a468b193f0 Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Wed, 12 Feb 2025 09:55:35 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0.=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=81=D0=BA=D1=80=D0=BE=D0=BB=D0=B0=20?= =?UTF-8?q?=D0=B8=20=D0=B3=D0=B5=D0=BD=D0=B5=D1=80=D0=B0=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D0=B0=20100=20=D1=86=D0=B5=D0=BB=D0=B5=D0=B9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.gd | 9 +++++++-- main.tscn | 20 +++++++++----------- table/table.gd | 4 ++-- threats.gd | 26 ++++++++++++++++++++++---- 4 files changed, 40 insertions(+), 19 deletions(-) diff --git a/main.gd b/main.gd index 660b5b3..690908c 100644 --- a/main.gd +++ b/main.gd @@ -1,15 +1,17 @@ extends Node2D var sock = PacketPeerUDP.new() -@onready var table_threats = get_node('ColorRect/tabs/threats/table_t') +@onready var table_threats = get_node('ColorRect/tabs/threats/scroll_thr/table_t') @onready var btn_add_threats = get_node('ColorRect/tabs/threats/btn_add') @onready var btn_del_threats = get_node('ColorRect/tabs/threats/btn_del') @onready var btn_save_threats = get_node('ColorRect/tabs/threats/btn_save') @onready var btn_load_threats = get_node('ColorRect/tabs/threats/btn_load') @onready var btn_thr_gen = get_node('ColorRect/tabs/threats/thr_gen') +@onready var scroll_thr = get_node('ColorRect/tabs/threats/scroll_thr') @onready var btn_rotate = get_node('ColorRect/tabs/threats/panel_rotate/btn_rotate') @onready var entry_rotate = get_node('ColorRect/tabs/threats/panel_rotate/entry_rotate') @onready var chkbx_rotate = get_node('ColorRect/tabs/threats/panel_rotate/chkbx_rotate') +@onready var panel_threats = get_node('ColorRect/tabs/threats') @onready var table_pomehi = get_node('ColorRect/tabs/pomehi/table_p') @@ -23,7 +25,9 @@ func _ready(): 'thr_gen': btn_thr_gen, 'btn_rt': btn_rotate, 'entry_rt': entry_rotate, - 'chkbx_rt': chkbx_rotate} + 'chkbx_rt': chkbx_rotate, + 'scroll_thr': scroll_thr, + 'panel': panel_threats} sock.bind(Consts.MAIN_ADDR[1], Consts.MAIN_ADDR[0]) sock.set_dest_address(Consts.DST_ADDR[0], Consts.DST_ADDR[1]) Threats.init_treats(table_threats, nodes) @@ -74,4 +78,5 @@ func _process(delta): var data: = sock.get_packet() var addr: = sock.get_packet_ip() var port: = sock.get_packet_port() + print_debug() on_receive(data) diff --git a/main.tscn b/main.tscn index 6411294..b875130 100644 --- a/main.tscn +++ b/main.tscn @@ -34,17 +34,15 @@ layout_mode = 2 theme_override_styles/panel = SubResource("StyleBoxEmpty_4dilt") metadata/_tab_index = 0 -[node name="table_t" type="GridContainer" parent="ColorRect/tabs/threats"] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -offset_left = 11.0 -offset_top = 100.0 -offset_right = 1.0 -offset_bottom = 10.0 -grow_horizontal = 2 -grow_vertical = 2 +[node name="scroll_thr" type="ScrollContainer" parent="ColorRect/tabs/threats"] +layout_mode = 0 +offset_left = 5.0 +offset_top = 78.0 +offset_right = 1597.0 +offset_bottom = 876.0 + +[node name="table_t" type="GridContainer" parent="ColorRect/tabs/threats/scroll_thr"] +layout_mode = 2 script = ExtResource("2_61iss") node_type_file = "res://ячейка-1.tscn" diff --git a/table/table.gd b/table/table.gd index ce683a5..0045754 100644 --- a/table/table.gd +++ b/table/table.gd @@ -10,8 +10,8 @@ extends GridContainer @export_file var selector_type_file: = 'res://table/selector.tscn': set = load_selector_scene ## Сцена индикатора для выбранного ряда const HEAD_PREFIX = 'HEAD_' ## Префикс ключа заголовка таблицы -const INDEX_FORMAT = '%02d_%02d' ## Формат индекса ключа -const MAX_INDEX = 99 ## Максимальное значение индекса для колонки и строки. Связано с форматом индекса ключа +const INDEX_FORMAT = '%03d_%03d' ## Формат индекса ключа +const MAX_INDEX = 200 ## Максимальное значение индекса для колонки и строки. Связано с форматом индекса ключа const NODE_PREFIX = 'NODE_' ## Префикс ключа ячейки таблицы const SLCT_PREFIX = 'SLCT_' ## Префикс ключа индикатора выбранного ряда таблицы diff --git a/threats.gd b/threats.gd index 8d8fce7..53680fc 100644 --- a/threats.gd +++ b/threats.gd @@ -85,7 +85,7 @@ const M_PROTO = ['<неопр.>', '3dlink', 'skyhopperpro', 'picardiooem', 'solo # Номера колонок const COLUMN_OPT = [[COLUMN_TMOD, MODE_TYPES], [COLUMN_FREQM, FREQM], [COLUMN_PROTO, M_PROTO]] const COLUMN_OPT_BTN = [COLUMN_TMOD, COLUMN_FREQM, COLUMN_PROTO] -const ID_ARRAY_LEN = 100 # Размер пула номеров целей +const ID_ARRAY_LEN = 150 # Размер пула номеров целей # Цель @@ -278,10 +278,11 @@ func init_treats(table, nodes): # Инициализация вкладк table.connect('row_pressed', Callable(self, 'on_row_pressed').bind(table)) table.connect_columns(self, 'text_submitted', 'on_edit_entry', TABLE_ENTRY_COLUMNS, []) table.connect_columns(self, 'item_selected', 'on_item_selected', COLUMN_OPT_BTN, []) + table.pin_header(nodes.scroll_thr, nodes.panel) nodes.btn_add.connect('button_up', Callable(self, 'on_btn_add').bind(table)) nodes.btn_del.connect('button_up', Callable(self, 'on_btn_del').bind(table)) nodes.btn_save.connect('button_up', Callable(self, 'on_btn_save')) - nodes.thr_gen.connect('button_up', Callable(self, 'on_thr_gen')) + nodes.thr_gen.connect('button_up', Callable(self, 'on_thr_gen').bind(table)) nodes.btn_load.connect('pressed', Callable(self, 'on_btn_load').bind(table)) nodes.btn_rt.connect('pressed', Callable(self, 'on_rotate_th').bind(nodes.entry_rt, table)) var timer = Timer.new() @@ -505,5 +506,22 @@ func on_btn_load(table): load_treats(table) -func on_thr_gen(): - print_debug() +func on_thr_gen(table): + for i in range(100): + var id = pop_id() + if id == 0: return + var threat : = Threat.new(id, table.get_rows_count()) + treats['%d' % id] = threat + threat.row.aoa[0] = 0 + 30 * i + while (threat.row.aoa[0] > 360): + threat.row.aoa[0] -= 360 + threat.row.freq[0] = 400 + 350 * i + while (threat.row.freq[0] > 6000): + threat.row.freq[0] -= 5600 + var row = threat.update_rows() + table.add_row(TABLE_ROW_TYPES) + table.set_row_text(table.get_rows_count()-1, row) + table.set_node_user_data(0, table.get_rows_count()-1, threat) + init_opt_btns(table.get_rows_count()-1, table, threat) + table.connect_columns(self, 'text_submitted', 'on_edit_entry', TABLE_ENTRY_COLUMNS, []) + table.connect_columns(self, 'item_selected', 'on_item_selected', COLUMN_OPT_BTN, [])