From dfabe356d36c6fbdf408821566347dd3390d2125 Mon Sep 17 00:00:00 2001 From: lepshiy Date: Mon, 24 Feb 2025 11:42:24 +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=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