From 3fa24cd290a6dd3ad444d2fc190a08b4d4e33674 Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Wed, 19 Feb 2025 15:30:21 +0300 Subject: [PATCH 1/5] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80.=20=D0=A3=D0=B1=D1=80=D0=B0=D0=BD=20=D0=BC=D1=83=D1=81?= =?UTF-8?q?=D0=BE=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/bip/bip.tscn | 1 - shaders/tracked.gdshader | 1 - 2 files changed, 2 deletions(-) diff --git a/scenes/bip/bip.tscn b/scenes/bip/bip.tscn index c296aff..0551c8b 100644 --- a/scenes/bip/bip.tscn +++ b/scenes/bip/bip.tscn @@ -205,7 +205,6 @@ shader_parameter/ant_band_r1_0 = 0.5 [sub_resource type="ShaderMaterial" id="ShaderMaterial_lkrha"] shader = ExtResource("3_2a1qb") -shader_parameter/ColorFig = Color(0, 0.862745, 0, 1) shader_parameter/point_1 = Vector2(0.125, 0) shader_parameter/point_2 = Vector2(0.125, 0.036) shader_parameter/point_3 = Vector2(0, 0.125) diff --git a/shaders/tracked.gdshader b/shaders/tracked.gdshader index be96fa0..1c242dc 100644 --- a/shaders/tracked.gdshader +++ b/shaders/tracked.gdshader @@ -2,7 +2,6 @@ shader_type canvas_item; #include "res://shaders/tools.gdshaderinc" -uniform vec4 ColorFig:source_color; uniform vec2 point_1; uniform vec2 point_2; uniform vec2 point_3; From f411cd37410acdd11e5e982ce55f12b9ebafe5dd Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Fri, 21 Feb 2025 11:55:51 +0300 Subject: [PATCH 2/5] =?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=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B4=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BA?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B8=D0=B1=D0=BE=D1=80=D1=83=20=D0=A3=D0=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- connect-to-uf.sh | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 connect-to-uf.sh diff --git a/connect-to-uf.sh b/connect-to-uf.sh new file mode 100644 index 0000000..09583f4 --- /dev/null +++ b/connect-to-uf.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +xfreerdp /u:user /p:12345678 /v:10.1.1.2 /f From dfabe356d36c6fbdf408821566347dd3390d2125 Mon Sep 17 00:00:00 2001 From: lepshiy Date: Mon, 24 Feb 2025 11:42:24 +0300 Subject: [PATCH 3/5] =?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=9E=D1=84=D0=BE=D1=80=D0=BC=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D1=8B?= =?UTF-8?q?=20=D0=B2=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA?= =?UTF-8?q?=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/настройки/настройки.gd | 155 ++++++++++++++++++++------------ scenes/настройки/настройки.tscn | 52 +++++++++-- table/editl.tscn | 2 + table/lable.tscn | 2 +- table/taggle.tscn | 21 ----- 5 files changed, 149 insertions(+), 83 deletions(-) delete mode 100644 table/taggle.tscn diff --git a/scenes/настройки/настройки.gd b/scenes/настройки/настройки.gd index 4b9fc53..3dafa9c 100644 --- a/scenes/настройки/настройки.gd +++ b/scenes/настройки/настройки.gd @@ -1,10 +1,62 @@ class_name setting extends Panel -var TableHeader = preload('res://table/header.tscn') -var TableLabel = preload('res://table/lable.tscn') -var TableTaggle = preload('res://table/taggle.tscn') -var TableEdit = preload('res://table/editl.tscn') -var TableEmpti = preload('res://table/empti.tscn') +const TableHeader = preload('res://table/header.tscn') +const TableTaggle = preload('res://table/settings_taggle.tscn') +const TableEdit = preload('res://table/ячейка-2.tscn') + +const ALIGNMENT = [HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER] +const HEADER_ROW = [TableHeader, TableHeader] +const HEADER_ROW_TEXT = ['Параметр', 'Значение'] +const SETTING_TABLE = [ + ['Ограниченный режим', TableEdit, TableTaggle], + ['Управление элементами в ограниченном режиме', TableEdit, TableTaggle], + ['Кнопка «ПД-М4»', TableEdit, TableTaggle], + ['Кнопка «ПД-М2»', TableEdit, TableTaggle], + ['Кнопка «ОЗП-1»', TableEdit, TableTaggle], + ['Кнопка «МЧМ-1»', TableEdit, TableTaggle], + ['Кнопка «ОРН-И1»', TableEdit, TableTaggle], + ['Кнопка «ОРН-М2»', TableEdit, TableTaggle], + ['Кнопка «ЛЧМ-1»', TableEdit, TableTaggle], + ['Кнопка «ПД-М4С»', TableEdit, TableTaggle], + ['Кнопка «ПД-ЧМ»', TableEdit, TableTaggle], + ['Кнопка «СВ-И1»', TableEdit, TableTaggle], + ['Кнопка «К1»', TableEdit, TableTaggle], + ['Кнопка «СВ-М2»', TableEdit, TableTaggle], + ['Кнопка «ОРН»', TableEdit, TableTaggle], + ['Кнопка «JTIDS»', TableEdit, TableTaggle], + ['Кнопка «КУПД»', TableEdit, TableTaggle], + ['Внешнее целеуказание', TableEdit, TableTaggle], + ['Кнопка «Подавление»', TableEdit, TableTaggle], + ['Виртуальная клавиатура', TableEdit, TableTaggle], + ['Скрыть вкладку ЭМС 2', TableEdit, TableTaggle], + ['Текущая версия ПО УАРЭП', TableEdit, TableEdit ], + ['Адрес сервера карт', TableEdit, TableEdit ], + ['уарэп-яу07-частный', TableEdit, TableEdit ], + ['уарэп-яу07-общий', TableEdit, TableEdit ], + ['уарэп-капсрпб', TableEdit, TableEdit ], + ['уарэп-эмс', TableEdit, TableEdit ], + ['уарэп-яу07-2в', TableEdit, TableEdit ], + ['уарэп-яу07-2н', TableEdit, TableEdit ], + ['уарэп-яу07-2к', TableEdit, TableEdit ], + ['уарэп-яу07-4в', TableEdit, TableEdit ], + ['уарэп-яу07-4н', TableEdit, TableEdit ], + ['уарэп-яу07-4к', TableEdit, TableEdit ], + ['уарэп-яу07-1в', TableEdit, TableEdit ], + ['уарэп-яу07-1н', TableEdit, TableEdit ], + ['уарэп-яу07-1к', TableEdit, TableEdit ], + ['уарэп-яу07-3в', TableEdit, TableEdit ], + ['уарэп-яу07-3н', TableEdit, TableEdit ], + ['уарэп-яу07-3к', TableEdit, TableEdit ], + ['уарэп-5п28', TableEdit, TableEdit ], + ['уарэп-щ3', TableEdit, TableEdit ], + ['уарэп-спт25-1', TableEdit, TableEdit ], + ['уарэп-спт25-2', TableEdit, TableEdit ] + ] + + +const SUPPRESS = 18 # Строка - Подавление +const KEYBORD = 19 # Строка - Виртуальная клавиатура +const HIDE_EMS2 = 20 # Строка - Скрыть вкладку ЭМС 2 ## Вызывается, когда узел впервые попадает в дерево сцены. @@ -19,6 +71,7 @@ func _ready() -> void: func on_external_cu_btn_pressed(btn) -> void: var state = btn.button_pressed + ProjectSettings.set_setting('application/config/external_cu', state) if state: signaller.emit_signal('interfer_off_all') @@ -31,61 +84,53 @@ func on_vk_pressed(btn) -> void: func on_ems2_pressed(btn) -> void: var state = btn.button_pressed signaller.emit_signal('ems2_hide_pressed', state) - + func setting_tab(): - var yams: Array = [HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER] - $table.set_header([TableHeader, TableHeader]) - $table.set_header_text(['Параметр', 'начение ']) - var row_texts: Array = ['Ограниченный режим', - 'Управление элементами в ограниченном режиме', - 'Кнопка «ПД-М4»', 'Кнопка «ПД-М2»', - 'Кнопка «ОЗП-1»', - 'Кнопка «МЧМ-1»', - 'Кнопка «ОРН-И1»', - 'Кнопка «ОРН-М2»', - 'Кнопка «ЛЧМ-1»', - 'Кнопка «ПД-М4С»', - 'Кнопка «ПД-ЧМ»', - 'Кнопка «СВ-И1»', - 'Кнопка «К1»', - 'Кнопка «СВ-М2»', - 'Кнопка «ОРН»', - 'Кнопка «JTIDS»', - 'Кнопка «КУПД»', - 'Внешнее целеуказание', - 'Кнопка «Подавление»', - 'Виртуальная клавиатура', - 'Скрыть вкладку ЭМС 2', - 'Текущая версия ПО УАРЭП', - 'Адрес сервера карт' ] + $heard_table.set_header(HEADER_ROW) + $heard_table.set_header_text(HEADER_ROW_TEXT) + $heard_table.set_columns_min_size([600, 950]) + $heard_table.set_columns_alignments(ALIGNMENT) + for i in SETTING_TABLE.size(): + var setting_str = SETTING_TABLE[i] + var parameter = setting_str[0] + var node_label = setting_str[1] + var node_value = setting_str[2] + $scroll_set/table.add_row([node_label, node_value]) + var label_instance = $scroll_set/table.get_node2(0, i) + label_instance.text = parameter + $scroll_set/table.set_node_editable(0, i, false) + var commit_instance = $scroll_set/table.get_node2(1, 21) + var server_instance = $scroll_set/table.get_node2(1, 22) + commit_instance.text = '%s' % commit.VCS_HEAD + server_instance.text = ProjectSettings.get('application/config/map_server_addr') + $scroll_set/table.set_node_editable(1, 21, false) + $scroll_set/table.set_node_editable(1, 22, false) + $scroll_set/table.set_columns_min_size([600, 950]) + $scroll_set/table.set_columns_alignments(ALIGNMENT) + for i in SETTING_TABLE.size(): + var setting_str = SETTING_TABLE[i] + var parameter = setting_str[0] + if parameter in settings.UnitProfiles: + var unit_data = settings.UnitProfiles[parameter] + var profiles = $scroll_set/table.get_node2(1, i) + profiles.text = str(unit_data[1]) + ":" + str(unit_data[2][0]) + $end_table.set_header(HEADER_ROW) + $end_table.set_header_text(HEADER_ROW_TEXT) + $end_table.set_columns_min_size([600, 950]) + $end_table.set_columns_alignments(ALIGNMENT) + button_settings() - for i in range(len(row_texts)): - if i < 21: - $table.add_row([TableLabel, TableTaggle]) - else: - if i == len(row_texts) - 2: - var commit_version = '%s"' % commit.VCS_HEAD - $table.add_row([TableLabel, TableLabel]) - $table.set_row_text(i, [row_texts[i], commit_version]) - elif i == len(row_texts) - 1: - $table.add_row([TableLabel, TableLabel]) - $table.set_row_text(i, [row_texts[i], ProjectSettings.get('application/config/map_server_addr')]) - else: - $table.add_row([TableLabel, TableEmpti]) - $table.set_row_text(i, [row_texts[i]]) - - var extern_cu_node = $table.get_node2(1, 17).get_children()[1] + +func button_settings(): + var extern_cu_node = $scroll_set/table.get_node2(1, SUPPRESS).get_children()[1] extern_cu_node.connect('pressed', on_external_cu_btn_pressed.bind(extern_cu_node)) - $table.set_row_text(18,(['Кнопка «Подавление»'])) - $table.set_row_text(19,(['Виртуальная клавиатура'])) - var vk_node = $table.get_node2(1, 19).get_children()[1] + $scroll_set/table.set_row_text(SUPPRESS,(['Кнопка «Подавление»'])) + $scroll_set/table.set_row_text(KEYBORD,(['Виртуальная клавиатура'])) + var vk_node = $scroll_set/table.get_node2(1, KEYBORD).get_children()[1] vk_node.connect('pressed', on_vk_pressed.bind(vk_node)) - $table.set_row_text(20,(['Скрыть вкладку ЭМС 2'])) - var ems2_hide_node = $table.get_node2(1, 20).get_children()[1] + $scroll_set/table.set_row_text(HIDE_EMS2,(['Скрыть вкладку ЭМС 2'])) + var ems2_hide_node = $scroll_set/table.get_node2(1, HIDE_EMS2).get_children()[1] ems2_hide_node.connect('pressed', on_ems2_pressed.bind(ems2_hide_node)) ems2_hide_node.set_pressed(true) on_ems2_pressed(ems2_hide_node) - - $table.set_columns_min_size([365, 365]) - $table.set_columns_alignments(yams) diff --git a/scenes/настройки/настройки.tscn b/scenes/настройки/настройки.tscn index d1b19ac..080f0e0 100644 --- a/scenes/настройки/настройки.tscn +++ b/scenes/настройки/настройки.tscn @@ -1,15 +1,55 @@ -[gd_scene load_steps=3 format=3 uid="uid://bnptm4rlp60dq"] +[gd_scene load_steps=7 format=3 uid="uid://bnptm4rlp60dq"] [ext_resource type="Script" path="res://scenes/настройки/настройки.gd" id="1_2l3rd"] [ext_resource type="Script" path="res://table/table.gd" id="2_6sx73"] +[ext_resource type="Texture2D" uid="uid://biyjygfnhhf7i" path="res://data/save.png" id="3_xqtce"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_bgm7i"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_eifcy"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_exytp"] [node name="Настройки" type="Panel"] script = ExtResource("1_2l3rd") -[node name="table" type="GridContainer" parent="."] +[node name="heard_table" type="GridContainer" parent="."] layout_mode = 0 -offset_left = 40.0 -offset_top = 40.0 -offset_right = 80.0 -offset_bottom = 80.0 +offset_left = 16.0 +offset_top = 16.0 +offset_right = 16.0 +offset_bottom = 16.0 script = ExtResource("2_6sx73") + +[node name="scroll_set" type="ScrollContainer" parent="."] +layout_mode = 0 +offset_left = 16.0 +offset_top = 44.0 +offset_right = 1584.0 +offset_bottom = 1136.0 + +[node name="table" type="GridContainer" parent="scroll_set"] +layout_mode = 2 +script = ExtResource("2_6sx73") + +[node name="end_table" type="GridContainer" parent="."] +layout_mode = 0 +offset_left = 16.0 +offset_top = 1137.0 +offset_right = 16.0 +offset_bottom = 1137.0 +script = ExtResource("2_6sx73") + +[node name="btn_save" type="Button" parent="."] +visible = false +layout_mode = 0 +offset_left = 1523.0 +offset_top = 1062.0 +offset_right = 2043.0 +offset_bottom = 1582.0 +scale = Vector2(0.1, 0.1) +focus_mode = 0 +theme_override_styles/focus = SubResource("StyleBoxEmpty_bgm7i") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_eifcy") +theme_override_styles/normal = SubResource("StyleBoxEmpty_exytp") +icon = ExtResource("3_xqtce") diff --git a/table/editl.tscn b/table/editl.tscn index 3a9aa78..e1d02dc 100644 --- a/table/editl.tscn +++ b/table/editl.tscn @@ -1,5 +1,7 @@ [gd_scene format=3 uid="uid://bvbvtgwps54yr"] [node name="Editl" type="LineEdit"] +offset_right = 59.875 +offset_bottom = 33.0 caret_blink = true caret_blink_interval = 0.5 diff --git a/table/lable.tscn b/table/lable.tscn index ad4e6fb..63372de 100644 --- a/table/lable.tscn +++ b/table/lable.tscn @@ -11,6 +11,6 @@ corner_radius_bottom_left = 5 [node name="Lable" type="Label"] offset_right = 104.0 -offset_bottom = 24.0 +offset_bottom = 27.0 theme_override_colors/font_color = Color(1, 0.596078, 0.4, 1) theme_override_styles/normal = SubResource("StyleBoxFlat_yign5") diff --git a/table/taggle.tscn b/table/taggle.tscn deleted file mode 100644 index 413d6ee..0000000 --- a/table/taggle.tscn +++ /dev/null @@ -1,21 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://dm7hh7ibuin78"] - -[ext_resource type="PackedScene" uid="uid://dwphmxstaxn4v" path="res://table/lable.tscn" id="1_2wdrh"] - -[node name="Control" type="Control"] -layout_mode = 3 -anchors_preset = 0 -offset_right = 96.0 -offset_bottom = 24.0 - -[node name="Lable" parent="." instance=ExtResource("1_2wdrh")] -layout_mode = 0 -offset_right = 368.0 -offset_bottom = 21.0 - -[node name="CheckButton" type="CheckButton" parent="."] -layout_mode = 0 -offset_left = 161.0 -offset_top = -2.0 -offset_right = 205.0 -offset_bottom = 22.0 From 199dd54f3a338679329fc23f4f38c9a80c3e52c1 Mon Sep 17 00:00:00 2001 From: lepshiy Date: Tue, 25 Feb 2025 16:10:07 +0300 Subject: [PATCH 4/5] =?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=9E=D1=84=D0=BE=D1=80=D0=BC=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D1=8B?= =?UTF-8?q?=20=D0=B2=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA?= =?UTF-8?q?=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- table/settings_taggle.tscn | 21 +++++++++++++++++++++ table/ячейка-2.tscn | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 table/settings_taggle.tscn diff --git a/table/settings_taggle.tscn b/table/settings_taggle.tscn new file mode 100644 index 0000000..79fe2c4 --- /dev/null +++ b/table/settings_taggle.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=2 format=3 uid="uid://5rw652cmnybi"] + +[ext_resource type="PackedScene" uid="uid://dspa16ufrpanp" path="res://table/ячейка-2.tscn" id="1_qcan0"] + +[node name="SettingsTaggle" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="LineEdit" parent="." instance=ExtResource("1_qcan0")] +offset_right = 950.0 + +[node name="CheckButton" type="CheckButton" parent="."] +layout_mode = 0 +offset_left = 453.0 +offset_top = 4.0 +offset_right = 497.0 +offset_bottom = 28.0 diff --git a/table/ячейка-2.tscn b/table/ячейка-2.tscn index ac0ba0b..2cbfae7 100644 --- a/table/ячейка-2.tscn +++ b/table/ячейка-2.tscn @@ -5,8 +5,8 @@ [node name="LineEdit" type="LineEdit"] offset_right = 58.0 offset_bottom = 33.0 -theme_override_colors/font_color = Color(1, 0.596078, 0.4, 1) theme_override_colors/font_uneditable_color = Color(1, 0.596078, 0.4, 1) +theme_override_colors/font_color = Color(1, 0.596078, 0.4, 1) theme_override_styles/focus = SubResource("StyleBoxEmpty_mla3y") alignment = 1 context_menu_enabled = false From 88a50afe227c0db85f87c66228cf611ddaa31ab8 Mon Sep 17 00:00:00 2001 From: lepshiy Date: Wed, 5 Mar 2025 16:37:38 +0300 Subject: [PATCH 5/5] =?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=A1=D0=BE=D1=85=D1=80=D0=B0=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5?= =?UTF-8?q?=D0=BA.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/frame-ecm-params/scroll-ecm-params.gd | 16 ++++---- scenes/настройки/настройки.gd | 39 ++++++++++++++++++-- scenes/настройки/настройки.tscn | 11 +++--- scripts/settings.gd | 37 +++++++++---------- table/settings_taggle.tscn | 10 ++++- 5 files changed, 77 insertions(+), 36 deletions(-) diff --git a/scenes/frame-ecm-params/scroll-ecm-params.gd b/scenes/frame-ecm-params/scroll-ecm-params.gd index f98ed5a..14f2512 100644 --- a/scenes/frame-ecm-params/scroll-ecm-params.gd +++ b/scenes/frame-ecm-params/scroll-ecm-params.gd @@ -4,7 +4,7 @@ class_name scroll_ecm_params extends ScrollContainer const CellLineEdit = preload('res://table/ячейка-2.tscn') ## Ячейка таблицы. const TableHeader = preload('res://table/header.tscn') ## Ячейка заголовок таблицы. -const CellTaggleBtn = preload('res://table/taggle.tscn') +const CellTaggleBtn = preload('res://table/set_taggle.tscn') const TABLE_HEADER = [ TableHeader, TableHeader ] ## Описание ряда заголовка. const TABLE_ROW = [ CellLineEdit, CellLineEdit ] ## Описание ряда. @@ -38,13 +38,13 @@ func init_table(): $table.set_node_alligment(0, MOD_ROW_INDEX, HORIZONTAL_ALIGNMENT_LEFT) $table.set_node_editable(0, MOD_ROW_INDEX, false) var taggle_node = $table.get_node2(1, MOD_ROW_INDEX) - for item in taggle_node.get_children(): - item.size.x = 85 - item.size.y = 25 - item.position.x = 0 - item.position.y = 0 - taggle_node.size.x = 85 - taggle_node.size.y = 25 + #for item in taggle_node.get_children(): + #item.size.x = 85 + #item.size.y = 25 + #item.position.x = 0 + #item.position.y = 0 + #taggle_node.size.x = 85 + #taggle_node.size.y = 25 var taggle_btn = taggle_node.get_children()[1] taggle_btn.connect('pressed', on_taggle_btn.bind(taggle_btn)) taggle_btn.disabled = true diff --git a/scenes/настройки/настройки.gd b/scenes/настройки/настройки.gd index 3dafa9c..671099d 100644 --- a/scenes/настройки/настройки.gd +++ b/scenes/настройки/настройки.gd @@ -52,8 +52,6 @@ const SETTING_TABLE = [ ['уарэп-спт25-1', TableEdit, TableEdit ], ['уарэп-спт25-2', TableEdit, TableEdit ] ] - - const SUPPRESS = 18 # Строка - Подавление const KEYBORD = 19 # Строка - Виртуальная клавиатура const HIDE_EMS2 = 20 # Строка - Скрыть вкладку ЭМС 2 @@ -114,7 +112,12 @@ func setting_tab(): if parameter in settings.UnitProfiles: var unit_data = settings.UnitProfiles[parameter] var profiles = $scroll_set/table.get_node2(1, i) - profiles.text = str(unit_data[1]) + ":" + str(unit_data[2][0]) + var joined_data = "" + for j in range(unit_data[2].size()): + joined_data += str(unit_data[2][j]) + if j < unit_data[2].size() - 1: + joined_data += "," + profiles.text = str(unit_data[1]) + " : " + joined_data $end_table.set_header(HEADER_ROW) $end_table.set_header_text(HEADER_ROW_TEXT) $end_table.set_columns_min_size([600, 950]) @@ -134,3 +137,33 @@ func button_settings(): ems2_hide_node.connect('pressed', on_ems2_pressed.bind(ems2_hide_node)) ems2_hide_node.set_pressed(true) on_ems2_pressed(ems2_hide_node) + + +func _on_btn_save_settings_pressed(): + var json_data = {} + for i in range(SETTING_TABLE.size()): + var parameter = SETTING_TABLE[i][0] + if parameter in settings.UnitProfiles: + var profiles = $scroll_set/table.get_node2(1, i) + var value = profiles.get_text() + if parameter not in json_data: + json_data[parameter] = [] + if value.find(":") != -1: + var parts = value.split(":") + var ip = parts[0].strip_edges() + var ports = parts[1].split(",") + json_data[parameter].append(ip) + for port in ports: + if port == "true": + json_data[parameter].append(true) + elif port == "false": + json_data[parameter].append(false) + var file = FileAccess.open(settings.settings_file, FileAccess.WRITE) + if file: + var json_conv = JSON.new() + var json_string = json_conv.stringify(json_data) + file.store_string(json_string) + file.close() + log.info('Настройки сохранены в файл %s' % settings.settings_file) + else: + log.info('Не удалось открыть файл для записи %s' % settings.settings_file) diff --git a/scenes/настройки/настройки.tscn b/scenes/настройки/настройки.tscn index 080f0e0..1c8ab22 100644 --- a/scenes/настройки/настройки.tscn +++ b/scenes/настройки/настройки.tscn @@ -26,7 +26,7 @@ layout_mode = 0 offset_left = 16.0 offset_top = 44.0 offset_right = 1584.0 -offset_bottom = 1136.0 +offset_bottom = 988.0 [node name="table" type="GridContainer" parent="scroll_set"] layout_mode = 2 @@ -35,13 +35,12 @@ script = ExtResource("2_6sx73") [node name="end_table" type="GridContainer" parent="."] layout_mode = 0 offset_left = 16.0 -offset_top = 1137.0 +offset_top = 1000.0 offset_right = 16.0 -offset_bottom = 1137.0 +offset_bottom = 1000.0 script = ExtResource("2_6sx73") -[node name="btn_save" type="Button" parent="."] -visible = false +[node name="btn_save_settings" type="Button" parent="."] layout_mode = 0 offset_left = 1523.0 offset_top = 1062.0 @@ -53,3 +52,5 @@ theme_override_styles/focus = SubResource("StyleBoxEmpty_bgm7i") theme_override_styles/pressed = SubResource("StyleBoxEmpty_eifcy") theme_override_styles/normal = SubResource("StyleBoxEmpty_exytp") icon = ExtResource("3_xqtce") + +[connection signal="pressed" from="btn_save_settings" to="." method="_on_btn_save_settings_pressed"] diff --git a/scripts/settings.gd b/scripts/settings.gd index 1ce3165..1043560 100644 --- a/scripts/settings.gd +++ b/scripts/settings.gd @@ -45,25 +45,24 @@ var settings_program: Dictionary func _ready() -> void: var file = FileAccess.open(settings_file, FileAccess.READ) - if not file: - log.info('Не удалось открыть файл настроек %s, использованы настройики по умолчанию' % settings_file) - return - var read = file.get_as_text() - file.close() - var json_conv: = JSON.new() - if Error.OK != json_conv.parse(read): - log.info('Не удалось прочитать файл настроек %s, использованы настройики по умолчанию' % settings_file) - return - var json_data = json_conv.get_data() - settings_program.merge(json_data) - for key in UnitProfiles.keys(): - if not json_data.has(key): continue - UnitProfiles[key][1] = json_data[key][0] - for i in len(json_data[key]) - 1: - if json_data[key][1][i+1].is_valid_int(): - UnitProfiles[key][2][i] = int(json_data[key][i+1]) - else: - UnitProfiles[key][2][i] = json_data[key][i+1] + if file != null: + var read = file.get_as_text() + file.close() + var json_conv: = JSON.new() + if Error.OK == json_conv.parse(read): + var json_data = json_conv.get_data() + settings_program.merge(json_data) + for key in UnitProfiles.keys(): + if json_data.has(key): + UnitProfiles[key][1] = json_data[key][0] + for i in len(json_data[key]) - 1: + if typeof(json_data[key][i+1]) == TYPE_STRING: + if json_data[key][i+1].is_valid_int(): + UnitProfiles[key][2][i] = int(json_data[key][i+1]) + else: + UnitProfiles[key][2][i] = json_data[key][i+1] + else: + UnitProfiles[key][2][i] = json_data[key][i+1] log.info('Модуль настроек готов') diff --git a/table/settings_taggle.tscn b/table/settings_taggle.tscn index 79fe2c4..76facf9 100644 --- a/table/settings_taggle.tscn +++ b/table/settings_taggle.tscn @@ -1,7 +1,12 @@ -[gd_scene load_steps=2 format=3 uid="uid://5rw652cmnybi"] +[gd_scene load_steps=4 format=3 uid="uid://5rw652cmnybi"] [ext_resource type="PackedScene" uid="uid://dspa16ufrpanp" path="res://table/ячейка-2.tscn" id="1_qcan0"] +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_q2spu"] + +[sub_resource type="Theme" id="Theme_hnhcj"] +CheckButton/styles/focus = SubResource("StyleBoxEmpty_q2spu") + [node name="SettingsTaggle" type="Control"] layout_mode = 3 anchors_preset = 15 @@ -11,7 +16,9 @@ grow_horizontal = 2 grow_vertical = 2 [node name="LineEdit" parent="." instance=ExtResource("1_qcan0")] +layout_mode = 0 offset_right = 950.0 +editable = false [node name="CheckButton" type="CheckButton" parent="."] layout_mode = 0 @@ -19,3 +26,4 @@ offset_left = 453.0 offset_top = 4.0 offset_right = 497.0 offset_bottom = 28.0 +theme = SubResource("Theme_hnhcj")