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

This commit is contained in:
lepshiy
2024-09-30 11:27:14 +03:00
parent d826f8745c
commit 61977b002b
9 changed files with 1524 additions and 1707 deletions

View File

@@ -1,9 +1,18 @@
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')
## Вызывается, когда узел впервые попадает в дерево сцены.
func _ready() -> void:
$lbl_commit.text = 'Текущая версия ПО УАРЭП: \"%s\"' % commit.VCS_HEAD
setting_tab()
dop_set_tab()
set_tab()
$lbl_commit.text = ' \"%s\"' % commit.VCS_HEAD
if not OS.get_cmdline_args().has('++ограниченный'):
return
$Label2.text = 'Текущий режим доступа: ограниченный'
@@ -16,3 +25,58 @@ func _on_external_cu_btn_pressed() -> void:
ProjectSettings.set_setting('application/config/external_cu', state)
if state:
signaller.emit_signal('interfer_off_all')
func setting_tab():
var yams: Array = [ HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER ]
$table.set_header([TableHeader, TableHeader])
$table.set_header_text(['Элемент', ' Показывать '])
for i in range(15):
$table.add_row([TableLabel, TableTaggle])
$table.set_row_text(0,([' Кнопка «ПД-М']))
$table.set_row_text(1,([' Кнопка «ПД-М']))
$table.set_row_text(2,([' Кнопка «ОЗП-1» ']))
$table.set_row_text(3,([' Кнопка «МЧМ-1» ']))
$table.set_row_text(4,([' Кнопка «ОРН-И1» ']))
$table.set_row_text(5,([' Кнопка «ОРН-М']))
$table.set_row_text(6,([' Кнопка «ЛЧМ-1» ']))
$table.set_row_text(7,([' Кнопка «ПД-М4С» ']))
$table.set_row_text(8,([' Кнопка «ПД-ЧМ» ']))
$table.set_row_text(9,([' Кнопка «СВ-И1» ']))
$table.set_row_text(10,([' Кнопка «К']))
$table.set_row_text(11,([' Кнопка «СВ-М']))
$table.set_row_text(12,([' Кнопка «ОРН» ']))
$table.set_row_text(13,([' Кнопка «JTIDS» ']))
$table.set_row_text(14,([' Кнопка «КУПД» ']))
$table.set_columns_min_size([150, 100])
$table.set_columns_alignments(yams)
func dop_set_tab():
var yams: Array = [ HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER ]
$table2.add_row([TableLabel, TableEmpti])
$table2.add_row([TableLabel, TableEmpti])
$table2.add_row([TableLabel, TableTaggle])
$table2.add_row([TableLabel, TableTaggle])
$table2.set_row_text(0, (['Текущая версия ПО УАРЭП:']))
$table2.set_row_text(1, (['Адрес сервера карт:']))
$table2.set_row_text(2, (['Внешнее целеуказание.']))
$table2.set_row_text(3, (['Кнопка «Подавление».\nОтключить отображение этой кнопки,\nчто бы тип помех применялся сразу.']))
$table2.set_columns_min_size([180, 50])
$table2.set_columns_alignments(yams)
func set_tab():
$table3.add_row([TableLabel, TableEmpti])
$table3.add_row([TableLabel, TableEmpti])
$table3.set_row_text(0, ([' Текущий режим доступа: полный ']))
$table3.set_row_text(1, ([' Управление элементами в режиме с ограниченным доступом ']))
$table3.set_columns_min_size([250, 5])

View File

