Доработка. Оформление таблицы в настройках

This commit is contained in:
lepshiy
2025-02-24 11:42:24 +03:00
parent 5c4b3cb508
commit dfabe356d3
5 changed files with 149 additions and 83 deletions

View File

@@ -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],
['Кнопка «ПД-М', TableEdit, TableTaggle],
['Кнопка «ПД-М', TableEdit, TableTaggle],
['Кнопка «ОЗП-1»', TableEdit, TableTaggle],
['Кнопка «МЧМ-1»', TableEdit, TableTaggle],
['Кнопка «ОРН-И1»', TableEdit, TableTaggle],
['Кнопка «ОРН-М', TableEdit, TableTaggle],
['Кнопка «ЛЧМ-1»', TableEdit, TableTaggle],
['Кнопка «ПД-М4С»', TableEdit, TableTaggle],
['Кнопка «ПД-ЧМ»', TableEdit, TableTaggle],
['Кнопка «СВ-И1»', TableEdit, TableTaggle],
['Кнопка «К', TableEdit, TableTaggle],
['Кнопка «СВ-М', 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 = ['Ограниченный режим',
'Управление элементами в ограниченном режиме',
'Кнопка «ПД-М', 'Кнопка «ПД-М',
'Кнопка «ОЗП-1»',
'Кнопка «МЧМ-1»',
'Кнопка «ОРН-И1»',
'Кнопка «ОРН-М',
'Кнопка «ЛЧМ-1»',
'Кнопка «ПД-М4С»',
'Кнопка «ПД-ЧМ»',
'Кнопка «СВ-И1»',
'Кнопка «К',
'Кнопка «СВ-М',
'Кнопка «ОРН»',
'Кнопка «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)

View File

@@ -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")

View File

@@ -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

View File

@@ -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")

View File

@@ -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