diff --git a/scripts/PRD.gd b/scripts/PRD.gd index 1959c84..8f5d2c6 100644 --- a/scripts/PRD.gd +++ b/scripts/PRD.gd @@ -29,6 +29,7 @@ func _ready() -> void: if args[i] == "testsave-path" and i + 1 < args.size(): save_path = args[i + 1] break + # Таблица УКП_1 node_select1 = $TabContainer/PRD/body_grid/litera_2_4_6/table_ukp_1 draw_tabl(node_select1, Constants.ROWS_REGS_DATA, Constants.ROWS_REGS_DATA.size()) @@ -98,6 +99,7 @@ func _ready() -> void: var node_select_device = $TabContainer/PRD/select_dev draw_tabl(node_select_device, Constants.SELECT_DEVICE, Constants.SELECT_DEVICE.size()) var get_select_device = node_select_device.get_node2(1, 0) + get_select_device.connect('item_selected', Callable(self, 'on_device_selected')) # Заполнение адресов for i_addr in Constants.ADDRESSES.size(): @@ -107,7 +109,7 @@ func _ready() -> void: node_select_device.get_node2(0,0).text = 'ПРИБОР' node_select_device.set_columns_min_size([100, 100]) - # Получаем имя выбранного прибора + # Получение выбранного прибора при загрузке if Constants.ADDRESSES.size() > 0: get_select_device.select(0) status_pribor = get_select_device.get_item_text(0).strip_edges().substr(4) @@ -150,6 +152,11 @@ func _ready() -> void: node_select_fs_2.get_node2(1, 4).get_child(1, false).connect('toggled', Callable(self, '_on_get_status_2')) +func on_device_selected(selected_index: int) -> void: + var get_select_device = $TabContainer/PRD/select_dev.get_node2(1, 0) + status_pribor = get_select_device.get_item_text(selected_index).strip_edges().substr(4) + + func draw_control_panel_prd(mode) -> void: for node_path in Constants.NODE_MAP: var index = Constants.NODE_MAP[node_path] @@ -368,21 +375,6 @@ func _save_selected_file(file_path: String): other_file.close() -func _on_file_selected(file_path: String): - var file = FileAccess.open(file_path, FileAccess.READ) - # Проверка на открытие/чтение файла - if file != OK: - return - var file_content = file.get_as_text() - file.close() - var json = JSON.new() - var data = json.parse(file_content) - # Проверка на разбор содержимого файла - if data.error != OK: - return - Constants.EMS_G_PORT_DATA_HOLDER = data.result - - func _on_load_config(): var file_dialog = FileDialog.new() var base_path = save_path + "save//" @@ -391,9 +383,24 @@ func _on_load_config(): file_dialog.access = FileDialog.ACCESS_FILESYSTEM file_dialog.current_dir = base_path add_child(file_dialog) + file_dialog.connect("file_selected", Callable(self, "_on_file_selected")) file_dialog.popup_centered() +func _on_file_selected(file_path: String): + var file = FileAccess.open(file_path, FileAccess.READ) + if file == null: + return + var file_content = file.get_as_text() + file.close() + var json = JSON.new() + var data = json.parse(file_content) + Constants.EMS_G_PORT_DATA_HOLDER.clear() + for key in data.result.keys(): + var item = [key, data.result[key]] + Constants.EMS_G_PORT_DATA_HOLDER.append(item) + + func set_tab_and_buttons(tab_index: int, button_name: String) -> void: $TabContainer.current_tab = tab_index var side_panel = $Background/side_panel @@ -410,6 +417,7 @@ func on_btn_select(intem_from_sector: int) -> void: Network.on_command_change_device(meta) flag_mode = meta[2] draw_control_panel_prd(flag_mode) + status_pribor = get_select_device.get_item_text(intem_from_sector).strip_edges().substr(4) _on_start_fs_1() _on_start_fs_2()