@@ -1,6 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://bnptm4rlp60dq"]
[gd_scene load_steps=4 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_ts42i"]
[sub_resource type="GDScript" id="GDScript_anjmx"]
script/source = "extends LineEdit
@@ -16,295 +17,47 @@ func _on_text_changed(new_text: String) -> void:
[node name="Настройки" type="Panel"]
script = ExtResource("1_2l3rd")
[node name="GridContainer" type="GridContainer" parent="."]
layout_mode = 0
offset_left = 44.0
offset_top = 87.0
offset_right = 336.0
offset_bottom = 193.0
[node name="table" type="GridContainer" parent="."]
layout_mode = 2
offset_left = 32.0
offset_top = 96.0
offset_right = 241.0
offset_bottom = 535.0
columns = 2
[node name="Label" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Элемент"
vertical_alignment = 1
[node name="Label2" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Показывать"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Label4" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Кнопка «ПД-M4»"
vertical_alignment = 1
[node name="CheckButton" type="CheckButton" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
button_pressed = true
[node name="Label5" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Кнопка «ПД-M2»"
vertical_alignment = 1
[node name="CheckButton3" type="CheckButton" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
button_pressed = true
[node name="Label6" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Кнопка «ОЗП-1»"
vertical_alignment = 1
[node name="CheckButton5" type="CheckButton" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
button_pressed = true
[node name="Label7" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Кнопка «МЧМ-1»"
vertical_alignment = 1
[node name="CheckButton6" type="CheckButton" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
button_pressed = true
[node name="Label8" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Кнопка «СРН-И1»"
vertical_alignment = 1
[node name="CheckButton7" type="CheckButton" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
button_pressed = true
[node name="Label9" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Кнопка «СРН-М2»"
vertical_alignment = 1
[node name="CheckButton8" type="CheckButton" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
button_pressed = true
[node name="Label10" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Кнопка «ЛЧМ-1»"
vertical_alignment = 1
[node name="CheckButton9" type="CheckButton" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
button_pressed = true
[node name="Label11" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Кнопка «ПД-М4С»"
vertical_alignment = 1
[node name="CheckButton10" type="CheckButton" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
button_pressed = true
[node name="Label12" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Кнопка «ПД-ЧМ»"
vertical_alignment = 1
[node name="CheckButton11" type="CheckButton" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
button_pressed = true
[node name="Label13" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Кнопка «СВ-И1»"
vertical_alignment = 1
[node name="CheckButton12" type="CheckButton" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
button_pressed = true
[node name="Label14" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Кнопка «К1»"
vertical_alignment = 1
[node name="CheckButton13" type="CheckButton" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
button_pressed = true
[node name="Label15" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Кнопка «СВ-М2»"
vertical_alignment = 1
[node name="CheckButton14" type="CheckButton" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
button_pressed = true
[node name="Label16" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Кнопка «СРН»"
vertical_alignment = 1
[node name="CheckButton15" type="CheckButton" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
button_pressed = true
[node name="Label17" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Кнопка «JTIDS»"
vertical_alignment = 1
[node name="CheckButton16" type="CheckButton" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
button_pressed = true
[node name="Label18" type="Label" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Кнопка «КУПД»"
vertical_alignment = 1
[node name="CheckButton17" type="CheckButton" parent="GridContainer"]
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
button_pressed = true
[node name="Label1" type="Label" parent="."]
layout_mode = 0
offset_left = 16.0
offset_top = 60.0
offset_right = 434.0
offset_bottom = 82.0
text = "Управление элементами в режиме с ограниченным доступом"
[node name="Label2" type="Label" parent="."]
layout_mode = 0
offset_left = 16.0
offset_top = 20.0
offset_right = 476.0
offset_bottom = 50.0
text = "Текущий режим доступа: полный"
vertical_alignment = 1
script = ExtResource("2_ts42i")
[node name="edt_mapaddr" type="LineEdit" parent="."]
layout_mode = 0
offset_left = 660.0
offset_top = 80.0
offset_right = 1032.0
offset_bottom = 110.0
layout_mode = 2
offset_left = 560.0
offset_top = 144.0
offset_right = 896.0
offset_bottom = 171.0
theme_override_colors/font_color = Color(1, 0.596078, 0.4, 1)
script = SubResource("GDScript_anjmx")
[node name="Label" type="Label" parent="edt_mapaddr"]
layout_mode = 0
offset_left = -180.0
offset_right = -20.0
offset_bottom = 30.0
text = "Адрес сервера карт:"
vertical_alignment = 1
[node name="GridContainer2" type="GridContainer" parent="."]
layout_mode = 0
offset_left = 478.0
offset_top = 154.0
offset_right = 784.0
offset_bottom = 260.0
columns = 2
[node name="external_cu_lbl" type="Label" parent="GridContainer2"]
layout_mode = 2
text = "Внешнее целеуказание."
vertical_alignment = 1
[node name="external_cu_btn" type="CheckButton" parent="GridContainer2"]
layout_mode = 2
[node name="Label19" type="Label" parent="GridContainer2"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
text = "Кнопка «Подавление».
Отключить отображение этой кнопки,
что бы тип помех применялся сразу."
[node name="CheckButton18" type="CheckButton" parent="GridContainer2"]
layout_mode = 2
size_flags_horizontal = 6
size_flags_vertical = 6
button_pressed = true
[node name="lbl_commit" type="Label" parent="."]
layout_mode = 0
offset_left = 480.0
offset_top = 20.0
offset_right = 1040.0
offset_bottom = 50.0
text = "Текущая версия ПО УАРЭП:"
offset_left = 560.0
offset_top = 112.0
offset_right = 1120.0
offset_bottom = 142.0
theme_override_colors/font_color = Color(1, 0.596078, 0.4, 1)
vertical_alignment = 1
[node name="table2" type="GridContainer" parent="."]
layout_mode = 0
offset_left = 296.0
offset_top = 120.0
offset_right = 880.0
offset_bottom = 408.0
script = ExtResource("2_ts42i")
[node name="table3" type="GridContainer" parent="."]
layout_mode = 0
offset_left = 24.0
offset_top = 24.0
offset_right = 440.0
offset_bottom = 80.0
script = ExtResource("2_ts42i")
[connection signal="text_changed" from="edt_mapaddr" to="edt_mapaddr" method="_on_text_changed"]
[connection signal="pressed" from="GridContainer2/external_cu_btn" to="." method="_on_external_cu_btn_pressed"]

View File

@@ -69,8 +69,8 @@ func _ready() -> void:
sock_capsrpb = poll_sockets[2]
for unit_name in repsettings.UnitProfiles:
var setting = repsettings.UnitProfiles[unit_name]
var proto = setting[0]
var setting_ = repsettings.UnitProfiles[unit_name]
var proto = setting_[0]
if proto in PROTOCOL_TYPES:
var unit = PROTOCOL_TYPES[proto].new(unit_name)
var unit_key = repsettings.get_unit_key(unit_name)