diff --git a/.gitignore b/.gitignore index 33cd0eb..f2e555c 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ mono_crash.*.json # Godot 4+ specific ignores .godot/ /override.cfg +/scripts/commit.gd diff --git a/build-godot-engine.sh b/build-godot-engine.sh deleted file mode 100644 index 823a131..0000000 --- a/build-godot-engine.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -scons target=template_release production=yes use_lto=yes -j4 diff --git a/data/Изделие МП-550.png b/data/Изделие МП-550.png index 69caf08..41ae78a 100644 Binary files a/data/Изделие МП-550.png and b/data/Изделие МП-550.png differ diff --git a/data/РТР.png b/data/РТР.png deleted file mode 100644 index 6f3cd44..0000000 Binary files a/data/РТР.png and /dev/null differ diff --git a/data/СПТ.png b/data/СПТ.png index eb44414..77a456a 100644 Binary files a/data/СПТ.png and b/data/СПТ.png differ diff --git a/data/УФ.png b/data/УФ.png index 96afac6..d1937ff 100644 Binary files a/data/УФ.png and b/data/УФ.png differ diff --git a/data/Щ3-mnemo.png b/data/Щ3-mnemo.png deleted file mode 100644 index 44f58f3..0000000 Binary files a/data/Щ3-mnemo.png and /dev/null differ diff --git a/data/Щ3.png b/data/Щ3.png index 2806d36..af4bee2 100644 Binary files a/data/Щ3.png and b/data/Щ3.png differ diff --git a/data/рамка-1.png b/data/рамка-1.png new file mode 100644 index 0000000..2d9eb63 Binary files /dev/null and b/data/рамка-1.png differ diff --git a/data/рамка-1.png.import b/data/рамка-1.png.import new file mode 100644 index 0000000..b65dd75 --- /dev/null +++ b/data/рамка-1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0o8jhb5jbrev" +path="res://.godot/imported/рамка-1.png-f12c78d1806344f437cab5886e375731.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://data/рамка-1.png" +dest_files=["res://.godot/imported/рамка-1.png-f12c78d1806344f437cab5886e375731.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/data/состояние-исправности-0.png b/data/состояние-исправности-0.png index 1521052..33966d1 100644 Binary files a/data/состояние-исправности-0.png and b/data/состояние-исправности-0.png differ diff --git a/data/состояние-исправности-1.png b/data/состояние-исправности-1.png index 256dc97..755740f 100644 Binary files a/data/состояние-исправности-1.png and b/data/состояние-исправности-1.png differ diff --git a/data/состояние-исправности-2.png b/data/состояние-исправности-2.png index 26b1b8b..d0ad198 100644 Binary files a/data/состояние-исправности-2.png and b/data/состояние-исправности-2.png differ diff --git a/git-hook.sh b/git-hook.sh new file mode 100644 index 0000000..c59c0df --- /dev/null +++ b/git-hook.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +# Описание +# +# Этот скрипт генерирует модуль на языке GDScript с информацией для +# контроля версий в системе git. Использовать для проектов созданных +# для GoDot Engine. +# +# Инструкция по применению +# +# 1. В папке ./git/hooks создать файлы: +# - post-checkout +# - post-commit +# - post-merge +# 2. В каждый файл записать строку: +# ./git-hook.sh +# 3. Теперь модуль scripts/commit.gd будет содержать данные +# о текущей версии, после выполнения следующих операций СКВ: +# - переключение ветки; +# - выполнение фиксации; +# - выполнение слияния. + + +GDSCRIPT_FILE="scripts/commit.gd" +HEAD="$(git rev-parse --abbrev-ref HEAD) $(git rev-parse --short HEAD) $(git log -1 --format=%cd)" +echo "extends Node" > ${GDSCRIPT_FILE} +echo "# Файл сгенерирован автоматически! Не изменять вручную!" >> ${GDSCRIPT_FILE} +echo "const VCS_HEAD = '${HEAD}'" >> ${GDSCRIPT_FILE} diff --git a/project.godot b/project.godot index 1105930..9d1ee5f 100644 --- a/project.godot +++ b/project.godot @@ -42,6 +42,7 @@ config/external_cu=false [autoload] +commit="*res://scripts/commit.gd" log="*res://addons/godot-logger/scripts/logger.gd" tools="*res://scripts/tools.gd" signaller="*res://scripts/signaller.gd" diff --git a/scenes/button-flat/button-flat.tscn b/scenes/button-flat/button-flat.tscn index 72c7f5b..88007b0 100644 --- a/scenes/button-flat/button-flat.tscn +++ b/scenes/button-flat/button-flat.tscn @@ -57,7 +57,7 @@ void fragment() [sub_resource type="ShaderMaterial" id="ShaderMaterial_hhdyc"] resource_local_to_scene = true shader = SubResource("Shader_2bftm") -shader_parameter/rotation = 45.0 +shader_parameter/rotation = 0.0 shader_parameter/color = Vector4(1, 1, 1, 0.1) shader_parameter/width = 3.0 shader_parameter/speed = 0.0 @@ -71,15 +71,22 @@ script/source = "@tool extends Sprite2D - +## Скорость движения чёрточек. @export var speed: float = 0.01: set(val): material.set('shader_parameter/speed', val) get: return material.get('shader_parameter/speed') +## Режим отображения. Когда [b]true[/b], чёрточки отображаются. @export var disabled: bool = false: set(val): material.set('shader_parameter/disabled', val) get: return material.get('shader_parameter/disabled') + + +## Угол наклона чёрточек. +@export var strips_rotation: float = 0.0: + set(val): material.set('shader_parameter/rotation', val) + get: return material.get('shader_parameter/rotation') " [sub_resource type="StyleBoxEmpty" id="6"] @@ -97,7 +104,6 @@ offset_right = 20.0 offset_bottom = 20.0 theme_override_styles/panel = SubResource("1") script = ExtResource("1_ui6sg") -toggle_mode = true [node name="back" type="Sprite2D" parent="."] material = SubResource("ShaderMaterial_hhdyc") @@ -131,4 +137,3 @@ clip_text = true [connection signal="resized" from="." to="." method="_on_resized"] [connection signal="visibility_changed" from="back" to="back" method="_on_visibility_changed"] -[connection signal="toggled" from="button" to="." method="_on_button_toggled"] diff --git a/scenes/button-flat/nine-patch-button.gd b/scenes/button-flat/nine-patch-button.gd index 9da62fc..67189a3 100644 --- a/scenes/button-flat/nine-patch-button.gd +++ b/scenes/button-flat/nine-patch-button.gd @@ -2,8 +2,6 @@ extends PanelContainer -var save_modulate: Color - func set_text(val: String): $button.set_text(val) func set_pressed(val: bool): $button.set_pressed(val) func set_disabled(val: bool): disabled = val @@ -21,6 +19,13 @@ func is_toggle_mode(): return $button.is_toggle_mode() set(val): $state.set_texture(val) +@export var strips_rotation: float = 0.0: + set(val): + strips_rotation = val + $back.strips_rotation = deg_to_rad(val) + get: return strips_rotation + + @export var text: String = '': set(val): $button.set_text(val) get: return $button.get_text() @@ -28,25 +33,27 @@ func is_toggle_mode(): return $button.is_toggle_mode() @export var disabled: bool = false: set(val): + disabled = val $button.set_disabled(val) $back.disabled = val - if val: - $state.modulate.a = 0.5 - else: - $state.modulate.a = 1.0 - get: return $button.disabled + $state.modulate.a = 0.5 if val else 1.0 + get: return disabled @export var pressed: bool = false: - set(val): $button.set_pressed(val) - get: return $button.is_pressed() + set(val): + pressed = val + $button.set_pressed(val) + get: + return pressed @export var toggle_mode: bool = false: set(val): - if is_inside_tree(): - $button.set_toggle_mode(val) - get: return $button.is_toggle_mode() + toggle_mode = val + $button.set_toggle_mode(val) + get: + return toggle_mode func _on_resized() -> void: @@ -57,12 +64,12 @@ func _on_resized() -> void: func _enter_tree() -> void: $back.scale = size $back.material.set('shader_parameter/scale', size / Vector2(20.0, 20.0)) - save_modulate = modulate + $button.set_toggle_mode(true) + $button.connect('toggled', Callable(self, '_on_button_toggled')) -func set_toggle_mode (val: bool): - if is_inside_tree(): - $button.set_toggle_mode(val) +func set_toggle_mode(val: bool): + $button.set_toggle_mode(val) func _on_button_toggled(val: bool): diff --git a/scenes/btn-scale/btn-scale.tscn b/scenes/button-scale/btn-scale.tscn similarity index 100% rename from scenes/btn-scale/btn-scale.tscn rename to scenes/button-scale/btn-scale.tscn diff --git a/scenes/frame/рамка.gd b/scenes/frame/frame.gd similarity index 100% rename from scenes/frame/рамка.gd rename to scenes/frame/frame.gd diff --git a/scenes/frame/frame.tscn b/scenes/frame/frame.tscn index 13cf6dc..0d87a36 100644 --- a/scenes/frame/frame.tscn +++ b/scenes/frame/frame.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=3 uid="uid://bq7haw1ypiv48"] [ext_resource type="Texture2D" uid="uid://cs6i1xwx0pmdk" path="res://data/рамка-панели.png" id="1_n1ea1"] -[ext_resource type="Script" path="res://scenes/frame/рамка.gd" id="2_ki0kf"] +[ext_resource type="Script" path="res://scenes/frame/frame.gd" id="2_ki0kf"] [node name="ramka" type="NinePatchRect"] offset_right = 150.0 diff --git a/scenes/grid-buttons-ecm/grid-buttons-ecm.tscn b/scenes/grid-buttons-ecm/grid-buttons-ecm.tscn index 5af9d2d..ca32b73 100644 --- a/scenes/grid-buttons-ecm/grid-buttons-ecm.tscn +++ b/scenes/grid-buttons-ecm/grid-buttons-ecm.tscn @@ -11,110 +11,138 @@ columns = 14 layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 30.0 text = "Откл." disabled = true +toggle_mode = true metadata/rfi_name = "off" [node name="btn_auto_rfi" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -text = "Автомат" +strips_rotation = 30.0 +text = "Запрет" disabled = true +toggle_mode = true metadata/rfi_name = "auto" [node name="btn_p12" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 30.0 text = "МЧМ-1" disabled = true +toggle_mode = true metadata/rfi_name = "mchm1" [node name="btn_p16" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 30.0 text = "СРН-И1" disabled = true +toggle_mode = true metadata/rfi_name = "srni1" [node name="btn_p15" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 30.0 text = "СРН-М2" disabled = true +toggle_mode = true metadata/rfi_name = "srnm2" [node name="btn_p14" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 30.0 text = "ПД-М4" disabled = true +toggle_mode = true metadata/rfi_name = "pdm4" [node name="btn_p13" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 30.0 text = "ПД-М2" disabled = true +toggle_mode = true metadata/rfi_name = "pdm2" [node name="btn_p11" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 30.0 text = "ЛЧМ-1" disabled = true +toggle_mode = true metadata/rfi_name = "lchm1" [node name="btn_p10" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 30.0 text = "ПД-М4С" disabled = true +toggle_mode = true metadata/rfi_name = "pdm4s" [node name="btn_p9" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 30.0 text = "ПД-ЧМ" disabled = true +toggle_mode = true metadata/rfi_name = "pdchm" [node name="btn_p8" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 30.0 text = "СВ-И1" disabled = true +toggle_mode = true metadata/rfi_name = "svi1" [node name="btn_p7" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 30.0 text = "K1" disabled = true +toggle_mode = true metadata/rfi_name = "k1" [node name="btn_p6" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 30.0 text = "СВ-М2" disabled = true +toggle_mode = true metadata/rfi_name = "svm2" [node name="btn_p5" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +strips_rotation = 30.0 text = "ОЗП-1" disabled = true +toggle_mode = true metadata/rfi_name = "ozp1" diff --git a/scenes/pribor-afsp-l/pribor-afsp.tscn b/scenes/pribor-afsp-l/pribor-afsp.tscn deleted file mode 100644 index 5ba1ff0..0000000 --- a/scenes/pribor-afsp-l/pribor-afsp.tscn +++ /dev/null @@ -1,515 +0,0 @@ -[gd_scene load_steps=3 format=3 uid="uid://cpsbybk4r6t8d"] - -[ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="1_u001h"] -[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/element_h.tscn" id="2_jr174"] - -[node name="pribor_UF" type="Node2D"] - -[node name="ref_A1_lpa" type="NinePatchRect" parent="."] -offset_left = 25.0 -offset_top = 121.0 -offset_right = 378.0 -offset_bottom = 1128.0 -texture = ExtResource("1_u001h") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 - -[node name="ref_block_la1" type="NinePatchRect" parent="ref_A1_lpa"] -layout_mode = 0 -offset_left = 32.0 -offset_top = 70.0 -offset_right = 332.0 -offset_bottom = 454.0 -texture = ExtResource("1_u001h") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 - -[node name="ref_mshu1" parent="ref_A1_lpa/ref_block_la1" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 211.0 -offset_right = 280.0 -offset_bottom = 253.0 -fname = "МШУ" -rname = "А5" - -[node name="ref_mshu2" parent="ref_A1_lpa/ref_block_la1" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 89.0 -offset_right = 280.0 -offset_bottom = 131.0 -fname = "МШУ" -rname = "А2" - -[node name="ref_mshu3" parent="ref_A1_lpa/ref_block_la1" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 130.0 -offset_right = 280.0 -offset_bottom = 172.0 -fname = "МШУ" -rname = "А3" - -[node name="ref_mshu4" parent="ref_A1_lpa/ref_block_la1" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 171.0 -offset_right = 280.0 -offset_bottom = 213.0 -fname = "МШУ" -rname = "А4" - -[node name="ref_mshu5" parent="ref_A1_lpa/ref_block_la1" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 252.0 -offset_right = 280.0 -offset_bottom = 294.0 -fname = "МШУ" -rname = "А6" - -[node name="ref_mshu6" parent="ref_A1_lpa/ref_block_la1" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 48.0 -offset_right = 280.0 -offset_bottom = 90.0 -fname = "МШУ" -rname = "А1" - -[node name="ref_mshu7" parent="ref_A1_lpa/ref_block_la1" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 291.0 -offset_right = 280.0 -offset_bottom = 333.0 -fname = "МШУ" -rname = "А7" - -[node name="ref_mshu8" parent="ref_A1_lpa/ref_block_la1" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 334.0 -offset_right = 280.0 -offset_bottom = 376.0 -fname = "МШУ" -rname = "А8" - -[node name="lbl_la" type="Label" parent="ref_A1_lpa/ref_block_la1"] -layout_mode = 0 -offset_left = 89.0 -offset_top = 17.0 -offset_right = 200.0 -offset_bottom = 41.0 -text = "Модули ЛА6А45" - -[node name="ref_bpch" type="NinePatchRect" parent="ref_A1_lpa"] -layout_mode = 0 -offset_left = 32.0 -offset_top = 458.0 -offset_right = 332.0 -offset_bottom = 600.0 -texture = ExtResource("1_u001h") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 - -[node name="lbl_bpch" type="Label" parent="ref_A1_lpa/ref_bpch"] -layout_mode = 0 -offset_left = 135.0 -offset_top = 16.0 -offset_right = 167.0 -offset_bottom = 40.0 -text = "БПЧ" - -[node name="ref_og" parent="ref_A1_lpa/ref_bpch" instance=ExtResource("2_jr174")] -layout_mode = 2 -offset_left = 20.0 -offset_top = 36.0 -offset_right = 280.0 -offset_bottom = 78.0 -fname = "Модуль ОГ" -rname = "А23" - -[node name="ref_geterodin" parent="ref_A1_lpa/ref_bpch" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 85.0 -offset_right = 280.0 -offset_bottom = 127.0 -fname = "Гетеродин" -rname = "А10" - -[node name="ref_block_la2" type="NinePatchRect" parent="ref_A1_lpa"] -layout_mode = 0 -offset_left = 33.0 -offset_top = 605.0 -offset_right = 333.0 -offset_bottom = 989.0 -texture = ExtResource("1_u001h") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 - -[node name="ref_mshu9" parent="ref_A1_lpa/ref_block_la2" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 48.0 -offset_right = 280.0 -offset_bottom = 90.0 -fname = "МШУ" -rname = "А9" - -[node name="ref_mshu10" parent="ref_A1_lpa/ref_block_la2" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 89.0 -offset_right = 280.0 -offset_bottom = 131.0 -fname = "МШУ" -rname = "А10" - -[node name="ref_mshu11" parent="ref_A1_lpa/ref_block_la2" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 130.0 -offset_right = 280.0 -offset_bottom = 172.0 -fname = "МШУ" -rname = "А11" - -[node name="ref_mshu12" parent="ref_A1_lpa/ref_block_la2" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 171.0 -offset_right = 280.0 -offset_bottom = 213.0 -fname = "МШУ" -rname = "А12" - -[node name="ref_mshu13" parent="ref_A1_lpa/ref_block_la2" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 211.0 -offset_right = 280.0 -offset_bottom = 253.0 -fname = "МШУ" -rname = "А13" - -[node name="ref_mshu14" parent="ref_A1_lpa/ref_block_la2" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 252.0 -offset_right = 280.0 -offset_bottom = 294.0 -fname = "МШУ" -rname = "А14" - -[node name="ref_mshu15" parent="ref_A1_lpa/ref_block_la2" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 291.0 -offset_right = 280.0 -offset_bottom = 333.0 -fname = "МШУ" -rname = "А15" - -[node name="ref_mshu16" parent="ref_A1_lpa/ref_block_la2" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 334.0 -offset_right = 280.0 -offset_bottom = 376.0 -fname = "МШУ" -rname = "А16" - -[node name="lbl_la" type="Label" parent="ref_A1_lpa/ref_block_la2"] -layout_mode = 0 -offset_left = 89.0 -offset_top = 17.0 -offset_right = 200.0 -offset_bottom = 41.0 -text = "Модули ЛА6А45" - -[node name="lbl_lpa" type="Label" parent="ref_A1_lpa"] -layout_mode = 0 -offset_left = 169.0 -offset_top = 28.0 -offset_right = 197.0 -offset_bottom = 52.0 -text = "ЛПА" - -[node name="lbl_A" type="Label" parent="ref_A1_lpa"] -layout_mode = 0 -offset_left = 302.0 -offset_top = 16.0 -offset_right = 330.0 -offset_bottom = 40.0 -text = "A1" - -[node name="ref_A2_lpa" type="NinePatchRect" parent="."] -offset_left = 414.0 -offset_top = 121.0 -offset_right = 767.0 -offset_bottom = 1128.0 -texture = ExtResource("1_u001h") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 - -[node name="ref_block_la1" type="NinePatchRect" parent="ref_A2_lpa"] -layout_mode = 0 -offset_left = 32.0 -offset_top = 70.0 -offset_right = 332.0 -offset_bottom = 454.0 -texture = ExtResource("1_u001h") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 - -[node name="ref_mshu1" parent="ref_A2_lpa/ref_block_la1" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 211.0 -offset_right = 280.0 -offset_bottom = 253.0 -fname = "МШУ" -rname = "А5" - -[node name="ref_mshu2" parent="ref_A2_lpa/ref_block_la1" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 89.0 -offset_right = 280.0 -offset_bottom = 131.0 -fname = "МШУ" -rname = "А2" - -[node name="ref_mshu3" parent="ref_A2_lpa/ref_block_la1" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 130.0 -offset_right = 280.0 -offset_bottom = 172.0 -fname = "МШУ" -rname = "А3" - -[node name="ref_mshu4" parent="ref_A2_lpa/ref_block_la1" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 171.0 -offset_right = 280.0 -offset_bottom = 213.0 -fname = "МШУ" -rname = "А4" - -[node name="ref_mshu5" parent="ref_A2_lpa/ref_block_la1" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 252.0 -offset_right = 280.0 -offset_bottom = 294.0 -fname = "МШУ" -rname = "А6" - -[node name="ref_mshu6" parent="ref_A2_lpa/ref_block_la1" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 48.0 -offset_right = 280.0 -offset_bottom = 90.0 -fname = "МШУ" -rname = "А1" - -[node name="ref_mshu7" parent="ref_A2_lpa/ref_block_la1" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 291.0 -offset_right = 280.0 -offset_bottom = 333.0 -fname = "МШУ" -rname = "А7" - -[node name="ref_mshu8" parent="ref_A2_lpa/ref_block_la1" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 334.0 -offset_right = 280.0 -offset_bottom = 376.0 -fname = "МШУ" -rname = "А8" - -[node name="lbl_la" type="Label" parent="ref_A2_lpa/ref_block_la1"] -layout_mode = 0 -offset_left = 89.0 -offset_top = 17.0 -offset_right = 200.0 -offset_bottom = 41.0 -text = "Модули ЛА6А45" - -[node name="ref_bpch" type="NinePatchRect" parent="ref_A2_lpa"] -layout_mode = 0 -offset_left = 32.0 -offset_top = 458.0 -offset_right = 332.0 -offset_bottom = 600.0 -texture = ExtResource("1_u001h") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 - -[node name="lbl_bpch" type="Label" parent="ref_A2_lpa/ref_bpch"] -layout_mode = 0 -offset_left = 135.0 -offset_top = 16.0 -offset_right = 167.0 -offset_bottom = 40.0 -text = "БПЧ" - -[node name="ref_og" parent="ref_A2_lpa/ref_bpch" instance=ExtResource("2_jr174")] -layout_mode = 2 -offset_left = 20.0 -offset_top = 36.0 -offset_right = 280.0 -offset_bottom = 78.0 -fname = "Модуль ОГ" -rname = "А23" - -[node name="ref_geterodin" parent="ref_A2_lpa/ref_bpch" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 85.0 -offset_right = 280.0 -offset_bottom = 127.0 -fname = "Гетеродин" -rname = "А10" - -[node name="ref_block_la2" type="NinePatchRect" parent="ref_A2_lpa"] -layout_mode = 0 -offset_left = 33.0 -offset_top = 605.0 -offset_right = 333.0 -offset_bottom = 989.0 -texture = ExtResource("1_u001h") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 - -[node name="ref_mshu9" parent="ref_A2_lpa/ref_block_la2" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 48.0 -offset_right = 280.0 -offset_bottom = 90.0 -fname = "МШУ" -rname = "А9" - -[node name="ref_mshu10" parent="ref_A2_lpa/ref_block_la2" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 89.0 -offset_right = 280.0 -offset_bottom = 131.0 -fname = "МШУ" -rname = "А10" - -[node name="ref_mshu11" parent="ref_A2_lpa/ref_block_la2" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 130.0 -offset_right = 280.0 -offset_bottom = 172.0 -fname = "МШУ" -rname = "А11" - -[node name="ref_mshu12" parent="ref_A2_lpa/ref_block_la2" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 171.0 -offset_right = 280.0 -offset_bottom = 213.0 -fname = "МШУ" -rname = "А12" - -[node name="ref_mshu13" parent="ref_A2_lpa/ref_block_la2" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 211.0 -offset_right = 280.0 -offset_bottom = 253.0 -fname = "МШУ" -rname = "А13" - -[node name="ref_mshu14" parent="ref_A2_lpa/ref_block_la2" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 252.0 -offset_right = 280.0 -offset_bottom = 294.0 -fname = "МШУ" -rname = "А14" - -[node name="ref_mshu15" parent="ref_A2_lpa/ref_block_la2" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 291.0 -offset_right = 280.0 -offset_bottom = 333.0 -fname = "МШУ" -rname = "А15" - -[node name="ref_mshu16" parent="ref_A2_lpa/ref_block_la2" instance=ExtResource("2_jr174")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 334.0 -offset_right = 280.0 -offset_bottom = 376.0 -fname = "МШУ" -rname = "А16" - -[node name="lbl_la" type="Label" parent="ref_A2_lpa/ref_block_la2"] -layout_mode = 0 -offset_left = 89.0 -offset_top = 17.0 -offset_right = 200.0 -offset_bottom = 41.0 -text = "Модули ЛА6А45" - -[node name="lbl_lpa" type="Label" parent="ref_A2_lpa"] -layout_mode = 0 -offset_left = 169.0 -offset_top = 28.0 -offset_right = 197.0 -offset_bottom = 52.0 -text = "ЛПА" - -[node name="lbl_A" type="Label" parent="ref_A2_lpa"] -layout_mode = 0 -offset_left = 302.0 -offset_top = 16.0 -offset_right = 330.0 -offset_bottom = 40.0 -text = "A2 -" - -[node name="lbl_header" type="Label" parent="."] -offset_left = -6.0 -offset_top = 81.0 -offset_right = 849.0 -offset_bottom = 107.0 -theme_override_font_sizes/font_size = 22 -text = "Контроль исправности прибора АФС-П Левый борт" -horizontal_alignment = 1 -vertical_alignment = 1 diff --git a/scenes/pribor-afsp-r/pribor-afsp.tscn b/scenes/pribor-afsp-r/pribor-afsp.tscn deleted file mode 100644 index bbb9190..0000000 --- a/scenes/pribor-afsp-r/pribor-afsp.tscn +++ /dev/null @@ -1,572 +0,0 @@ -[gd_scene load_steps=3 format=3 uid="uid://o2juk6in2nke"] - -[ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="1_3mc50"] -[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/element_h.tscn" id="2_gl6qy"] - -[node name="pribor_UF" type="Node2D"] - -[node name="lbl_header" type="Label" parent="."] -offset_left = -6.0 -offset_top = 81.0 -offset_right = 849.0 -offset_bottom = 107.0 -theme_override_font_sizes/font_size = 22 -text = "Контроль исправности прибора АФС-П Правый борт" -horizontal_alignment = 1 -vertical_alignment = 1 -metadata/_edit_use_anchors_ = true - -[node name="ref_A1_lpa" type="NinePatchRect" parent="."] -editor_description = "Мнемосхема прибора АФСП пра борта" -offset_left = 25.0 -offset_top = 121.0 -offset_right = 378.0 -offset_bottom = 1128.0 -texture = ExtResource("1_3mc50") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 -metadata/_edit_use_anchors_ = true - -[node name="ref_block_la1" type="NinePatchRect" parent="ref_A1_lpa"] -layout_mode = 0 -offset_left = 32.0 -offset_top = 70.0 -offset_right = 332.0 -offset_bottom = 454.0 -texture = ExtResource("1_3mc50") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu1" parent="ref_A1_lpa/ref_block_la1" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 211.0 -offset_right = 280.0 -offset_bottom = 253.0 -fname = "МШУ" -rname = "А5" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu2" parent="ref_A1_lpa/ref_block_la1" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 89.0 -offset_right = 280.0 -offset_bottom = 131.0 -fname = "МШУ" -rname = "А2" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu3" parent="ref_A1_lpa/ref_block_la1" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 130.0 -offset_right = 280.0 -offset_bottom = 172.0 -fname = "МШУ" -rname = "А3" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu4" parent="ref_A1_lpa/ref_block_la1" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 171.0 -offset_right = 280.0 -offset_bottom = 213.0 -fname = "МШУ" -rname = "А4" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu5" parent="ref_A1_lpa/ref_block_la1" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 252.0 -offset_right = 280.0 -offset_bottom = 294.0 -fname = "МШУ" -rname = "А6" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu6" parent="ref_A1_lpa/ref_block_la1" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 48.0 -offset_right = 280.0 -offset_bottom = 90.0 -fname = "МШУ" -rname = "А1" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu7" parent="ref_A1_lpa/ref_block_la1" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 291.0 -offset_right = 280.0 -offset_bottom = 333.0 -fname = "МШУ" -rname = "А7" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu8" parent="ref_A1_lpa/ref_block_la1" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 334.0 -offset_right = 280.0 -offset_bottom = 376.0 -fname = "МШУ" -rname = "А8" -metadata/_edit_use_anchors_ = true - -[node name="lbl_la" type="Label" parent="ref_A1_lpa/ref_block_la1"] -layout_mode = 0 -offset_left = 89.0 -offset_top = 17.0 -offset_right = 200.0 -offset_bottom = 41.0 -text = "Модули ЛА6А45" -metadata/_edit_use_anchors_ = true - -[node name="ref_bpch" type="NinePatchRect" parent="ref_A1_lpa"] -layout_mode = 0 -offset_left = 32.0 -offset_top = 458.0 -offset_right = 332.0 -offset_bottom = 600.0 -texture = ExtResource("1_3mc50") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 -metadata/_edit_use_anchors_ = true - -[node name="lbl_bpch" type="Label" parent="ref_A1_lpa/ref_bpch"] -layout_mode = 0 -offset_left = 135.0 -offset_top = 16.0 -offset_right = 167.0 -offset_bottom = 40.0 -text = "БПЧ" -metadata/_edit_use_anchors_ = true - -[node name="ref_og" parent="ref_A1_lpa/ref_bpch" instance=ExtResource("2_gl6qy")] -layout_mode = 2 -offset_left = 20.0 -offset_top = 36.0 -offset_right = 280.0 -offset_bottom = 78.0 -fname = "Модуль ОГ" -rname = "А23" -metadata/_edit_use_anchors_ = true - -[node name="ref_geterodin" parent="ref_A1_lpa/ref_bpch" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 85.0 -offset_right = 280.0 -offset_bottom = 127.0 -fname = "Гетеродин" -rname = "А10" -metadata/_edit_use_anchors_ = true - -[node name="ref_block_la2" type="NinePatchRect" parent="ref_A1_lpa"] -layout_mode = 0 -offset_left = 33.0 -offset_top = 605.0 -offset_right = 333.0 -offset_bottom = 989.0 -texture = ExtResource("1_3mc50") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu9" parent="ref_A1_lpa/ref_block_la2" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 48.0 -offset_right = 280.0 -offset_bottom = 90.0 -fname = "МШУ" -rname = "А9" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu10" parent="ref_A1_lpa/ref_block_la2" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 89.0 -offset_right = 280.0 -offset_bottom = 131.0 -fname = "МШУ" -rname = "А10" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu11" parent="ref_A1_lpa/ref_block_la2" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 130.0 -offset_right = 280.0 -offset_bottom = 172.0 -fname = "МШУ" -rname = "А11" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu12" parent="ref_A1_lpa/ref_block_la2" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 171.0 -offset_right = 280.0 -offset_bottom = 213.0 -fname = "МШУ" -rname = "А12" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu13" parent="ref_A1_lpa/ref_block_la2" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 211.0 -offset_right = 280.0 -offset_bottom = 253.0 -fname = "МШУ" -rname = "А13" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu14" parent="ref_A1_lpa/ref_block_la2" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 252.0 -offset_right = 280.0 -offset_bottom = 294.0 -fname = "МШУ" -rname = "А14" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu15" parent="ref_A1_lpa/ref_block_la2" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 291.0 -offset_right = 280.0 -offset_bottom = 333.0 -fname = "МШУ" -rname = "А15" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu16" parent="ref_A1_lpa/ref_block_la2" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 334.0 -offset_right = 280.0 -offset_bottom = 376.0 -fname = "МШУ" -rname = "А16" -metadata/_edit_use_anchors_ = true - -[node name="lbl_la" type="Label" parent="ref_A1_lpa/ref_block_la2"] -layout_mode = 0 -offset_left = 89.0 -offset_top = 17.0 -offset_right = 200.0 -offset_bottom = 41.0 -text = "Модули ЛА6А45" -metadata/_edit_use_anchors_ = true - -[node name="lbl_lpa" type="Label" parent="ref_A1_lpa"] -layout_mode = 0 -offset_left = 169.0 -offset_top = 28.0 -offset_right = 197.0 -offset_bottom = 52.0 -text = "ЛПА" -metadata/_edit_use_anchors_ = true - -[node name="lbl_A" type="Label" parent="ref_A1_lpa"] -layout_mode = 0 -offset_left = 302.0 -offset_top = 16.0 -offset_right = 330.0 -offset_bottom = 40.0 -text = "A1" -metadata/_edit_use_anchors_ = true - -[node name="ref_A2_lpa" type="NinePatchRect" parent="."] -editor_description = "Мнемосхема прибора АФСП пра борта" -offset_left = 414.0 -offset_top = 121.0 -offset_right = 767.0 -offset_bottom = 1128.0 -texture = ExtResource("1_3mc50") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 -metadata/_edit_use_anchors_ = true - -[node name="ref_block_la1" type="NinePatchRect" parent="ref_A2_lpa"] -layout_mode = 0 -offset_left = 32.0 -offset_top = 70.0 -offset_right = 332.0 -offset_bottom = 454.0 -texture = ExtResource("1_3mc50") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu1" parent="ref_A2_lpa/ref_block_la1" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 211.0 -offset_right = 280.0 -offset_bottom = 253.0 -fname = "МШУ" -rname = "А5" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu2" parent="ref_A2_lpa/ref_block_la1" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 89.0 -offset_right = 280.0 -offset_bottom = 131.0 -fname = "МШУ" -rname = "А2" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu3" parent="ref_A2_lpa/ref_block_la1" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 130.0 -offset_right = 280.0 -offset_bottom = 172.0 -fname = "МШУ" -rname = "А3" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu4" parent="ref_A2_lpa/ref_block_la1" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 171.0 -offset_right = 280.0 -offset_bottom = 213.0 -fname = "МШУ" -rname = "А4" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu5" parent="ref_A2_lpa/ref_block_la1" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 252.0 -offset_right = 280.0 -offset_bottom = 294.0 -fname = "МШУ" -rname = "А6" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu6" parent="ref_A2_lpa/ref_block_la1" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 48.0 -offset_right = 280.0 -offset_bottom = 90.0 -fname = "МШУ" -rname = "А1" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu7" parent="ref_A2_lpa/ref_block_la1" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 291.0 -offset_right = 280.0 -offset_bottom = 333.0 -fname = "МШУ" -rname = "А7" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu8" parent="ref_A2_lpa/ref_block_la1" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 334.0 -offset_right = 280.0 -offset_bottom = 376.0 -fname = "МШУ" -rname = "А8" -metadata/_edit_use_anchors_ = true - -[node name="lbl_la" type="Label" parent="ref_A2_lpa/ref_block_la1"] -layout_mode = 0 -offset_left = 89.0 -offset_top = 17.0 -offset_right = 200.0 -offset_bottom = 41.0 -text = "Модули ЛА6А45" -metadata/_edit_use_anchors_ = true - -[node name="ref_bpch" type="NinePatchRect" parent="ref_A2_lpa"] -layout_mode = 0 -offset_left = 32.0 -offset_top = 458.0 -offset_right = 332.0 -offset_bottom = 600.0 -texture = ExtResource("1_3mc50") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 -metadata/_edit_use_anchors_ = true - -[node name="lbl_bpch" type="Label" parent="ref_A2_lpa/ref_bpch"] -layout_mode = 0 -offset_left = 135.0 -offset_top = 16.0 -offset_right = 167.0 -offset_bottom = 40.0 -text = "БПЧ" -metadata/_edit_use_anchors_ = true - -[node name="ref_og" parent="ref_A2_lpa/ref_bpch" instance=ExtResource("2_gl6qy")] -layout_mode = 2 -offset_left = 20.0 -offset_top = 36.0 -offset_right = 280.0 -offset_bottom = 78.0 -fname = "Модуль ОГ" -rname = "А23" -metadata/_edit_use_anchors_ = true - -[node name="ref_geterodin" parent="ref_A2_lpa/ref_bpch" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 85.0 -offset_right = 280.0 -offset_bottom = 127.0 -fname = "Гетеродин" -rname = "А10" -metadata/_edit_use_anchors_ = true - -[node name="ref_block_la2" type="NinePatchRect" parent="ref_A2_lpa"] -layout_mode = 0 -offset_left = 33.0 -offset_top = 605.0 -offset_right = 333.0 -offset_bottom = 989.0 -texture = ExtResource("1_3mc50") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu9" parent="ref_A2_lpa/ref_block_la2" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 48.0 -offset_right = 280.0 -offset_bottom = 90.0 -fname = "МШУ" -rname = "А9" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu10" parent="ref_A2_lpa/ref_block_la2" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 89.0 -offset_right = 280.0 -offset_bottom = 131.0 -fname = "МШУ" -rname = "А10" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu11" parent="ref_A2_lpa/ref_block_la2" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 130.0 -offset_right = 280.0 -offset_bottom = 172.0 -fname = "МШУ" -rname = "А11" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu12" parent="ref_A2_lpa/ref_block_la2" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 171.0 -offset_right = 280.0 -offset_bottom = 213.0 -fname = "МШУ" -rname = "А12" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu13" parent="ref_A2_lpa/ref_block_la2" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 211.0 -offset_right = 280.0 -offset_bottom = 253.0 -fname = "МШУ" -rname = "А13" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu14" parent="ref_A2_lpa/ref_block_la2" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 252.0 -offset_right = 280.0 -offset_bottom = 294.0 -fname = "МШУ" -rname = "А14" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu15" parent="ref_A2_lpa/ref_block_la2" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 291.0 -offset_right = 280.0 -offset_bottom = 333.0 -fname = "МШУ" -rname = "А15" -metadata/_edit_use_anchors_ = true - -[node name="ref_mshu16" parent="ref_A2_lpa/ref_block_la2" instance=ExtResource("2_gl6qy")] -layout_mode = 0 -offset_left = 20.0 -offset_top = 334.0 -offset_right = 280.0 -offset_bottom = 376.0 -fname = "МШУ" -rname = "А16" -metadata/_edit_use_anchors_ = true - -[node name="lbl_la" type="Label" parent="ref_A2_lpa/ref_block_la2"] -layout_mode = 0 -offset_left = 89.0 -offset_top = 17.0 -offset_right = 200.0 -offset_bottom = 41.0 -text = "Модули ЛА6А45" -metadata/_edit_use_anchors_ = true - -[node name="lbl_lpa" type="Label" parent="ref_A2_lpa"] -layout_mode = 0 -offset_left = 169.0 -offset_top = 28.0 -offset_right = 197.0 -offset_bottom = 52.0 -text = "ЛПА" -metadata/_edit_use_anchors_ = true - -[node name="lbl_A" type="Label" parent="ref_A2_lpa"] -layout_mode = 0 -offset_left = 302.0 -offset_top = 16.0 -offset_right = 330.0 -offset_bottom = 40.0 -text = "A2 -" -metadata/_edit_use_anchors_ = true diff --git a/scenes/pribor-afsp-sch3/pribor-afsp-sch3.tscn b/scenes/pribor-afsp-sch3/pribor-afsp-sch3.tscn deleted file mode 100644 index c89db0d..0000000 --- a/scenes/pribor-afsp-sch3/pribor-afsp-sch3.tscn +++ /dev/null @@ -1,13 +0,0 @@ -[gd_scene format=3 uid="uid://iw38n1tqx3qx"] - -[node name="pribor_UF" type="Node2D"] - -[node name="lbl_header" type="Label" parent="."] -offset_left = -6.0 -offset_top = 81.0 -offset_right = 849.0 -offset_bottom = 107.0 -theme_override_font_sizes/font_size = 22 -text = "Контроль исправности прибора АФС-П Левый борт" -horizontal_alignment = 1 -vertical_alignment = 1 diff --git a/scenes/pribor-afsp/pribor-afsp.gd b/scenes/pribor-afsp/pribor-afsp.gd new file mode 100644 index 0000000..ba0c565 --- /dev/null +++ b/scenes/pribor-afsp/pribor-afsp.gd @@ -0,0 +1,18 @@ +extends "res://scenes/контроль/прибор.gd" + + +var test_req: HTTPRequest +var test_addr: = String() +var test_data: = {} + +func _ready(): + test_req = HTTPRequest.new() + add_child(test_req) + test_req.request_completed.connect(_map_request_completed) + +func _map_request_completed(): + pass + + +func on_req_test_data_timer(): + test_req.request(test_addr) diff --git a/scenes/pribor-afsp/pribor-afsp.tscn b/scenes/pribor-afsp/pribor-afsp.tscn new file mode 100644 index 0000000..b152b55 --- /dev/null +++ b/scenes/pribor-afsp/pribor-afsp.tscn @@ -0,0 +1,673 @@ +[gd_scene load_steps=4 format=3 uid="uid://cpsbybk4r6t8d"] + +[ext_resource type="Script" path="res://scenes/pribor-afsp/pribor-afsp.gd" id="1_6xgf6"] +[ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="2_won25"] +[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="3_7rc2x"] + +[node name="pribor_afsp" type="Control"] +layout_mode = 3 +anchors_preset = 0 +offset_left = -10.0 +offset_top = 65.0 +offset_right = -10.0 +offset_bottom = 65.0 +script = ExtResource("1_6xgf6") + +[node name="lbl_header" type="Label" parent="."] +layout_mode = 0 +offset_left = 25.0 +offset_top = -55.0 +offset_right = 745.0 +offset_bottom = -25.0 +theme_override_font_sizes/font_size = 22 +text = "Контроль исправности прибора" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="ref_afsp_A1" type="NinePatchRect" parent="."] +layout_mode = 0 +offset_left = 20.0 +offset_top = -20.0 +offset_right = 375.0 +offset_bottom = 1090.0 +texture = ExtResource("2_won25") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="lbl_fname" type="Label" parent="ref_afsp_A1"] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 10.0 +offset_top = 5.0 +offset_right = 320.0 +offset_bottom = 35.0 +text = "АФСП-П" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="lbl_rname" type="Label" parent="ref_afsp_A1"] +layout_mode = 0 +offset_left = 310.0 +offset_top = 5.0 +offset_right = 350.0 +offset_bottom = 35.0 +theme_override_font_sizes/font_size = 22 +text = "A1" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="geterodin" parent="ref_afsp_A1" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 10.0 +offset_top = 76.0 +offset_right = 340.0 +offset_bottom = 121.0 +fname = "Гетеродин" +rname = "ZZ2" + +[node name="modul_og" parent="ref_afsp_A1" instance=ExtResource("3_7rc2x")] +layout_mode = 2 +offset_left = 10.0 +offset_top = 31.0 +offset_right = 340.0 +offset_bottom = 76.0 +fname = "Модуль ОГ" +rname = "ZZ1" + +[node name="ref_A1A" type="NinePatchRect" parent="ref_afsp_A1"] +layout_mode = 0 +offset_left = 10.0 +offset_top = 142.0 +offset_right = 340.0 +offset_bottom = 622.0 +texture = ExtResource("2_won25") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="lbl_fname" type="Label" parent="ref_afsp_A1/ref_A1A"] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 10.0 +offset_top = 7.0 +offset_right = 320.0 +offset_bottom = 37.0 +text = "Панель ЛПА" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="lbl_rname" type="Label" parent="ref_afsp_A1/ref_A1A"] +layout_mode = 0 +offset_left = 280.0 +offset_top = 7.0 +offset_right = 320.0 +offset_bottom = 37.0 +theme_override_font_sizes/font_size = 22 +text = "A1A" + +[node name="ref_bpch_8s" type="NinePatchRect" parent="ref_afsp_A1/ref_A1A"] +layout_mode = 0 +offset_left = 15.0 +offset_top = 45.0 +offset_right = 315.0 +offset_bottom = 465.0 +texture = ExtResource("2_won25") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="lbl_fname" type="Label" parent="ref_afsp_A1/ref_A1A/ref_bpch_8s"] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 8.0 +offset_top = 5.0 +offset_right = 293.0 +offset_bottom = 35.0 +text = "БПЧ-8С" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="lbl_rname" type="Label" parent="ref_afsp_A1/ref_A1A/ref_bpch_8s"] +layout_mode = 0 +offset_left = 253.0 +offset_top = 5.0 +offset_right = 293.0 +offset_bottom = 35.0 +theme_override_font_sizes/font_size = 22 +text = "A17" + +[node name="ref_mshu1" parent="ref_afsp_A1/ref_A1A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 225.0 +offset_right = 283.0 +offset_bottom = 270.0 +fname = "Модуль ЛА6А45" +rname = "А5" + +[node name="ref_mshu2" parent="ref_afsp_A1/ref_A1A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 90.0 +offset_right = 283.0 +offset_bottom = 135.0 +fname = "Модуль ЛА6А45" +rname = "А2" + +[node name="ref_mshu3" parent="ref_afsp_A1/ref_A1A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 135.0 +offset_right = 283.0 +offset_bottom = 180.0 +fname = "Модуль ЛА6А45" +rname = "А3" + +[node name="ref_mshu4" parent="ref_afsp_A1/ref_A1A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 180.0 +offset_right = 283.0 +offset_bottom = 225.0 +fname = "Модуль ЛА6А45" +rname = "А4" + +[node name="ref_mshu5" parent="ref_afsp_A1/ref_A1A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 270.0 +offset_right = 283.0 +offset_bottom = 315.0 +fname = "Модуль ЛА6А45" +rname = "А6" + +[node name="ref_mshu6" parent="ref_afsp_A1/ref_A1A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 45.0 +offset_right = 283.0 +offset_bottom = 90.0 +fname = "Модуль ЛА6А45" +rname = "А1" + +[node name="ref_mshu7" parent="ref_afsp_A1/ref_A1A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 315.0 +offset_right = 283.0 +offset_bottom = 360.0 +fname = "Модуль ЛА6А45" +rname = "А7" + +[node name="ref_mshu8" parent="ref_afsp_A1/ref_A1A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 360.0 +offset_right = 283.0 +offset_bottom = 405.0 +fname = "Модуль ЛА6А45" +rname = "А8" + +[node name="ref_A2A" type="NinePatchRect" parent="ref_afsp_A1"] +layout_mode = 0 +offset_left = 10.0 +offset_top = 645.0 +offset_right = 340.0 +offset_bottom = 1096.0 +texture = ExtResource("2_won25") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="lbl_fname" type="Label" parent="ref_afsp_A1/ref_A2A"] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 10.0 +offset_top = 5.0 +offset_right = 320.0 +offset_bottom = 35.0 +text = "Панель ЛПА" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="lbl_rname" type="Label" parent="ref_afsp_A1/ref_A2A"] +layout_mode = 0 +offset_left = 280.0 +offset_top = 5.0 +offset_right = 320.0 +offset_bottom = 35.0 +theme_override_font_sizes/font_size = 22 +text = "A2A" + +[node name="ref_bpch_8s" type="NinePatchRect" parent="ref_afsp_A1/ref_A2A"] +layout_mode = 0 +offset_left = 15.0 +offset_top = 34.0 +offset_right = 315.0 +offset_bottom = 438.0 +texture = ExtResource("2_won25") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="lbl_fname" type="Label" parent="ref_afsp_A1/ref_A2A/ref_bpch_8s"] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 8.0 +offset_top = 4.0 +offset_right = 293.0 +offset_bottom = 34.0 +text = "БПЧ-8С" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="lbl_rname" type="Label" parent="ref_afsp_A1/ref_A2A/ref_bpch_8s"] +layout_mode = 0 +offset_left = 253.0 +offset_top = 4.0 +offset_right = 293.0 +offset_bottom = 34.0 +theme_override_font_sizes/font_size = 22 +text = "A17" + +[node name="ref_mshu1" parent="ref_afsp_A1/ref_A2A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 214.0 +offset_right = 283.0 +offset_bottom = 259.0 +fname = "Модуль ЛА6А45" +rname = "А5" + +[node name="ref_mshu2" parent="ref_afsp_A1/ref_A2A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 79.0 +offset_right = 283.0 +offset_bottom = 124.0 +fname = "Модуль ЛА6А45" +rname = "А2" + +[node name="ref_mshu3" parent="ref_afsp_A1/ref_A2A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 124.0 +offset_right = 283.0 +offset_bottom = 169.0 +fname = "Модуль ЛА6А45" +rname = "А3" + +[node name="ref_mshu4" parent="ref_afsp_A1/ref_A2A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 169.0 +offset_right = 283.0 +offset_bottom = 214.0 +fname = "Модуль ЛА6А45" +rname = "А4" + +[node name="ref_mshu5" parent="ref_afsp_A1/ref_A2A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 259.0 +offset_right = 283.0 +offset_bottom = 304.0 +fname = "Модуль ЛА6А45" +rname = "А6" + +[node name="ref_mshu6" parent="ref_afsp_A1/ref_A2A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 34.0 +offset_right = 283.0 +offset_bottom = 79.0 +fname = "Модуль ЛА6А45" +rname = "А1" + +[node name="ref_mshu7" parent="ref_afsp_A1/ref_A2A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 304.0 +offset_right = 283.0 +offset_bottom = 349.0 +fname = "Модуль ЛА6А45" +rname = "А7" + +[node name="ref_mshu8" parent="ref_afsp_A1/ref_A2A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 349.0 +offset_right = 283.0 +offset_bottom = 394.0 +fname = "Модуль ЛА6А45" +rname = "А8" + +[node name="ref_afsp_A2" type="NinePatchRect" parent="."] +layout_mode = 0 +offset_left = 394.0 +offset_top = -20.0 +offset_right = 749.0 +offset_bottom = 1090.0 +texture = ExtResource("2_won25") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="lbl_fname" type="Label" parent="ref_afsp_A2"] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 10.0 +offset_top = 5.0 +offset_right = 320.0 +offset_bottom = 35.0 +text = "АФСП-П" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="lbl_rname" type="Label" parent="ref_afsp_A2"] +layout_mode = 0 +offset_left = 310.0 +offset_top = 5.0 +offset_right = 350.0 +offset_bottom = 35.0 +theme_override_font_sizes/font_size = 22 +text = "A2" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="geterodin" parent="ref_afsp_A2" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 10.0 +offset_top = 76.0 +offset_right = 340.0 +offset_bottom = 121.0 +fname = "Гетеродин" +rname = "ZZ2" + +[node name="modul_og" parent="ref_afsp_A2" instance=ExtResource("3_7rc2x")] +layout_mode = 2 +offset_left = 10.0 +offset_top = 31.0 +offset_right = 340.0 +offset_bottom = 76.0 +fname = "Модуль ОГ" +rname = "ZZ1" + +[node name="ref_A1A" type="NinePatchRect" parent="ref_afsp_A2"] +layout_mode = 0 +offset_left = 10.0 +offset_top = 142.0 +offset_right = 340.0 +offset_bottom = 622.0 +texture = ExtResource("2_won25") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="lbl_fname" type="Label" parent="ref_afsp_A2/ref_A1A"] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 10.0 +offset_top = 7.0 +offset_right = 320.0 +offset_bottom = 37.0 +text = "Панель ЛПА" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="lbl_rname" type="Label" parent="ref_afsp_A2/ref_A1A"] +layout_mode = 0 +offset_left = 280.0 +offset_top = 7.0 +offset_right = 320.0 +offset_bottom = 37.0 +theme_override_font_sizes/font_size = 22 +text = "A1A" + +[node name="ref_bpch_8s" type="NinePatchRect" parent="ref_afsp_A2/ref_A1A"] +layout_mode = 0 +offset_left = 15.0 +offset_top = 45.0 +offset_right = 315.0 +offset_bottom = 465.0 +texture = ExtResource("2_won25") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="lbl_fname" type="Label" parent="ref_afsp_A2/ref_A1A/ref_bpch_8s"] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 8.0 +offset_top = 5.0 +offset_right = 293.0 +offset_bottom = 35.0 +text = "БПЧ-8С" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="lbl_rname" type="Label" parent="ref_afsp_A2/ref_A1A/ref_bpch_8s"] +layout_mode = 0 +offset_left = 253.0 +offset_top = 5.0 +offset_right = 293.0 +offset_bottom = 35.0 +theme_override_font_sizes/font_size = 22 +text = "A17" + +[node name="ref_mshu1" parent="ref_afsp_A2/ref_A1A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 225.0 +offset_right = 283.0 +offset_bottom = 270.0 +fname = "Модуль ЛА6А45" +rname = "А5" + +[node name="ref_mshu2" parent="ref_afsp_A2/ref_A1A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 90.0 +offset_right = 283.0 +offset_bottom = 135.0 +fname = "Модуль ЛА6А45" +rname = "А2" + +[node name="ref_mshu3" parent="ref_afsp_A2/ref_A1A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 135.0 +offset_right = 283.0 +offset_bottom = 180.0 +fname = "Модуль ЛА6А45" +rname = "А3" + +[node name="ref_mshu4" parent="ref_afsp_A2/ref_A1A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 180.0 +offset_right = 283.0 +offset_bottom = 225.0 +fname = "Модуль ЛА6А45" +rname = "А4" + +[node name="ref_mshu5" parent="ref_afsp_A2/ref_A1A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 270.0 +offset_right = 283.0 +offset_bottom = 315.0 +fname = "Модуль ЛА6А45" +rname = "А6" + +[node name="ref_mshu6" parent="ref_afsp_A2/ref_A1A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 45.0 +offset_right = 283.0 +offset_bottom = 90.0 +fname = "Модуль ЛА6А45" +rname = "А1" + +[node name="ref_mshu7" parent="ref_afsp_A2/ref_A1A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 315.0 +offset_right = 283.0 +offset_bottom = 360.0 +fname = "Модуль ЛА6А45" +rname = "А7" + +[node name="ref_mshu8" parent="ref_afsp_A2/ref_A1A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 360.0 +offset_right = 283.0 +offset_bottom = 405.0 +fname = "Модуль ЛА6А45" +rname = "А8" + +[node name="ref_A2A" type="NinePatchRect" parent="ref_afsp_A2"] +layout_mode = 0 +offset_left = 14.0 +offset_top = 645.0 +offset_right = 344.0 +offset_bottom = 1096.0 +texture = ExtResource("2_won25") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="lbl_fname" type="Label" parent="ref_afsp_A2/ref_A2A"] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 10.0 +offset_top = 5.0 +offset_right = 320.0 +offset_bottom = 35.0 +text = "Панель ЛПА" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="lbl_rname" type="Label" parent="ref_afsp_A2/ref_A2A"] +layout_mode = 0 +offset_left = 280.0 +offset_top = 5.0 +offset_right = 320.0 +offset_bottom = 35.0 +theme_override_font_sizes/font_size = 22 +text = "A2A" + +[node name="ref_bpch_8s" type="NinePatchRect" parent="ref_afsp_A2/ref_A2A"] +layout_mode = 0 +offset_left = 15.0 +offset_top = 34.0 +offset_right = 315.0 +offset_bottom = 438.0 +texture = ExtResource("2_won25") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="lbl_fname" type="Label" parent="ref_afsp_A2/ref_A2A/ref_bpch_8s"] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 8.0 +offset_top = 4.0 +offset_right = 293.0 +offset_bottom = 34.0 +text = "БПЧ-8С" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="lbl_rname" type="Label" parent="ref_afsp_A2/ref_A2A/ref_bpch_8s"] +layout_mode = 0 +offset_left = 253.0 +offset_top = 4.0 +offset_right = 293.0 +offset_bottom = 34.0 +theme_override_font_sizes/font_size = 22 +text = "A17" + +[node name="ref_mshu1" parent="ref_afsp_A2/ref_A2A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 214.0 +offset_right = 283.0 +offset_bottom = 259.0 +fname = "Модуль ЛА6А45" +rname = "А5" + +[node name="ref_mshu2" parent="ref_afsp_A2/ref_A2A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 79.0 +offset_right = 283.0 +offset_bottom = 124.0 +fname = "Модуль ЛА6А45" +rname = "А2" + +[node name="ref_mshu3" parent="ref_afsp_A2/ref_A2A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 124.0 +offset_right = 283.0 +offset_bottom = 169.0 +fname = "Модуль ЛА6А45" +rname = "А3" + +[node name="ref_mshu4" parent="ref_afsp_A2/ref_A2A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 169.0 +offset_right = 283.0 +offset_bottom = 214.0 +fname = "Модуль ЛА6А45" +rname = "А4" + +[node name="ref_mshu5" parent="ref_afsp_A2/ref_A2A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 259.0 +offset_right = 283.0 +offset_bottom = 304.0 +fname = "Модуль ЛА6А45" +rname = "А6" + +[node name="ref_mshu6" parent="ref_afsp_A2/ref_A2A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 34.0 +offset_right = 283.0 +offset_bottom = 79.0 +fname = "Модуль ЛА6А45" +rname = "А1" + +[node name="ref_mshu7" parent="ref_afsp_A2/ref_A2A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 304.0 +offset_right = 283.0 +offset_bottom = 349.0 +fname = "Модуль ЛА6А45" +rname = "А7" + +[node name="ref_mshu8" parent="ref_afsp_A2/ref_A2A/ref_bpch_8s" instance=ExtResource("3_7rc2x")] +layout_mode = 0 +offset_left = 23.0 +offset_top = 349.0 +offset_right = 283.0 +offset_bottom = 394.0 +fname = "Модуль ЛА6А45" +rname = "А8" diff --git a/scenes/pribor-prd-k/kasseta-fs-kd.tscn b/scenes/pribor-prd-k/kasseta-fs-kd.tscn index 8462ec6..fb896b8 100644 --- a/scenes/pribor-prd-k/kasseta-fs-kd.tscn +++ b/scenes/pribor-prd-k/kasseta-fs-kd.tscn @@ -2,7 +2,7 @@ [ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="1_1jljp"] [ext_resource type="Script" path="res://scenes/контроль/кассета.gd" id="2_01mea"] -[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/element_v.tscn" id="3_kqnvt"] +[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="3_kqnvt"] [node name="kasseta_fs_kd" type="NinePatchRect"] offset_right = 310.0 diff --git a/scenes/pribor-prd-k/pribor-prd-k.tscn b/scenes/pribor-prd-k/pribor-prd-k.tscn index d68e041..e1dda62 100644 --- a/scenes/pribor-prd-k/pribor-prd-k.tscn +++ b/scenes/pribor-prd-k/pribor-prd-k.tscn @@ -1,13 +1,13 @@ [gd_scene load_steps=9 format=3 uid="uid://m5s87q7m66lj"] -[ext_resource type="Script" path="res://scenes/контроль/прибор.gd" id="1_7kjrl"] -[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/element_h.tscn" id="1_8dmgr"] +[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="1_8dmgr"] +[ext_resource type="Script" path="res://scenes/контроль/прибор.gd" id="1_ufjwe"] [ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="2_14h25"] -[ext_resource type="PackedScene" uid="uid://bk1655p4e8y4u" path="res://scenes/pribor-prd-n/kasseta-u-5.tscn" id="3_7orfk"] -[ext_resource type="PackedScene" uid="uid://bkxblfoj7ejv0" path="res://scenes/контроль/um1535.tscn" id="6_fmhtx"] -[ext_resource type="PackedScene" uid="uid://cg2ecoyms7xy2" path="res://scenes/pribor-prd-k/kasseta-p-1.tscn" id="7_cjjs2"] +[ext_resource type="PackedScene" uid="uid://bk1655p4e8y4u" path="res://scenes/контроль/кассета-у-5.tscn" id="3_7orfk"] +[ext_resource type="PackedScene" uid="uid://bkxblfoj7ejv0" path="res://scenes/контроль/блок-а.tscn" id="6_fmhtx"] +[ext_resource type="PackedScene" uid="uid://dbxdb7lo7kofv" path="res://scenes/контроль/кассета-п-1.tscn" id="7_cjjs2"] [ext_resource type="PackedScene" uid="uid://bmagw8nd0ulhj" path="res://scenes/pribor-prd-k/kasseta-fs-kd.tscn" id="7_ia27q"] -[ext_resource type="PackedScene" uid="uid://dq31j24gv5vi4" path="res://scenes/pribor-prd-k/kasseta-p-2.tscn" id="8_6fdp7"] +[ext_resource type="PackedScene" uid="uid://dq31j24gv5vi4" path="res://scenes/контроль/кассета-п-2.tscn" id="8_6fdp7"] [node name="pribor_prd_k" type="Control"] layout_mode = 3 @@ -16,14 +16,14 @@ offset_left = 15.0 offset_top = 30.0 offset_right = 15.0 offset_bottom = 30.0 -script = ExtResource("1_7kjrl") +script = ExtResource("1_ufjwe") [node name="lbl_header" type="Label" parent="."] layout_mode = 0 offset_left = 20.0 offset_top = 210.0 offset_right = 640.0 -offset_bottom = 236.0 +offset_bottom = 240.0 theme_override_font_sizes/font_size = 22 text = "Контроль исправности прибора ПРД-К" horizontal_alignment = 1 @@ -38,7 +38,7 @@ offset_bottom = 942.0 fname = "MAA2000" rname = "A22" -[node name="dou2_A5" parent="." instance=ExtResource("1_8dmgr")] +[node name="dou2_A7" parent="." instance=ExtResource("1_8dmgr")] layout_mode = 0 offset_left = 485.0 offset_top = 812.0 @@ -56,7 +56,7 @@ offset_bottom = 942.0 fname = "MAA2000" rname = "A23" -[node name="dou2_A6" parent="." instance=ExtResource("1_8dmgr")] +[node name="dou2_A8" parent="." instance=ExtResource("1_8dmgr")] layout_mode = 0 offset_left = 15.0 offset_top = 812.0 @@ -89,111 +89,231 @@ text = "Панель horizontal_alignment = 1 vertical_alignment = 1 -[node name="um1535_A7" parent="." instance=ExtResource("6_fmhtx")] +[node name="um1535_A10" parent="." instance=ExtResource("6_fmhtx")] layout_mode = 0 offset_left = 485.0 offset_top = 242.0 offset_right = 645.0 offset_bottom = 337.0 +value0 = 28.0 +value1 = 70.0 +max_value0 = 99.0 +max_value1 = 99.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535Б" rname = "A10" -[node name="um1535_A8" parent="." instance=ExtResource("6_fmhtx")] -layout_mode = 0 -offset_left = 485.0 -offset_top = 337.0 -offset_right = 645.0 -offset_bottom = 432.0 -fname = "УМ1535Б" -rname = "A11" - -[node name="um1535_A9" parent="." instance=ExtResource("6_fmhtx")] -layout_mode = 0 -offset_left = 485.0 -offset_top = 432.0 -offset_right = 645.0 -offset_bottom = 527.0 -fname = "УМ1535Б" -rname = "A12" - -[node name="um1535_A10" parent="." instance=ExtResource("6_fmhtx")] -layout_mode = 0 -offset_left = 485.0 -offset_top = 527.0 -offset_right = 645.0 -offset_bottom = 622.0 -fname = "УМ1535Б" -rname = "A13" - [node name="um1535_A11" parent="." instance=ExtResource("6_fmhtx")] layout_mode = 0 offset_left = 485.0 +offset_top = 337.0 +offset_right = 645.0 +offset_bottom = 432.0 +value0 = 28.0 +value1 = 57.0 +max_value0 = 99.0 +max_value1 = 99.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +fname = "УМ1535Б" +rname = "A11" + +[node name="um1535_A12" parent="." instance=ExtResource("6_fmhtx")] +layout_mode = 0 +offset_left = 485.0 +offset_top = 432.0 +offset_right = 645.0 +offset_bottom = 527.0 +value0 = 28.0 +value1 = 57.0 +max_value0 = 99.0 +max_value1 = 99.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +fname = "УМ1535Б" +rname = "A12" + +[node name="um1535_A13" parent="." instance=ExtResource("6_fmhtx")] +layout_mode = 0 +offset_left = 485.0 +offset_top = 527.0 +offset_right = 645.0 +offset_bottom = 622.0 +value0 = 28.0 +value1 = 57.0 +max_value0 = 99.0 +max_value1 = 99.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +fname = "УМ1535Б" +rname = "A13" + +[node name="um1535_A14" parent="." instance=ExtResource("6_fmhtx")] +layout_mode = 0 +offset_left = 485.0 offset_top = 622.0 offset_right = 645.0 offset_bottom = 717.0 +value0 = 28.0 +value1 = 57.0 +max_value0 = 99.0 +max_value1 = 99.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535Б" rname = "A14" -[node name="um1535_A12" parent="." instance=ExtResource("6_fmhtx")] +[node name="um1535_A15" parent="." instance=ExtResource("6_fmhtx")] layout_mode = 0 offset_left = 485.0 offset_top = 717.0 offset_right = 645.0 offset_bottom = 812.0 +value0 = 28.0 +value1 = 57.0 +max_value0 = 99.0 +max_value1 = 99.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535Б" rname = "A15" -[node name="um1535_A13" parent="." instance=ExtResource("6_fmhtx")] +[node name="um1535_A16" parent="." instance=ExtResource("6_fmhtx")] layout_mode = 0 offset_left = 15.0 offset_top = 242.0 offset_right = 175.0 offset_bottom = 337.0 +value0 = 28.0 +value1 = 57.0 +max_value0 = 99.0 +max_value1 = 99.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535Б" rname = "A16" -[node name="um1535_A14" parent="." instance=ExtResource("6_fmhtx")] +[node name="um1535_A17" parent="." instance=ExtResource("6_fmhtx")] layout_mode = 0 offset_left = 15.0 offset_top = 337.0 offset_right = 175.0 offset_bottom = 432.0 +value0 = 28.0 +value1 = 57.0 +max_value0 = 99.0 +max_value1 = 99.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535Б" rname = "A17" -[node name="um1535_A15" parent="." instance=ExtResource("6_fmhtx")] +[node name="um1535_A18" parent="." instance=ExtResource("6_fmhtx")] layout_mode = 0 offset_left = 15.0 offset_top = 432.0 offset_right = 175.0 offset_bottom = 527.0 +value0 = 28.0 +value1 = 57.0 +max_value0 = 99.0 +max_value1 = 99.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535Б" rname = "A18" -[node name="um1535_A16" parent="." instance=ExtResource("6_fmhtx")] +[node name="um1535_A19" parent="." instance=ExtResource("6_fmhtx")] layout_mode = 0 offset_left = 15.0 offset_top = 527.0 offset_right = 175.0 offset_bottom = 622.0 +value0 = 28.0 +value1 = 57.0 +max_value0 = 99.0 +max_value1 = 99.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535Б" rname = "A19" -[node name="um1535_A17" parent="." instance=ExtResource("6_fmhtx")] +[node name="um1535_A20" parent="." instance=ExtResource("6_fmhtx")] layout_mode = 0 offset_left = 15.0 offset_top = 622.0 offset_right = 175.0 offset_bottom = 717.0 +value0 = 28.0 +value1 = 57.0 +max_value0 = 99.0 +max_value1 = 99.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535Б" rname = "A20" -[node name="um1535_A18" parent="." instance=ExtResource("6_fmhtx")] +[node name="um1535_A21" parent="." instance=ExtResource("6_fmhtx")] layout_mode = 0 offset_left = 15.0 offset_top = 717.0 offset_right = 175.0 offset_bottom = 812.0 +value0 = 28.0 +value1 = 57.0 +max_value0 = 99.0 +max_value1 = 99.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535Б" rname = "A21" diff --git a/scenes/pribor-prd-n/kasseta-fs-nd.tscn b/scenes/pribor-prd-n/kasseta-fs-nd.tscn index de453b9..a6d27dc 100644 --- a/scenes/pribor-prd-n/kasseta-fs-nd.tscn +++ b/scenes/pribor-prd-n/kasseta-fs-nd.tscn @@ -2,7 +2,7 @@ [ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="1_wgdti"] [ext_resource type="Script" path="res://scenes/контроль/кассета.gd" id="2_lxiqt"] -[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/element_v.tscn" id="2_mkgdh"] +[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="2_mkgdh"] [node name="kasseta_fs_nd" type="NinePatchRect"] offset_right = 310.0 diff --git a/scenes/pribor-prd-n/kasseta-p-1.tscn b/scenes/pribor-prd-n/kasseta-p-1.tscn deleted file mode 100644 index 3fcb4eb..0000000 --- a/scenes/pribor-prd-n/kasseta-p-1.tscn +++ /dev/null @@ -1,50 +0,0 @@ -[gd_scene load_steps=4 format=3 uid="uid://dbxdb7lo7kofv"] - -[ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="1_suecd"] -[ext_resource type="Script" path="res://scenes/контроль/кассета.gd" id="2_q7stg"] -[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/element_v.tscn" id="3_kkuhl"] - -[node name="kasseta_p_1" type="NinePatchRect"] -offset_right = 310.0 -offset_bottom = 190.0 -texture = ExtResource("1_suecd") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 -script = ExtResource("2_q7stg") - -[node name="ref_A26" parent="." instance=ExtResource("3_kkuhl")] -offset_left = 105.0 -offset_top = 30.0 -offset_right = 155.0 -offset_bottom = 180.0 -fname = "ИП12-50" -rname = "A26" - -[node name="ref_A23" parent="." instance=ExtResource("3_kkuhl")] -offset_left = 155.0 -offset_top = 30.0 -offset_right = 205.0 -offset_bottom = 180.0 -fname = "ИП9-50" -rname = "A23" - -[node name="ref_A24" parent="." instance=ExtResource("3_kkuhl")] -offset_left = 205.0 -offset_top = 30.0 -offset_right = 255.0 -offset_bottom = 180.0 -fname = "ИП9-50" -rname = "A24" - -[node name="lbl_fname" type="Label" parent="."] -self_modulate = Color(1, 1, 1, 0.62) -layout_mode = 0 -offset_left = 5.0 -offset_top = 5.0 -offset_right = 305.0 -offset_bottom = 30.0 -text = "Кассета" -horizontal_alignment = 1 -vertical_alignment = 1 diff --git a/scenes/pribor-prd-n/kasseta-u-5.tscn b/scenes/pribor-prd-n/kasseta-u-5.tscn deleted file mode 100644 index bf13e58..0000000 --- a/scenes/pribor-prd-n/kasseta-u-5.tscn +++ /dev/null @@ -1,74 +0,0 @@ -[gd_scene load_steps=4 format=3 uid="uid://bk1655p4e8y4u"] - -[ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="1_b7mhj"] -[ext_resource type="Script" path="res://scenes/контроль/кассета.gd" id="2_6e76f"] -[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/element_v.tscn" id="3_51mna"] - -[node name="kasseta_u5" type="NinePatchRect"] -offset_right = 310.0 -offset_bottom = 190.0 -texture = ExtResource("1_b7mhj") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 -script = ExtResource("2_6e76f") - -[node name="lbl_fname" type="Label" parent="."] -self_modulate = Color(1, 1, 1, 0.62) -layout_mode = 0 -offset_left = 5.0 -offset_top = 7.0 -offset_right = 305.0 -offset_bottom = 35.0 -text = "Кассета" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="ref_A31" parent="." instance=ExtResource("3_51mna")] -offset_left = 5.0 -offset_top = 32.0 -offset_right = 55.0 -offset_bottom = 182.0 -fname = "ИП5-25" -rname = "A31" - -[node name="ref_A37" parent="." instance=ExtResource("3_51mna")] -offset_left = 55.0 -offset_top = 32.0 -offset_right = 105.0 -offset_bottom = 182.0 -fname = "ЯУ-07Б" -rname = "A37" - -[node name="ref_A33" parent="." instance=ExtResource("3_51mna")] -offset_left = 105.0 -offset_top = 32.0 -offset_right = 155.0 -offset_bottom = 182.0 -fname = "ЭМС-Г" -rname = "A33" - -[node name="ref_A34" parent="." instance=ExtResource("3_51mna")] -offset_left = 155.0 -offset_top = 32.0 -offset_right = 205.0 -offset_bottom = 182.0 -fname = "УГ" -rname = "A34" - -[node name="ref_A35" parent="." instance=ExtResource("3_51mna")] -offset_left = 205.0 -offset_top = 32.0 -offset_right = 255.0 -offset_bottom = 182.0 -fname = "УКП" -rname = "A35" - -[node name="ref_A36" parent="." instance=ExtResource("3_51mna")] -offset_left = 254.0 -offset_top = 32.0 -offset_right = 304.0 -offset_bottom = 182.0 -fname = "УКП" -rname = "A36" diff --git a/scenes/pribor-prd-n/pribor-prd-n.tscn b/scenes/pribor-prd-n/pribor-prd-n.tscn index 5489f6e..1a1c81c 100644 --- a/scenes/pribor-prd-n/pribor-prd-n.tscn +++ b/scenes/pribor-prd-n/pribor-prd-n.tscn @@ -1,12 +1,12 @@ [gd_scene load_steps=8 format=3 uid="uid://dnuexoef2nnv5"] [ext_resource type="Script" path="res://scenes/контроль/прибор.gd" id="1_mcea3"] -[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/element_h.tscn" id="2_lpj3d"] +[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="2_lpj3d"] [ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="4_i1no5"] -[ext_resource type="PackedScene" uid="uid://bk1655p4e8y4u" path="res://scenes/pribor-prd-n/kasseta-u-5.tscn" id="5_ej152"] +[ext_resource type="PackedScene" uid="uid://bk1655p4e8y4u" path="res://scenes/контроль/кассета-у-5.tscn" id="5_ej152"] [ext_resource type="PackedScene" uid="uid://cd5sue1e8iyrv" path="res://scenes/pribor-prd-n/kasseta-fs-nd.tscn" id="6_1p3pi"] -[ext_resource type="PackedScene" uid="uid://dbxdb7lo7kofv" path="res://scenes/pribor-prd-n/kasseta-p-1.tscn" id="7_klldp"] -[ext_resource type="PackedScene" uid="uid://bkxblfoj7ejv0" path="res://scenes/контроль/um1535.tscn" id="8_u7eqo"] +[ext_resource type="PackedScene" uid="uid://dbxdb7lo7kofv" path="res://scenes/контроль/кассета-п-1.tscn" id="7_klldp"] +[ext_resource type="PackedScene" uid="uid://bkxblfoj7ejv0" path="res://scenes/контроль/блок-а.tscn" id="8_u7eqo"] [node name="pribor_prd_n" type="Control"] layout_mode = 3 @@ -82,7 +82,7 @@ layout_mode = 0 offset_left = 20.0 offset_top = 214.0 offset_right = 640.0 -offset_bottom = 245.0 +offset_bottom = 240.0 theme_override_font_sizes/font_size = 22 text = "Контроль исправности прибора ПРД-Н" horizontal_alignment = 1 @@ -118,6 +118,14 @@ offset_left = 485.0 offset_top = 242.0 offset_right = 645.0 offset_bottom = 337.0 +value0 = 27.0 +value1 = 56.0 +max_value0 = 100.0 +max_value1 = 100.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535А" rname = "A7" @@ -127,6 +135,14 @@ offset_left = 485.0 offset_top = 337.0 offset_right = 645.0 offset_bottom = 432.0 +value0 = 27.0 +value1 = 56.0 +max_value0 = 100.0 +max_value1 = 100.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535А" rname = "A8" @@ -136,6 +152,14 @@ offset_left = 485.0 offset_top = 432.0 offset_right = 645.0 offset_bottom = 527.0 +value0 = 27.0 +value1 = 56.0 +max_value0 = 100.0 +max_value1 = 100.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535А" rname = "A9" @@ -145,6 +169,14 @@ offset_left = 485.0 offset_top = 527.0 offset_right = 645.0 offset_bottom = 622.0 +value0 = 27.0 +value1 = 56.0 +max_value0 = 100.0 +max_value1 = 100.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535А" rname = "A10" @@ -154,6 +186,14 @@ offset_left = 485.0 offset_top = 622.0 offset_right = 645.0 offset_bottom = 717.0 +value0 = 27.0 +value1 = 56.0 +max_value0 = 100.0 +max_value1 = 100.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535А" rname = "A11" @@ -163,6 +203,14 @@ offset_left = 485.0 offset_top = 717.0 offset_right = 645.0 offset_bottom = 812.0 +value0 = 27.0 +value1 = 56.0 +max_value0 = 100.0 +max_value1 = 100.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535А" rname = "A11" @@ -172,6 +220,16 @@ offset_left = 15.0 offset_top = 242.0 offset_right = 175.0 offset_bottom = 337.0 +value0 = 27.0 +value1 = 56.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535А" rname = "A13" @@ -181,6 +239,14 @@ offset_left = 15.0 offset_top = 337.0 offset_right = 175.0 offset_bottom = 432.0 +value0 = 27.0 +value1 = 56.0 +max_value0 = 100.0 +max_value1 = 100.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535А" rname = "A14" @@ -190,6 +256,14 @@ offset_left = 15.0 offset_top = 432.0 offset_right = 175.0 offset_bottom = 527.0 +value0 = 27.0 +value1 = 56.0 +max_value0 = 100.0 +max_value1 = 100.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535А" rname = "A15" @@ -199,6 +273,14 @@ offset_left = 15.0 offset_top = 527.0 offset_right = 175.0 offset_bottom = 622.0 +value0 = 27.0 +value1 = 56.0 +max_value0 = 100.0 +max_value1 = 100.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535А" rname = "A16" @@ -208,6 +290,14 @@ offset_left = 15.0 offset_top = 622.0 offset_right = 175.0 offset_bottom = 717.0 +value0 = 27.0 +value1 = 56.0 +max_value0 = 100.0 +max_value1 = 100.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535А" rname = "A17" @@ -217,5 +307,13 @@ offset_left = 15.0 offset_top = 717.0 offset_right = 175.0 offset_bottom = 812.0 +value0 = 27.0 +value1 = 56.0 +max_value0 = 100.0 +max_value1 = 100.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) fname = "УМ1535А" rname = "A18" diff --git a/scenes/pribor-prd-v-1/pribor-prd-v-1.tscn b/scenes/pribor-prd-v-1/pribor-prd-v-1.tscn deleted file mode 100644 index e478db0..0000000 --- a/scenes/pribor-prd-v-1/pribor-prd-v-1.tscn +++ /dev/null @@ -1,6 +0,0 @@ -[gd_scene format=3 uid="uid://dv45fwc77flro"] - -[node name="pribor_UF" type="Node2D"] - -[node name="test_label" type="Label" parent="."] -text = "Здесь будет схема прибора ПРД-В 1" diff --git a/scenes/pribor-prd-v-2/pribor-prd-v-2.tscn b/scenes/pribor-prd-v-2/pribor-prd-v-2.tscn deleted file mode 100644 index 84fc231..0000000 --- a/scenes/pribor-prd-v-2/pribor-prd-v-2.tscn +++ /dev/null @@ -1,6 +0,0 @@ -[gd_scene format=3 uid="uid://bn43ofklq62jw"] - -[node name="pribor_UF" type="Node2D"] - -[node name="test_label" type="Label" parent="."] -text = "Здесь будет схема прибора ПРД-В 2" diff --git a/scenes/pribor-prd-v-3/pribor-prd-v-3.tscn b/scenes/pribor-prd-v-3/pribor-prd-v-3.tscn deleted file mode 100644 index 685b606..0000000 --- a/scenes/pribor-prd-v-3/pribor-prd-v-3.tscn +++ /dev/null @@ -1,6 +0,0 @@ -[gd_scene format=3 uid="uid://cf7le7xc5fbxx"] - -[node name="pribor_UF" type="Node2D"] - -[node name="test_label" type="Label" parent="."] -text = "Здесь будет схема прибора ПРД-В 3" diff --git a/scenes/pribor-prd-v-4/pribor-prd-v-4.tscn b/scenes/pribor-prd-v-4/pribor-prd-v-4.tscn deleted file mode 100644 index fe3b9cc..0000000 --- a/scenes/pribor-prd-v-4/pribor-prd-v-4.tscn +++ /dev/null @@ -1,6 +0,0 @@ -[gd_scene format=3 uid="uid://dhvq0w8gdbqw3"] - -[node name="pribor_UF" type="Node2D"] - -[node name="test_label" type="Label" parent="."] -text = "Здесь будет схема прибора ПРД-В 1" diff --git a/scenes/pribor-prd-v/kasseta-fs-vd.tscn b/scenes/pribor-prd-v/kasseta-fs-vd.tscn new file mode 100644 index 0000000..ad05775 --- /dev/null +++ b/scenes/pribor-prd-v/kasseta-fs-vd.tscn @@ -0,0 +1,59 @@ +[gd_scene load_steps=4 format=3 uid="uid://ctyinijyucgpe"] + +[ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="1_74guj"] +[ext_resource type="Script" path="res://scenes/контроль/кассета.gd" id="2_mfr0k"] +[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="3_w4hiq"] + +[node name="kasseta_fs_vd" type="NinePatchRect"] +offset_right = 310.0 +offset_bottom = 190.0 +texture = ExtResource("1_74guj") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 +script = ExtResource("2_mfr0k") +metadata/Fname = "" + +[node name="lbl_fname" type="Label" parent="."] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 5.0 +offset_top = 7.0 +offset_right = 303.0 +offset_bottom = 33.0 +text = "Кассета" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="ref_A1" parent="." instance=ExtResource("3_w4hiq")] +offset_left = 55.0 +offset_top = 32.0 +offset_right = 105.0 +offset_bottom = 182.0 +fname = "Модуль ФС" +rname = "A1" + +[node name="ref_A3" parent="." instance=ExtResource("3_w4hiq")] +offset_left = 105.0 +offset_top = 32.0 +offset_right = 155.0 +offset_bottom = 182.0 +fname = "Блок ФС-2" +rname = "A3" + +[node name="ref_A2" parent="." instance=ExtResource("3_w4hiq")] +offset_left = 155.0 +offset_top = 32.0 +offset_right = 205.0 +offset_bottom = 182.0 +fname = "Модуль ФС" +rname = "A2" + +[node name="ref_A4" parent="." instance=ExtResource("3_w4hiq")] +offset_left = 205.0 +offset_top = 32.0 +offset_right = 255.0 +offset_bottom = 182.0 +fname = "Блок ФС-3" +rname = "A4" diff --git a/scenes/pribor-prd-v/pribor-prd-v.tscn b/scenes/pribor-prd-v/pribor-prd-v.tscn new file mode 100644 index 0000000..c1b9fe1 --- /dev/null +++ b/scenes/pribor-prd-v/pribor-prd-v.tscn @@ -0,0 +1,341 @@ +[gd_scene load_steps=8 format=3 uid="uid://cvskpe1ti3p45"] + +[ext_resource type="Script" path="res://scenes/контроль/прибор.gd" id="1_dl7rt"] +[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="2_xpo4b"] +[ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="3_wyy1b"] +[ext_resource type="PackedScene" uid="uid://bk1655p4e8y4u" path="res://scenes/контроль/кассета-у-5.tscn" id="4_gl2bl"] +[ext_resource type="PackedScene" uid="uid://cd5sue1e8iyrv" path="res://scenes/pribor-prd-n/kasseta-fs-nd.tscn" id="5_nhd2k"] +[ext_resource type="PackedScene" uid="uid://dbxdb7lo7kofv" path="res://scenes/контроль/кассета-п-1.tscn" id="6_d3awr"] +[ext_resource type="PackedScene" uid="uid://bkxblfoj7ejv0" path="res://scenes/контроль/блок-а.tscn" id="7_e22c6"] + +[node name="pribor_prd_n" type="Control"] +layout_mode = 3 +anchors_preset = 0 +offset_left = 15.0 +offset_top = 30.0 +offset_right = 15.0 +offset_bottom = 30.0 +script = ExtResource("1_dl7rt") + +[node name="maa2000_A22" parent="." instance=ExtResource("2_xpo4b")] +layout_mode = 2 +offset_left = 485.0 +offset_top = 877.0 +offset_right = 645.0 +offset_bottom = 942.0 +fname = "MAA2000" +rname = "A22" + +[node name="dou4_A5" parent="." instance=ExtResource("2_xpo4b")] +layout_mode = 2 +offset_left = 485.0 +offset_top = 812.0 +offset_right = 645.0 +offset_bottom = 877.0 +fname = "ДОУ-4" +rname = "A5" + +[node name="maa2000_A23" parent="." instance=ExtResource("2_xpo4b")] +layout_mode = 2 +offset_left = 15.0 +offset_top = 877.0 +offset_right = 175.0 +offset_bottom = 942.0 +fname = "MAA2000" +rname = "A23" + +[node name="dou5_A6" parent="." instance=ExtResource("2_xpo4b")] +layout_mode = 2 +offset_left = 15.0 +offset_top = 812.0 +offset_right = 175.0 +offset_bottom = 877.0 +fname = "ДОУ-5" +rname = "A6" + +[node name="ref_ZZ3" type="NinePatchRect" parent="."] +layout_mode = 0 +offset_left = 175.0 +offset_top = 812.0 +offset_right = 485.0 +offset_bottom = 942.0 +texture = ExtResource("3_wyy1b") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="label" type="Label" parent="ref_ZZ3"] +self_modulate = Color(0.996078, 1, 1, 0.627451) +layout_mode = 0 +offset_left = 10.0 +offset_top = 8.0 +offset_right = 302.0 +offset_bottom = 120.0 +text = "Панель +предохранителей" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="lbl_header" type="Label" parent="."] +layout_mode = 0 +offset_left = 20.0 +offset_top = 214.0 +offset_right = 640.0 +offset_bottom = 240.0 +theme_override_font_sizes/font_size = 22 +text = "Контроль исправности прибора ПРД-В" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="kasseta_U5" parent="." instance=ExtResource("4_gl2bl")] +layout_mode = 0 +offset_left = 175.0 +offset_top = 242.0 +offset_right = 485.0 +offset_bottom = 432.0 +fname = "Кассета У5" + +[node name="kasseta_FS_VD" parent="." instance=ExtResource("5_nhd2k")] +layout_mode = 0 +offset_left = 175.0 +offset_top = 432.0 +offset_right = 485.0 +offset_bottom = 622.0 +fname = "Кассета ФС-ВД" + +[node name="kasseta_P_1" parent="." instance=ExtResource("6_d3awr")] +layout_mode = 0 +offset_left = 175.0 +offset_top = 622.0 +offset_right = 485.0 +offset_bottom = 812.0 +fname = "Кассета П-1" + +[node name="um1535_A7" parent="." instance=ExtResource("7_e22c6")] +layout_mode = 0 +offset_left = 485.0 +offset_top = 242.0 +offset_right = 645.0 +offset_bottom = 337.0 +value0 = 91.0 +value1 = 22.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +fname = "УМ1535А" +rname = "A7" + +[node name="um1535_A8" parent="." instance=ExtResource("7_e22c6")] +layout_mode = 0 +offset_left = 485.0 +offset_top = 337.0 +offset_right = 645.0 +offset_bottom = 432.0 +value0 = 91.0 +value1 = 22.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +fname = "УМ1535А" +rname = "A8" + +[node name="um1535_A9" parent="." instance=ExtResource("7_e22c6")] +layout_mode = 0 +offset_left = 485.0 +offset_top = 432.0 +offset_right = 645.0 +offset_bottom = 527.0 +value0 = 91.0 +value1 = 22.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +fname = "УМ1535А" +rname = "A9" + +[node name="um1535_A10" parent="." instance=ExtResource("7_e22c6")] +layout_mode = 0 +offset_left = 485.0 +offset_top = 527.0 +offset_right = 645.0 +offset_bottom = 622.0 +value0 = 91.0 +value1 = 22.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +fname = "УМ1535А" +rname = "A10" + +[node name="um1535_A11" parent="." instance=ExtResource("7_e22c6")] +layout_mode = 0 +offset_left = 485.0 +offset_top = 622.0 +offset_right = 645.0 +offset_bottom = 717.0 +value0 = 91.0 +value1 = 22.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +fname = "УМ1535А" +rname = "A11" + +[node name="um1535_A12" parent="." instance=ExtResource("7_e22c6")] +layout_mode = 0 +offset_left = 485.0 +offset_top = 717.0 +offset_right = 645.0 +offset_bottom = 812.0 +value0 = 91.0 +value1 = 22.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +fname = "УМ1535А" +rname = "A11" + +[node name="um1535_A13" parent="." instance=ExtResource("7_e22c6")] +layout_mode = 0 +offset_left = 15.0 +offset_top = 242.0 +offset_right = 175.0 +offset_bottom = 337.0 +value0 = 91.0 +value1 = 33.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +fname = "УМ1535А" +rname = "A13" + +[node name="um1535_A14" parent="." instance=ExtResource("7_e22c6")] +layout_mode = 0 +offset_left = 15.0 +offset_top = 337.0 +offset_right = 175.0 +offset_bottom = 432.0 +value0 = 91.0 +value1 = 33.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +fname = "УМ1535А" +rname = "A14" + +[node name="um1535_A15" parent="." instance=ExtResource("7_e22c6")] +layout_mode = 0 +offset_left = 15.0 +offset_top = 432.0 +offset_right = 175.0 +offset_bottom = 527.0 +value0 = 91.0 +value1 = 33.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +fname = "УМ1535А" +rname = "A15" + +[node name="um1535_A16" parent="." instance=ExtResource("7_e22c6")] +layout_mode = 0 +offset_left = 15.0 +offset_top = 527.0 +offset_right = 175.0 +offset_bottom = 622.0 +value0 = 91.0 +value1 = 33.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +fname = "УМ1535А" +rname = "A16" + +[node name="um1535_A17" parent="." instance=ExtResource("7_e22c6")] +layout_mode = 0 +offset_left = 15.0 +offset_top = 622.0 +offset_right = 175.0 +offset_bottom = 717.0 +value0 = 91.0 +value1 = 33.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +fname = "УМ1535А" +rname = "A17" + +[node name="um1535_A18" parent="." instance=ExtResource("7_e22c6")] +layout_mode = 0 +offset_left = 15.0 +offset_top = 717.0 +offset_right = 175.0 +offset_bottom = 812.0 +value0 = 91.0 +value1 = 33.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "°C" +value_name1 = "P, %" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +fname = "УМ1535А" +rname = "A18" diff --git a/scenes/pribor-rtr/pribor-rtr.tscn b/scenes/pribor-rtr/pribor-rtr.tscn index a58f09f..6641a0c 100644 --- a/scenes/pribor-rtr/pribor-rtr.tscn +++ b/scenes/pribor-rtr/pribor-rtr.tscn @@ -1,99 +1,559 @@ -[gd_scene load_steps=3 format=3 uid="uid://5uv1idl3lqet"] +[gd_scene load_steps=6 format=3 uid="uid://5uv1idl3lqet"] -[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/element_h.tscn" id="2_e75yj"] -[ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="3_a2683"] +[ext_resource type="Script" path="res://scenes/контроль/прибор.gd" id="1_ab82m"] +[ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="2_02opt"] +[ext_resource type="PackedScene" uid="uid://7ps8s0jd2bdr" path="res://scenes/контроль/блок-б.tscn" id="2_v25ql"] +[ext_resource type="PackedScene" uid="uid://bkxblfoj7ejv0" path="res://scenes/контроль/блок-а.tscn" id="4_2tw5p"] +[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="5_mxmk0"] -[node name="pribor_UF" type="Node2D"] - -[node name="ref_G1" type="NinePatchRect" parent="."] -offset_left = 394.0 -offset_top = 157.0 -offset_right = 786.0 -offset_bottom = 367.0 -texture = ExtResource("3_a2683") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 - -[node name="ref_A23" parent="ref_G1" instance=ExtResource("2_e75yj")] -layout_mode = 0 -offset_left = 105.0 -offset_top = 28.0 -offset_right = 265.0 -offset_bottom = 183.0 -fname = "MAA2000" -rname = "A23" -state = 1 - -[node name="ref_A1" type="NinePatchRect" parent="."] -offset_left = 123.0 -offset_top = 434.0 -offset_right = 783.0 -offset_bottom = 728.0 -texture = ExtResource("3_a2683") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 - -[node name="ref_A24" parent="ref_A1" instance=ExtResource("2_e75yj")] -layout_mode = 0 -offset_left = 334.0 -offset_top = 74.0 -offset_right = 644.0 -offset_bottom = 232.0 -fname = "Модуль процессорный O31S.B" -rname = "A24" -state = 1 - -[node name="ref_A25" parent="ref_A1" instance=ExtResource("2_e75yj")] -layout_mode = 0 -offset_left = 70.0 -offset_top = 115.0 -offset_right = 275.0 -offset_bottom = 231.0 -fname = "Плата" -rname = "A25" -state = 1 - -[node name="ref_A2" type="NinePatchRect" parent="."] -offset_left = 124.0 -offset_top = 803.0 -offset_right = 784.0 -offset_bottom = 1097.0 -texture = ExtResource("3_a2683") -patch_margin_left = 16 -patch_margin_top = 16 -patch_margin_right = 16 -patch_margin_bottom = 16 - -[node name="ref_A26" parent="ref_A2" instance=ExtResource("2_e75yj")] -layout_mode = 0 -offset_left = 336.0 -offset_top = 68.0 -offset_right = 646.0 -offset_bottom = 226.0 -fname = "Модуль процессорный O31S.B" -rname = "A27" -state = 1 - -[node name="ref_A27" parent="ref_A2" instance=ExtResource("2_e75yj")] -layout_mode = 0 -offset_left = 68.0 -offset_top = 112.0 -offset_right = 273.0 -offset_bottom = 228.0 -fname = "Плата" -rname = "A27" -state = 1 +[node name="pribor_rtr" type="Control"] +layout_mode = 3 +anchors_preset = 0 +script = ExtResource("1_ab82m") [node name="lbl_header" type="Label" parent="."] -offset_left = 10.0 -offset_top = 131.0 -offset_right = 865.0 -offset_bottom = 157.0 +layout_mode = 0 +offset_left = 25.0 +offset_right = 595.0 +offset_bottom = 35.0 theme_override_font_sizes/font_size = 22 -text = "Контроль исправности прибора РТР" +text = "Контроль исправности прибора" horizontal_alignment = 1 vertical_alignment = 1 + +[node name="konverter" type="NinePatchRect" parent="."] +layout_mode = 0 +offset_left = 20.0 +offset_top = 890.0 +offset_right = 600.0 +offset_bottom = 1155.0 +texture = ExtResource("2_02opt") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="lbl_fname" type="Label" parent="konverter"] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 5.0 +offset_top = 5.0 +offset_right = 575.0 +offset_bottom = 25.0 +text = "Конвертер 1000...6000 МГц" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="grid" type="GridContainer" parent="konverter"] +layout_mode = 2 +offset_left = 10.0 +offset_top = 25.0 +offset_right = 570.0 +offset_bottom = 257.0 +columns = 4 + +[node name="kanal1" parent="konverter/grid" instance=ExtResource("2_v25ql")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value0 = 24.0 +value1 = 27.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "t, °C" +value_name1 = "U, В" +value_name2 = "CAN" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +name_min_size2 = Vector2i(35, 20) +fname = "Канал 1" + +[node name="kanal2" parent="konverter/grid" instance=ExtResource("2_v25ql")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value0 = 24.0 +value1 = 27.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "t, °C" +value_name1 = "U, В" +value_name2 = "CAN" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +name_min_size2 = Vector2i(35, 20) +fname = "Канал 2" + +[node name="kanal3" parent="konverter/grid" instance=ExtResource("2_v25ql")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value0 = 24.0 +value1 = 27.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "t, °C" +value_name1 = "U, В" +value_name2 = "CAN" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +name_min_size2 = Vector2i(35, 20) +fname = "Канал 3" + +[node name="kanal4" parent="konverter/grid" instance=ExtResource("2_v25ql")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value0 = 24.0 +value1 = 27.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "t, °C" +value_name1 = "U, В" +value_name2 = "CAN" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +name_min_size2 = Vector2i(35, 20) +fname = "Канал 4" + +[node name="kanal5" parent="konverter/grid" instance=ExtResource("2_v25ql")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value0 = 24.0 +value1 = 27.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "t, °C" +value_name1 = "U, В" +value_name2 = "CAN" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +name_min_size2 = Vector2i(35, 20) +fname = "Канал 5" + +[node name="kanal6" parent="konverter/grid" instance=ExtResource("2_v25ql")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value0 = 24.0 +value1 = 27.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "t, °C" +value_name1 = "U, В" +value_name2 = "CAN" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +name_min_size2 = Vector2i(35, 20) +fname = "Канал 6" + +[node name="kanal7" parent="konverter/grid" instance=ExtResource("2_v25ql")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value0 = 24.0 +value1 = 27.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "t, °C" +value_name1 = "U, В" +value_name2 = "CAN" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +name_min_size2 = Vector2i(35, 20) +fname = "Канал 7" + +[node name="kanal8" parent="konverter/grid" instance=ExtResource("2_v25ql")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value0 = 24.0 +value1 = 27.0 +max_value0 = 100.0 +max_value1 = 100.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "t, °C" +value_name1 = "U, В" +value_name2 = "CAN" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +name_min_size2 = Vector2i(35, 20) +fname = "Канал 8" + +[node name="antenna1" type="NinePatchRect" parent="."] +layout_mode = 0 +offset_left = 20.0 +offset_top = 80.0 +offset_right = 600.0 +offset_bottom = 485.0 +texture = ExtResource("2_02opt") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="lbl_fname" type="Label" parent="antenna1"] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 5.0 +offset_top = 5.0 +offset_right = 575.0 +offset_bottom = 25.0 +text = "Антенна 400...1000 МГц" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="grid" type="GridContainer" parent="antenna1"] +layout_mode = 2 +offset_left = 10.0 +offset_top = 25.0 +offset_right = 570.0 +offset_bottom = 397.0 +columns = 4 + +[node name="yelement1" parent="antenna1/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 1" + +[node name="yelement2" parent="antenna1/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 2" + +[node name="yelement3" parent="antenna1/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 3" + +[node name="yelement4" parent="antenna1/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 4" + +[node name="yelement5" parent="antenna1/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 5" + +[node name="yelement6" parent="antenna1/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 6" + +[node name="yelement7" parent="antenna1/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 7" + +[node name="yelement8" parent="antenna1/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 8" + +[node name="yelement9" parent="antenna1/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 9" + +[node name="yelement10" parent="antenna1/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 10" + +[node name="yelement11" parent="antenna1/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 11" + +[node name="yelement12" parent="antenna1/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 12" + +[node name="yelement13" parent="antenna1/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 13" + +[node name="yelement14" parent="antenna1/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 14" + +[node name="yelement15" parent="antenna1/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 15" + +[node name="yelement16" parent="antenna1/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 16" + +[node name="antenna2" type="NinePatchRect" parent="."] +layout_mode = 0 +offset_left = 20.0 +offset_top = 485.0 +offset_right = 600.0 +offset_bottom = 890.0 +texture = ExtResource("2_02opt") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="lbl_fname" type="Label" parent="antenna2"] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 5.0 +offset_top = 5.0 +offset_right = 575.0 +offset_bottom = 25.0 +text = "Антенна 1000...6000 МГц" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="grid" type="GridContainer" parent="antenna2"] +layout_mode = 2 +offset_left = 10.0 +offset_top = 25.0 +offset_right = 570.0 +offset_bottom = 397.0 +columns = 4 + +[node name="yelement1" parent="antenna2/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 1" + +[node name="yelement2" parent="antenna2/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 2" + +[node name="yelement3" parent="antenna2/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 3" + +[node name="yelement4" parent="antenna2/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 4" + +[node name="yelement5" parent="antenna2/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 5" + +[node name="yelement6" parent="antenna2/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 6" + +[node name="yelement7" parent="antenna2/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 7" + +[node name="yelement8" parent="antenna2/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 8" + +[node name="yelement9" parent="antenna2/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 9" + +[node name="yelement10" parent="antenna2/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 10" + +[node name="yelement11" parent="antenna2/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 11" + +[node name="yelement12" parent="antenna2/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 12" + +[node name="yelement13" parent="antenna2/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 13" + +[node name="yelement14" parent="antenna2/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 14" + +[node name="yelement15" parent="antenna2/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 15" + +[node name="yelement16" parent="antenna2/grid" instance=ExtResource("4_2tw5p")] +layout_mode = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 +value_name0 = "А" +value_name1 = "φ" +fname = "Элемент 16" + +[node name="rpu" parent="." instance=ExtResource("2_v25ql")] +layout_mode = 2 +offset_left = 605.0 +offset_top = 1035.0 +offset_right = 845.0 +offset_bottom = 1155.0 +value_name0 = "t, °C" +value_name1 = "U, В" +value_name2 = "CAN" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +name_min_size2 = Vector2i(35, 20) +fname = "Приёмник 20...1000 МГц" + +[node name="gen" parent="." instance=ExtResource("2_v25ql")] +layout_mode = 2 +offset_left = 605.0 +offset_top = 915.0 +offset_right = 845.0 +offset_bottom = 1029.0 +value_name0 = "t, °C" +value_name1 = "U, В" +value_name2 = "CAN" +name_min_size0 = Vector2i(35, 20) +name_min_size1 = Vector2i(35, 20) +name_min_size2 = Vector2i(35, 20) +fname = "Генератор" + +[node name="dsp" parent="." instance=ExtResource("5_mxmk0")] +layout_mode = 0 +offset_left = 315.0 +offset_top = 30.0 +offset_right = 600.0 +offset_bottom = 80.0 +fname = "Плата ЦОС" + +[node name="adc" parent="." instance=ExtResource("5_mxmk0")] +layout_mode = 0 +offset_left = 20.0 +offset_top = 30.0 +offset_right = 305.0 +offset_bottom = 80.0 +fname = "Плата АЦП" diff --git a/scenes/pribor-uf/pribor-uf.tscn b/scenes/pribor-uf/pribor-uf.tscn index 9158fae..b3296bb 100644 --- a/scenes/pribor-uf/pribor-uf.tscn +++ b/scenes/pribor-uf/pribor-uf.tscn @@ -1,11 +1,16 @@ -[gd_scene load_steps=3 format=3 uid="uid://dwxn2puh462nl"] +[gd_scene load_steps=4 format=3 uid="uid://dwxn2puh462nl"] +[ext_resource type="Script" path="res://scenes/контроль/прибор.gd" id="1_2qyst"] [ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="2_ho0da"] -[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/element_v.tscn" id="3_dp78y"] +[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="3_dp78y"] -[node name="pribor_UF" type="Node2D"] +[node name="pribor_uf" type="Control"] +layout_mode = 3 +anchors_preset = 0 +script = ExtResource("1_2qyst") [node name="ref_uf" type="NinePatchRect" parent="."] +layout_mode = 0 offset_left = 98.0 offset_top = 247.0 offset_right = 708.0 @@ -18,7 +23,7 @@ patch_margin_bottom = 16 [node name="ref_bu1" type="NinePatchRect" parent="ref_uf"] layout_mode = 0 -offset_left = 281.0 +offset_left = 282.0 offset_top = 138.0 offset_right = 591.0 offset_bottom = 468.0 @@ -30,22 +35,20 @@ patch_margin_bottom = 16 [node name="ref_A13" parent="ref_uf/ref_bu1" instance=ExtResource("3_dp78y")] offset_left = 7.0 -offset_top = 58.0 +offset_top = 60.0 offset_right = 59.0 offset_bottom = 322.0 -self_size = Vector2i(52, 264) +self_size = Vector2i(52, 262) fname = "MKEG/C" rname = "A13" -state = 1 [node name="ref_A" parent="ref_uf/ref_bu1" instance=ExtResource("3_dp78y")] offset_left = 59.0 -offset_top = 57.0 +offset_top = 60.0 offset_right = 302.0 offset_bottom = 322.0 -self_size = Vector2i(243, 265) +self_size = Vector2i(243, 262) fname = "ВК-110" -state = 1 [node name="А8" type="Label" parent="ref_uf/ref_bu1"] layout_mode = 0 @@ -65,10 +68,10 @@ text = "БУ-1" [node name="ref_kassetav13" type="NinePatchRect" parent="ref_uf"] layout_mode = 0 -offset_left = 8.0 -offset_top = 517.0 -offset_right = 597.0 -offset_bottom = 857.0 +offset_left = 12.0 +offset_top = 513.0 +offset_right = 601.0 +offset_bottom = 852.0 texture = ExtResource("2_ho0da") patch_margin_left = 16 patch_margin_top = 16 @@ -77,83 +80,75 @@ patch_margin_bottom = 16 [node name="ref_A18" parent="ref_uf/ref_kassetav13" instance=ExtResource("3_dp78y")] offset_left = 6.0 -offset_top = 64.0 +offset_top = 65.0 offset_right = 165.0 -offset_bottom = 328.0 -self_size = Vector2i(159, 264) +offset_bottom = 325.0 +self_size = Vector2i(159, 260) fname = "ESW-6U16TP" rname = "A18" -state = 1 [node name="ref_A7" parent="ref_uf/ref_kassetav13" instance=ExtResource("3_dp78y")] offset_left = 166.0 -offset_top = 63.0 +offset_top = 65.0 offset_right = 218.0 -offset_bottom = 327.0 -self_size = Vector2i(52, 264) +offset_bottom = 325.0 +self_size = Vector2i(52, 260) fname = "ЯУ-07Б" rname = "A7" -state = 1 [node name="ref_A2" parent="ref_uf/ref_kassetav13" instance=ExtResource("3_dp78y")] offset_left = 218.0 -offset_top = 63.0 +offset_top = 65.0 offset_right = 270.0 -offset_bottom = 327.0 -self_size = Vector2i(52, 264) +offset_bottom = 325.0 +self_size = Vector2i(52, 260) fname = "КЭМС-Б" rname = "A2" -state = 1 [node name="ref_A4" parent="ref_uf/ref_kassetav13" instance=ExtResource("3_dp78y")] offset_left = 269.0 -offset_top = 63.0 +offset_top = 65.0 offset_right = 321.0 -offset_bottom = 327.0 -self_size = Vector2i(52, 264) +offset_bottom = 325.0 +self_size = Vector2i(52, 260) fname = "КЭМС-Б1" rname = "A4" -state = 1 [node name="ref_A5" parent="ref_uf/ref_kassetav13" instance=ExtResource("3_dp78y")] offset_left = 322.0 -offset_top = 63.0 +offset_top = 65.0 offset_right = 374.0 -offset_bottom = 327.0 -self_size = Vector2i(52, 264) +offset_bottom = 325.0 +self_size = Vector2i(52, 260) fname = "ЭМС-Б" rname = "A5" -state = 1 [node name="ref_A6" parent="ref_uf/ref_kassetav13" instance=ExtResource("3_dp78y")] offset_left = 374.0 -offset_top = 63.0 +offset_top = 65.0 offset_right = 426.0 -offset_bottom = 327.0 -self_size = Vector2i(52, 264) +offset_bottom = 325.0 +self_size = Vector2i(52, 260) fname = "ЭМС-Б" rname = "A6" -state = 1 [node name="ref_A3" parent="ref_uf/ref_kassetav13" instance=ExtResource("3_dp78y")] offset_left = 427.0 -offset_top = 63.0 +offset_top = 65.0 offset_right = 532.0 -offset_bottom = 327.0 -self_size = Vector2i(105, 264) +offset_bottom = 325.0 +self_size = Vector2i(105, 260) fname = "ИП-220-5Б" rname = "A3" -state = 1 [node name="ref_A8" parent="ref_uf/ref_kassetav13" instance=ExtResource("3_dp78y")] offset_left = 531.0 -offset_top = 63.0 +offset_top = 65.0 offset_right = 582.0 -offset_bottom = 327.0 -self_size = Vector2i(51, 264) +offset_bottom = 325.0 +self_size = Vector2i(51, 260) fname = "ИП220-27Б" rname = "A12" -state = 1 [node name="А1" type="Label" parent="ref_uf/ref_kassetav13"] layout_mode = 0 @@ -172,10 +167,11 @@ offset_bottom = 35.0 text = "Кассета В-13" [node name="lbl_header" type="Label" parent="."] -offset_left = 9.0 -offset_top = 215.0 -offset_right = 864.0 -offset_bottom = 241.0 +layout_mode = 0 +offset_left = 105.0 +offset_top = 225.0 +offset_right = 704.0 +offset_bottom = 251.0 theme_override_font_sizes/font_size = 22 text = "Контроль исправности прибора УФ " diff --git a/scenes/pribor-uyep/pribor-uyep.tscn b/scenes/pribor-uyep/pribor-uyep.tscn index 4709aa7..18c747b 100644 --- a/scenes/pribor-uyep/pribor-uyep.tscn +++ b/scenes/pribor-uyep/pribor-uyep.tscn @@ -1,11 +1,16 @@ -[gd_scene load_steps=3 format=3 uid="uid://bs7h65e7bodp3"] +[gd_scene load_steps=4 format=3 uid="uid://bs7h65e7bodp3"] [ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="1_6olof"] -[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/element_v.tscn" id="2_cf6tc"] +[ext_resource type="Script" path="res://scenes/контроль/прибор.gd" id="1_b7gyx"] +[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="2_cf6tc"] -[node name="pribor_UF" type="Node2D"] +[node name="pribor_uyep" type="Control"] +layout_mode = 3 +anchors_preset = 0 +script = ExtResource("1_b7gyx") [node name="ref_G1" type="NinePatchRect" parent="."] +layout_mode = 0 offset_left = 98.0 offset_top = 184.0 offset_right = 756.0 @@ -19,34 +24,32 @@ patch_margin_bottom = 16 [node name="ref_A1" parent="." instance=ExtResource("2_cf6tc")] offset_left = 175.0 offset_top = 529.0 -offset_right = 332.0 +offset_right = 335.0 offset_bottom = 984.0 -self_size = Vector2i(157, 455) +self_size = Vector2i(160, 455) fname = "МАА150-1С27" rname = "A1" -state = 1 [node name="ref_A2" parent="." instance=ExtResource("2_cf6tc")] offset_left = 496.0 offset_top = 531.0 -offset_right = 631.0 +offset_right = 636.0 offset_bottom = 988.0 -self_size = Vector2i(135, 457) +self_size = Vector2i(140, 457) fname = "МАА150-1С27" rname = "A2" -state = 1 [node name="ref_A3" parent="." instance=ExtResource("2_cf6tc")] offset_left = 377.0 offset_top = 531.0 -offset_right = 468.0 +offset_right = 467.0 offset_bottom = 985.0 -self_size = Vector2i(91, 454) +self_size = Vector2i(90, 454) fname = "МАА150-1С27" rname = "A2" -state = 1 [node name="lbl_header" type="Label" parent="."] +layout_mode = 0 offset_left = 10.0 offset_top = 156.0 offset_right = 865.0 @@ -58,6 +61,7 @@ vertical_alignment = 1 [node name="Label" type="Label" parent="."] self_modulate = Color(0.835294, 0.141176, 0.286275, 1) +layout_mode = 0 offset_left = 244.0 offset_top = 1039.0 offset_right = 619.0 diff --git a/scenes/tabs-switch/tab-switch.gd b/scenes/tabs-switch/tab-switch.gd index c78202c..31a8f96 100644 --- a/scenes/tabs-switch/tab-switch.gd +++ b/scenes/tabs-switch/tab-switch.gd @@ -1,3 +1,12 @@ extends TabContainer -func _enter_tree() -> void: repnetwork.logger_page = $Журнал +const TAB_TOSIGNAL_NAME = {0: 'режим_работа', 1: 'режим_контроль', 2: 'режим_журнал', 3: 'режим_эмс', 4: 'режим_настройки'} + + +func _enter_tree() -> void: + repnetwork.logger_page = $Журнал + + +func _on_tab_changed(tab) -> void: + if TAB_TOSIGNAL_NAME.has(tab): + signaller.emit_signal(TAB_TOSIGNAL_NAME[tab]) diff --git a/scenes/tabs-switch/tab-switch.tscn b/scenes/tabs-switch/tab-switch.tscn index 2e15156..746e897 100644 --- a/scenes/tabs-switch/tab-switch.tscn +++ b/scenes/tabs-switch/tab-switch.tscn @@ -12,7 +12,7 @@ [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_o1r22"] -[node name="Panel" type="Panel"] +[node name="panel" type="Panel"] offset_right = 1600.0 offset_bottom = 1200.0 theme_override_styles/panel = SubResource("StyleBoxEmpty_fe3e1") @@ -57,3 +57,5 @@ theme_override_styles/normal = SubResource("StyleBoxFlat_o1r22") text = "Исправно" horizontal_alignment = 1 vertical_alignment = 1 + +[connection signal="tab_changed" from="tab_switch" to="tab_switch" method="_on_tab_changed"] diff --git a/scenes/журнал/журнал.gd b/scenes/журнал/журнал.gd index 32b79fd..340888f 100644 --- a/scenes/журнал/журнал.gd +++ b/scenes/журнал/журнал.gd @@ -6,6 +6,7 @@ func on_command_fail(unit, addr): log.message(Logger.ERROR, 'Ошибка: ко func on_threats_changed(th: Object, msg: String): log.message(Logger.INFO, '%s: %s' % [msg, th.to_string()]) func on_parse_error(unit, msg: String): log.message(Logger.ERROR, '%s: %s' % [unit.to_string(), msg]) func on_interfer_off(ecm, _ecms, _thrs,msg: String): log.message(Logger.INFO, '%s: %s' % [msg, ecm.to_string()]) +func on_set_program_mode(msg: String): log.message(Logger.INFO, msg) func on_interfer_new(ecm, msg: String): if ecm.krp != interfer.INTERFER_OFF: @@ -23,10 +24,17 @@ func _ready() -> void: log.info('Модуль журнала работы готов') log.info('Аргументы коммандной строки: \"%s\"' % OS.get_cmdline_args()) log.info('Операционная система: %s' % [OS.get_distribution_name()]) + log.info('Текущая версия ПО УАРЭП: %s' % commit.VCS_HEAD) threats.connect('threat_new', Callable(self, 'on_threats_changed').bind('Цель обнаружена')) threats.connect('threat_lost', Callable(self, 'on_threats_changed').bind('Цель потеряна')) signaller.connect('interfer_new', Callable(self, 'on_interfer_new').bind('Создан сеанс помехи')) signaller.connect('interfer_off', Callable(self, 'on_interfer_off').bind('Сеанс помехи отключен')) + signaller.connect('режим_работа', Callable(log, 'info').bind('Программа в режиме \"Работа\"')) + signaller.connect('режим_настройки', Callable(log, 'info').bind('Программа в режиме \"Настройки\"')) + signaller.connect('режим_эмс', Callable(log, 'info').bind('Программа в режиме \"ЭМС\"')) + signaller.connect('режим_журнал', Callable(log, 'info').bind('Программа в режиме \"Журнал\"')) + signaller.connect('режим_контроль', Callable(log, 'info').bind('Программа в режиме \"Контроль\"')) + func _on_clear_button_down() -> void: $content.clear() diff --git a/scenes/журнал/журнал.tscn b/scenes/журнал/журнал.tscn index a9d4ad4..6162561 100644 --- a/scenes/журнал/журнал.tscn +++ b/scenes/журнал/журнал.tscn @@ -27,6 +27,13 @@ threaded = true selection_enabled = true deselect_on_focus_loss_enabled = false script = ExtResource("2_wm8il") +colors = { +1: Color(1, 0.930333, 0.81, 1), +2: Color(0.717032, 0.762489, 0.694309, 1), +4: Color(1, 0.690196, 0, 1), +8: Color(0.91, 0, 0, 1), +16: Color(0.868077, 0.247988, 0.62812, 1) +} [node name="btn_save" type="Button" parent="."] layout_mode = 0 diff --git a/scenes/контроль/indicator_h.tscn b/scenes/контроль/indicator_h.tscn deleted file mode 100644 index 32c9631..0000000 --- a/scenes/контроль/indicator_h.tscn +++ /dev/null @@ -1,18 +0,0 @@ -[gd_scene load_steps=3 format=3 uid="uid://dyjtmfm4u58mu"] - -[ext_resource type="Texture2D" uid="uid://00871pb6moln" path="res://data/прогресс-фон-1.png" id="1_n4uxh"] -[ext_resource type="Texture2D" uid="uid://c1k856fxhrjnh" path="res://data/прогресс-заполнение-1.png" id="2_os1gp"] - -[node name="indicator_h" type="TextureProgressBar"] -offset_right = 100.0 -offset_bottom = 20.0 -value = 24.0 -nine_patch_stretch = true -stretch_margin_left = 8 -stretch_margin_top = 8 -stretch_margin_right = 8 -stretch_margin_bottom = 8 -texture_under = ExtResource("1_n4uxh") -texture_progress = ExtResource("2_os1gp") -tint_under = Color(0.65098, 0.65098, 0.65098, 0.862745) -tint_progress = Color(0.180392, 0.517647, 0.321569, 0.901961) diff --git a/scenes/контроль/um1535.tscn b/scenes/контроль/блок-а.tscn similarity index 54% rename from scenes/контроль/um1535.tscn rename to scenes/контроль/блок-а.tscn index cd25c0e..2e807ad 100644 --- a/scenes/контроль/um1535.tscn +++ b/scenes/контроль/блок-а.tscn @@ -4,7 +4,7 @@ [ext_resource type="Texture2D" uid="uid://dnreyfh3cd1k2" path="res://data/состояние-исправности-1.png" id="2_ad1dj"] [ext_resource type="Texture2D" uid="uid://c6booa8753u5t" path="res://data/состояние-исправности-2.png" id="3_vxg7f"] [ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="4_1bnn6"] -[ext_resource type="PackedScene" uid="uid://dyjtmfm4u58mu" path="res://scenes/контроль/indicator_h.tscn" id="5_3i5am"] +[ext_resource type="PackedScene" uid="uid://dyjtmfm4u58mu" path="res://scenes/контроль/уровень.tscn" id="5_3i5am"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_3nd2u"] @@ -17,29 +17,131 @@ extends PanelContainer @export var textures: Array +@export var value0: float: + set(v): + value0 = v + $margin/vbox/grid1/indicator0.value = v + get: + return value0 + + +@export var value1: float: + set(v): + value1 = v + $margin/vbox/grid1/indicator1.value = v + get: + return value1 + + +@export var min_value0: float: + set(v): + min_value0 = v + $margin/vbox/grid1/indicator0.min_value = v + get: + return min_value0 + + +@export var min_value1: float: + set(v): + min_value1 = v + $margin/vbox/grid1/indicator1.min_value = v + get: + return min_value1 + + +@export var max_value0: float: + set(v): + max_value0 = v + $margin/vbox/grid1/indicator0.max_value = v + get: + return max_value0 + + +@export var max_value1: float: + set(v): + max_value1 = v + $margin/vbox/grid1/indicator1.max_value = v + get: + return max_value1 + + +@export var step0: float: + set(v): + step0 = v + $margin/vbox/grid1/indicator0.step = v + get: + return step0 + + +@export var step1: float: + set(v): + step1 = v + $margin/vbox/grid1/indicator1.step = v + get: + return step1 + + +@export var value_name0: String: + set(v): + value_name0 = v + $margin/vbox/grid1/indicator0.value_name = v + get: + return value_name0 + + +@export var value_name1: String: + set(v): + value_name1 = v + $margin/vbox/grid1/indicator1.value_name = v + get: + return value_name1 + + +@export var name_min_size0: Vector2i: + set(v): + name_min_size0 = v + $margin/vbox/grid1/indicator0.name_min_size = v + get: + return name_min_size0 + + +@export var name_min_size1: Vector2i: + set(v): + name_min_size1 = v + $margin/vbox/grid1/indicator1.name_min_size = v + get: + return name_min_size1 + + @export var fname: String: set(v): fname = v - $margin/vbox/grid/fname.text = v - + $margin/vbox/grid0/fname.text = v + get: + return fname @export var rname: String: set(v): rname = v - $margin/vbox/grid/rname.text = v + $margin/vbox/grid0/rname.text = v + get: + return rname @export var state: int: set(v): - v = 0 if v < 0 else v - v %= textures.size() - state = v - $margin/vbox/grid/state.texture = textures[v] + state = 0 if v < 0 else v % textures.size() + $margin/vbox/grid0/state.texture = textures[state] + get: + return state @export var alignment: int: set(v): + alignment = v $margin/vbox.alignment = v + get: + return alignment " [sub_resource type="GDScript" id="GDScript_45hqb"] @@ -69,7 +171,7 @@ func _enter_tree() -> void: " -[node name="um1535" type="PanelContainer"] +[node name="blok_a" type="PanelContainer"] editor_description = "Элемент замены из ЗИП" offset_right = 160.0 offset_bottom = 88.0 @@ -101,11 +203,11 @@ margins = [8, 8, 8, 8] [node name="vbox" type="VBoxContainer" parent="margin"] layout_mode = 2 -[node name="grid" type="GridContainer" parent="margin/vbox"] +[node name="grid0" type="GridContainer" parent="margin/vbox"] layout_mode = 2 columns = 3 -[node name="state" type="TextureRect" parent="margin/vbox/grid"] +[node name="state" type="TextureRect" parent="margin/vbox/grid0"] custom_minimum_size = Vector2(24, 24) layout_mode = 2 size_flags_horizontal = 2 @@ -113,16 +215,17 @@ size_flags_vertical = 6 texture = ExtResource("1_xcvfs") expand_mode = 1 -[node name="fname" type="Label" parent="margin/vbox/grid"] +[node name="fname" type="Label" parent="margin/vbox/grid0"] self_modulate = Color(1, 1, 1, 0.627451) +custom_minimum_size = Vector2(0, 20) layout_mode = 2 size_flags_horizontal = 3 -size_flags_vertical = 6 +size_flags_vertical = 3 theme_override_font_sizes/font_size = 17 horizontal_alignment = 1 vertical_alignment = 1 -[node name="rname" type="Label" parent="margin/vbox/grid"] +[node name="rname" type="Label" parent="margin/vbox/grid0"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 6 @@ -130,27 +233,16 @@ theme_override_font_sizes/font_size = 22 horizontal_alignment = 2 vertical_alignment = 1 -[node name="GridContainer" type="GridContainer" parent="margin/vbox"] +[node name="grid1" type="GridContainer" parent="margin/vbox"] layout_mode = 2 size_flags_vertical = 6 -columns = 2 -[node name="Label" type="Label" parent="margin/vbox/GridContainer"] -self_modulate = Color(1, 1, 1, 0.63) -layout_mode = 2 -text = "℃" - -[node name="indicator_p" parent="margin/vbox/GridContainer" instance=ExtResource("5_3i5am")] +[node name="indicator0" parent="margin/vbox/grid1" instance=ExtResource("5_3i5am")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="Label2" type="Label" parent="margin/vbox/GridContainer"] -self_modulate = Color(1, 1, 1, 0.63) -layout_mode = 2 -text = " W" - -[node name="indicator_t" parent="margin/vbox/GridContainer" instance=ExtResource("5_3i5am")] +[node name="indicator1" parent="margin/vbox/grid1" instance=ExtResource("5_3i5am")] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 diff --git a/scenes/контроль/блок-б.tscn b/scenes/контроль/блок-б.tscn new file mode 100644 index 0000000..14be8bd --- /dev/null +++ b/scenes/контроль/блок-б.tscn @@ -0,0 +1,292 @@ +[gd_scene load_steps=9 format=3 uid="uid://7ps8s0jd2bdr"] + +[ext_resource type="Texture2D" uid="uid://c6nve6f8sfyj2" path="res://data/состояние-исправности-0.png" id="1_8cp2h"] +[ext_resource type="Texture2D" uid="uid://dnreyfh3cd1k2" path="res://data/состояние-исправности-1.png" id="2_o7rki"] +[ext_resource type="Texture2D" uid="uid://c6booa8753u5t" path="res://data/состояние-исправности-2.png" id="3_vg8j2"] +[ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="4_a8fg2"] +[ext_resource type="PackedScene" uid="uid://dyjtmfm4u58mu" path="res://scenes/контроль/уровень.tscn" id="5_526hg"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_3nd2u"] + +[sub_resource type="GDScript" id="GDScript_oj3k3"] +script/source = "@tool + +extends PanelContainer + + +@export var textures: Array + + +@export var value0: float: + set(v): + value0 = v + $margin/vbox/grid1/indicator0.value = v + get: + return value0 + + +@export var value1: float: + set(v): + value1 = v + $margin/vbox/grid1/indicator1.value = v + get: + return value1 + + +@export var value2: bool: + set(v): + value2 = v + $margin/vbox/grid2/lbl_value.text = 'подключен' if v else 'нет связи' + get: + return value2 + + +@export var min_value0: float: + set(v): + min_value0 = v + $margin/vbox/grid1/indicator0.min_value = v + get: + return min_value0 + + +@export var min_value1: float: + set(v): + min_value1 = v + $margin/vbox/grid1/indicator1.min_value = v + get: + return min_value1 + + +@export var max_value0: float: + set(v): + max_value0 = v + $margin/vbox/grid1/indicator0.max_value = v + get: + return max_value0 + + +@export var max_value1: float: + set(v): + max_value1 = v + $margin/vbox/grid1/indicator1.max_value = v + get: + return max_value1 + + +@export var step0: float: + set(v): + step0 = v + $margin/vbox/grid1/indicator0.step = v + get: + return step0 + + +@export var step1: float: + set(v): + step1 = v + $margin/vbox/grid1/indicator1.step = v + get: + return step1 + + +@export var value_name0: String: + set(v): + value_name0 = v + $margin/vbox/grid1/indicator0.value_name = v + get: + return value_name0 + + +@export var value_name1: String: + set(v): + value_name1 = v + $margin/vbox/grid1/indicator1.value_name = v + get: + return value_name1 + + +@export var value_name2: String: + set(v): + value_name2 = v + $margin/vbox/grid2/lbl_name.text = v + get: + return value_name2 + + +@export var name_min_size0: Vector2i: + set(v): + name_min_size0 = v + $margin/vbox/grid1/indicator0.name_min_size = v + get: + return name_min_size0 + + +@export var name_min_size1: Vector2i: + set(v): + name_min_size1 = v + $margin/vbox/grid1/indicator1.name_min_size = v + get: + return name_min_size1 + + +@export var name_min_size2: Vector2i: + set(v): + name_min_size2 = v + $margin/vbox/grid2/lbl_name.custom_minimum_size = v + get: + return name_min_size2 + + +@export var fname: String: + set(v): + fname = v + $margin/vbox/grid0/fname.text = v + get: + return fname + +@export var rname: String: + set(v): + rname = v + $margin/vbox/grid0/rname.text = v + get: + return rname + + +@export var state: int: + set(v): + v = 0 if v < 0 else v + v %= textures.size() + state = v + $margin/vbox/grid0/state.texture = textures[v] + get: + return state + + +@export var alignment: int: + set(v): + alignment = v + $margin/vbox.alignment = v + get: + return alignment +" + +[sub_resource type="GDScript" id="GDScript_45hqb"] +script/source = "@tool + +extends MarginContainer + + +func _enter_tree() -> void: + margins = [8, 8, 8, 8] + + +@export var margins: Array: + set(vals): + add_theme_constant_override('margin_top', vals[0]) + add_theme_constant_override('margin_left', vals[1]) + add_theme_constant_override('margin_bottom', vals[2]) + add_theme_constant_override('margin_right', vals[3]) + get: + var vals = [0, 0, 0, 0] + vals[0] = get_theme_constant('margin_top') + vals[1] = get_theme_constant('margin_left') + vals[2] = get_theme_constant('margin_bottom') + vals[3] = get_theme_constant('margin_right') + return vals + + +" + +[node name="blok_b" type="PanelContainer"] +editor_description = "Элемент замены из ЗИП" +offset_right = 160.0 +offset_bottom = 88.0 +theme_override_styles/panel = SubResource("StyleBoxEmpty_3nd2u") +script = SubResource("GDScript_oj3k3") +textures = [ExtResource("1_8cp2h"), ExtResource("2_o7rki"), ExtResource("3_vg8j2")] +metadata/ref_des = "" +metadata/dec_num = "" + +[node name="rect" type="NinePatchRect" parent="."] +layout_mode = 2 +texture = ExtResource("4_a8fg2") +draw_center = false +region_rect = Rect2(0, 0, 63, 63) +patch_margin_left = 17 +patch_margin_top = 17 +patch_margin_right = 17 +patch_margin_bottom = 15 + +[node name="margin" type="MarginContainer" parent="."] +layout_mode = 2 +theme_override_constants/margin_left = 8 +theme_override_constants/margin_top = 8 +theme_override_constants/margin_right = 8 +theme_override_constants/margin_bottom = 8 +script = SubResource("GDScript_45hqb") +margins = [8, 8, 8, 8] + +[node name="vbox" type="VBoxContainer" parent="margin"] +layout_mode = 2 + +[node name="grid0" type="GridContainer" parent="margin/vbox"] +layout_mode = 2 +columns = 3 + +[node name="state" type="TextureRect" parent="margin/vbox/grid0"] +custom_minimum_size = Vector2(24, 24) +layout_mode = 2 +size_flags_horizontal = 2 +size_flags_vertical = 6 +texture = ExtResource("1_8cp2h") +expand_mode = 1 + +[node name="fname" type="Label" parent="margin/vbox/grid0"] +self_modulate = Color(1, 1, 1, 0.627451) +custom_minimum_size = Vector2(0, 20) +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_font_sizes/font_size = 17 +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="rname" type="Label" parent="margin/vbox/grid0"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 6 +theme_override_font_sizes/font_size = 22 +horizontal_alignment = 2 +vertical_alignment = 1 + +[node name="grid1" type="GridContainer" parent="margin/vbox"] +layout_mode = 2 +size_flags_vertical = 6 + +[node name="indicator0" parent="margin/vbox/grid1" instance=ExtResource("5_526hg")] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="indicator1" parent="margin/vbox/grid1" instance=ExtResource("5_526hg")] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="grid2" type="GridContainer" parent="margin/vbox"] +layout_mode = 2 +columns = 2 + +[node name="lbl_name" type="Label" parent="margin/vbox/grid2"] +custom_minimum_size = Vector2(30, 20) +layout_mode = 2 +size_flags_vertical = 6 +horizontal_alignment = 1 + +[node name="lbl_value" type="Label" parent="margin/vbox/grid2"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 6 +theme_override_colors/font_color = Color(0.890196, 0.486275, 0.196078, 1) +text = "нет связи" +vertical_alignment = 1 diff --git a/scenes/pribor-prd-k/kasseta-p-1.tscn b/scenes/контроль/кассета-п-1.tscn similarity index 91% rename from scenes/pribor-prd-k/kasseta-p-1.tscn rename to scenes/контроль/кассета-п-1.tscn index d3ed7e9..3a1ad51 100644 --- a/scenes/pribor-prd-k/kasseta-p-1.tscn +++ b/scenes/контроль/кассета-п-1.tscn @@ -1,8 +1,8 @@ -[gd_scene load_steps=4 format=3 uid="uid://cg2ecoyms7xy2"] +[gd_scene load_steps=4 format=3 uid="uid://dbxdb7lo7kofv"] [ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="1_sbi2k"] [ext_resource type="Script" path="res://scenes/контроль/кассета.gd" id="2_7ydqi"] -[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/element_v.tscn" id="3_gg14a"] +[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="3_gg14a"] [node name="kasseta_p_1" type="NinePatchRect"] offset_right = 165.0 diff --git a/scenes/pribor-prd-k/kasseta-p-2.tscn b/scenes/контроль/кассета-п-2.tscn similarity index 94% rename from scenes/pribor-prd-k/kasseta-p-2.tscn rename to scenes/контроль/кассета-п-2.tscn index 3fd5759..b0ff758 100644 --- a/scenes/pribor-prd-k/kasseta-p-2.tscn +++ b/scenes/контроль/кассета-п-2.tscn @@ -2,7 +2,7 @@ [ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="1_jghyg"] [ext_resource type="Script" path="res://scenes/контроль/кассета.gd" id="2_mdnod"] -[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/element_v.tscn" id="3_4a27g"] +[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="3_4a27g"] [node name="kasseta_p_2" type="NinePatchRect"] offset_right = 120.0 diff --git a/scenes/pribor-prd-k/kasseta-u-5.tscn b/scenes/контроль/кассета-у-5.tscn similarity index 93% rename from scenes/pribor-prd-k/kasseta-u-5.tscn rename to scenes/контроль/кассета-у-5.tscn index 331b107..61cab59 100644 --- a/scenes/pribor-prd-k/kasseta-u-5.tscn +++ b/scenes/контроль/кассета-у-5.tscn @@ -1,8 +1,8 @@ -[gd_scene load_steps=4 format=3 uid="uid://3yi2fc54tkei"] +[gd_scene load_steps=4 format=3 uid="uid://bk1655p4e8y4u"] [ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="1_bnifj"] [ext_resource type="Script" path="res://scenes/контроль/кассета.gd" id="2_6hp1m"] -[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/element_v.tscn" id="3_picsk"] +[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="3_picsk"] [node name="kasseta_u5" type="NinePatchRect"] offset_right = 310.0 diff --git a/scenes/контроль/кнопка-прибора.gd b/scenes/контроль/кнопка-прибора.gd new file mode 100644 index 0000000..5485f44 --- /dev/null +++ b/scenes/контроль/кнопка-прибора.gd @@ -0,0 +1,15 @@ +@tool + +extends Node + +@export var textures: Array + +func _on_toggled(toggled_on): $frame.visible = toggled_on + +@export var state: int: + set(v): + v = 0 if v < 0 else v % textures.size() + state = v + $state.texture = textures[v] + get: + return state diff --git a/scenes/контроль/контроль.gd b/scenes/контроль/контроль.gd index 43f8c3e..562cb76 100644 --- a/scenes/контроль/контроль.gd +++ b/scenes/контроль/контроль.gd @@ -6,32 +6,34 @@ extends Panel const PRIBORS_RES = \ { - 'pribor_afsp_l': ['res://scenes/pribor-afsp-l/pribor-afsp.tscn', 'Контроль исправности прибора АФСП левый'], - 'pribor_afsp_r': ['res://scenes/pribor-afsp-r/pribor-afsp.tscn', 'Контроль исправности прибора АФСП правый'], - 'pribor_prd_k_1': ['res://scenes/pribor-prd-k/pribor-prd-k.tscn', 'Контроль исправности прибора ПРД-К 1'], - 'pribor_prd_k_2': ['res://scenes/pribor-prd-k/pribor-prd-k.tscn', 'Контроль исправности прибора ПРД-К 2'], - 'pribor_prd_k_3': ['res://scenes/pribor-prd-k/pribor-prd-k.tscn', 'Контроль исправности прибора ПРД-К 3'], - 'pribor_prd_k_4': ['res://scenes/pribor-prd-k/pribor-prd-k.tscn', 'Контроль исправности прибора ПРД-К 4'], - 'pribor_prd_n_1': ['res://scenes/pribor-prd-n/pribor-prd-n.tscn', 'Контроль исправности прибора ПРД-Н 1'], - 'pribor_prd_n_2': ['res://scenes/pribor-prd-n/pribor-prd-n.tscn', 'Контроль исправности прибора ПРД-Н 2'], - 'pribor_prd_n_3': ['res://scenes/pribor-prd-n/pribor-prd-n.tscn', 'Контроль исправности прибора ПРД-Н 3'], - 'pribor_prd_n_4': ['res://scenes/pribor-prd-n/pribor-prd-n.tscn', 'Контроль исправности прибора ПРД-Н 4'], - 'pribor_prd_v_1': ['res://scenes/pribor-prd-v-1/pribor-prd-v-1.tscn', 'Контроль исправности прибора ПРД-В 1'], - 'pribor_prd_v_2': ['res://scenes/pribor-prd-v-2/pribor-prd-v-2.tscn', 'Контроль исправности прибора ПРД-В 2'], - 'pribor_prd_v_3': ['res://scenes/pribor-prd-v-3/pribor-prd-v-3.tscn', 'Контроль исправности прибора ПРД-В 3'], - 'pribor_prd_v_4': ['res://scenes/pribor-prd-v-4/pribor-prd-v-4.tscn', 'Контроль исправности прибора ПРД-В 4'], - 'pribor_rtr': ['res://scenes/pribor-rtr/pribor-rtr.tscn', 'Контроль исправности прибора РТР'], - 'pribor_uf': ['res://scenes/pribor-uf/pribor-uf.tscn', 'Контроль исправности прибора УФ'], - 'pribor_uyep': ['res://scenes/pribor-uyep/pribor-uyep.tscn', 'Контроль исправности прибора УЭП'], + 'pribor_afsp_l': ['res://scenes/pribor-afsp/pribor-afsp.tscn', 'Контроль исправности прибора АФСП левый'], + 'pribor_afsp_r': ['res://scenes/pribor-afsp/pribor-afsp.tscn', 'Контроль исправности прибора АФСП правый'], + 'pribor_prd_k_1': ['res://scenes/pribor-prd-k/pribor-prd-k.tscn', 'Контроль исправности прибора ПРД-К 1'], + 'pribor_prd_k_2': ['res://scenes/pribor-prd-k/pribor-prd-k.tscn', 'Контроль исправности прибора ПРД-К 2'], + 'pribor_prd_k_3': ['res://scenes/pribor-prd-k/pribor-prd-k.tscn', 'Контроль исправности прибора ПРД-К 3'], + 'pribor_prd_k_4': ['res://scenes/pribor-prd-k/pribor-prd-k.tscn', 'Контроль исправности прибора ПРД-К 4'], + 'pribor_prd_n_1': ['res://scenes/pribor-prd-n/pribor-prd-n.tscn', 'Контроль исправности прибора ПРД-Н 1'], + 'pribor_prd_n_2': ['res://scenes/pribor-prd-n/pribor-prd-n.tscn', 'Контроль исправности прибора ПРД-Н 2'], + 'pribor_prd_n_3': ['res://scenes/pribor-prd-n/pribor-prd-n.tscn', 'Контроль исправности прибора ПРД-Н 3'], + 'pribor_prd_n_4': ['res://scenes/pribor-prd-n/pribor-prd-n.tscn', 'Контроль исправности прибора ПРД-Н 4'], + 'pribor_prd_v_1': ['res://scenes/pribor-prd-v/pribor-prd-v.tscn', 'Контроль исправности прибора ПРД-В 1'], + 'pribor_prd_v_2': ['res://scenes/pribor-prd-v/pribor-prd-v.tscn', 'Контроль исправности прибора ПРД-В 2'], + 'pribor_prd_v_3': ['res://scenes/pribor-prd-v/pribor-prd-v.tscn', 'Контроль исправности прибора ПРД-В 3'], + 'pribor_prd_v_4': ['res://scenes/pribor-prd-v/pribor-prd-v.tscn', 'Контроль исправности прибора ПРД-В 4'], + 'pribor_rtr': ['res://scenes/pribor-rtr/pribor-rtr.tscn', 'Контроль исправности прибора РТР'], + 'pribor_uf': ['res://scenes/pribor-uf/pribor-uf.tscn', 'Контроль исправности прибора УФ'], + 'pribor_uyep': ['res://scenes/pribor-uyep/pribor-uyep.tscn', 'Контроль исправности прибора УЭП'], } func _ready(): + var group = ButtonGroup.new() for k in PRIBORS_RES: var pribor_node = get_node(k) assert(pribor_node) var pribor_path = PRIBORS_RES[k][0] var header_text = PRIBORS_RES[k][1] + pribor_node.set_button_group(group) pribor_node.connect('button_down', Callable(self, 'on_pribor_press').bind(pribor_path, header_text)) log.info('Модуль контроля работы готов') diff --git a/scenes/контроль/контроль.tscn b/scenes/контроль/контроль.tscn index ef2ac0f..040dff4 100644 --- a/scenes/контроль/контроль.tscn +++ b/scenes/контроль/контроль.tscn @@ -1,9 +1,11 @@ -[gd_scene load_steps=10 format=3 uid="uid://lwmw4egynmd1"] +[gd_scene load_steps=12 format=3 uid="uid://lwmw4egynmd1"] [ext_resource type="Script" path="res://scenes/контроль/контроль.gd" id="1_x5d6w"] [ext_resource type="Texture2D" uid="uid://bar8k5qef7kch" path="res://data/УФ.png" id="2_0nvm1"] +[ext_resource type="Script" path="res://scenes/контроль/кнопка-прибора.gd" id="3_4pt7j"] [ext_resource type="Texture2D" uid="uid://dkqlvd750pplc" path="res://data/СПТ.png" id="3_hhadv"] [ext_resource type="Texture2D" uid="uid://b4isaggma6q3" path="res://data/Грани22.png" id="4_l0nc7"] +[ext_resource type="Texture2D" uid="uid://b0o8jhb5jbrev" path="res://data/рамка-1.png" id="4_rasbe"] [ext_resource type="Texture2D" uid="uid://d2jxmtd6n5jd1" path="res://data/Щ3.png" id="5_kvnex"] [ext_resource type="Texture2D" uid="uid://bos68thpqqvn" path="res://data/ПРД.png" id="6_i1yfn"] [ext_resource type="Texture2D" uid="uid://c6nve6f8sfyj2" path="res://data/состояние-исправности-0.png" id="7_6j01w"] @@ -21,33 +23,67 @@ metadata/_edit_lock_ = true [node name="pribor_uf" type="TextureButton" parent="."] layout_mode = 0 -offset_left = 1206.0 -offset_top = 502.0 -offset_right = 1287.0 -offset_bottom = 682.0 +offset_left = 1194.0 +offset_top = 500.0 +offset_right = 1305.0 +offset_bottom = 685.0 size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("2_0nvm1") +stretch_mode = 0 +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_uf"] layout_mode = 0 -offset_left = 3.0 -offset_top = -19.0 -offset_right = 79.0 +offset_left = 15.0 +offset_top = -15.0 +offset_right = 91.0 +offset_bottom = 4.0 text = "УФ" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_uf"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -14.0 +offset_top = -30.0 +offset_right = 126.0 +offset_bottom = 200.0 +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_uf"] +layout_mode = 0 +offset_left = 16.0 +offset_top = -15.0 +offset_right = 240.0 +offset_bottom = 209.0 +scale = Vector2(0.1, 0.1) +texture = ExtResource("7_6j01w") + [node name="pribor_rtr" type="TextureButton" parent="."] layout_mode = 0 offset_left = 1197.0 -offset_top = 298.0 -offset_right = 1290.0 -offset_bottom = 454.0 +offset_top = 289.0 +offset_right = 1300.0 +offset_bottom = 445.0 size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("3_hhadv") -stretch_mode = 4 +stretch_mode = 0 +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_rtr"] layout_mode = 0 @@ -58,17 +94,45 @@ text = "РТР" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_rtr"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -17.0 +offset_top = -29.0 +offset_right = 123.0 +offset_bottom = 171.0 +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_rtr"] +layout_mode = 0 +offset_left = 13.0 +offset_top = -24.0 +offset_right = 237.0 +offset_bottom = 200.0 +scale = Vector2(0.1, 0.1) +texture = ExtResource("7_6j01w") + [node name="pribor_afsp_l" type="TextureButton" parent="."] layout_mode = 0 -offset_left = 1020.0 -offset_top = 300.0 -offset_right = 1853.0 -offset_bottom = 940.0 +offset_left = 996.0 +offset_top = 301.0 +offset_right = 1829.0 +offset_bottom = 941.0 scale = Vector2(0.2, 0.2) size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("4_l0nc7") stretch_mode = 4 +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_afsp_l"] layout_mode = 0 @@ -81,17 +145,46 @@ text = "АФСП левый борт" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_afsp_l"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -80.0003 +offset_top = -130.0 +offset_right = 110.0 +offset_bottom = 34.9998 +scale = Vector2(5, 5) +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_afsp_l"] +layout_mode = 0 +offset_left = 45.0001 +offset_top = -105.0 +offset_right = 269.0 +offset_bottom = 119.0 +scale = Vector2(0.5, 0.5) +texture = ExtResource("7_6j01w") + [node name="pribor_afsp_r" type="TextureButton" parent="."] layout_mode = 0 -offset_left = 1305.0 -offset_top = 300.0 -offset_right = 2138.0 -offset_bottom = 940.0 +offset_left = 1342.0 +offset_top = 301.0 +offset_right = 2175.0 +offset_bottom = 941.0 scale = Vector2(0.2, 0.2) size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("4_l0nc7") stretch_mode = 4 +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_afsp_r"] layout_mode = 0 @@ -104,17 +197,45 @@ text = "АФСП правый борт" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_afsp_r"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -60.0 +offset_top = -130.0 +offset_right = 130.0 +offset_bottom = 35.0 +scale = Vector2(5, 5) +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_afsp_r"] +layout_mode = 0 +offset_left = 5.00006 +offset_top = -105.0 +offset_right = 229.0 +offset_bottom = 119.0 +scale = Vector2(0.5, 0.5) +texture = ExtResource("7_6j01w") + [node name="pribor_uyep" type="TextureButton" parent="."] layout_mode = 0 offset_left = 1194.0 offset_top = 739.0 -offset_right = 1287.0 +offset_right = 1288.0 offset_bottom = 925.0 -scale = Vector2(1.07179, 0.98464) size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("5_kvnex") -stretch_mode = 4 +stretch_mode = 0 +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_uyep"] layout_mode = 0 @@ -126,16 +247,44 @@ text = "УЭП" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_uyep"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -13.0 +offset_top = -29.0 +offset_right = 117.0 +offset_bottom = 199.0 +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_uyep"] +layout_mode = 0 +offset_left = 10.0 +offset_top = -24.0 +offset_right = 234.0 +offset_bottom = 200.0 +scale = Vector2(0.1, 0.1) +texture = ExtResource("7_6j01w") + [node name="pribor_prd_v_2" type="TextureButton" parent="."] layout_mode = 0 -offset_left = 931.0 -offset_top = 319.0 -offset_right = 1008.0 -offset_bottom = 435.0 +offset_left = 960.0 +offset_top = 480.0 +offset_right = 1037.0 +offset_bottom = 596.0 size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_prd_v_2"] layout_mode = 0 @@ -146,36 +295,94 @@ text = "ПРД В2" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_prd_v_2"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -10.0 +offset_top = -30.0 +offset_right = 95.0 +offset_bottom = 120.0 +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_prd_v_2"] +layout_mode = 0 +offset_left = -20.0 +offset_top = -21.0 +offset_right = 204.0 +offset_bottom = 203.0 +scale = Vector2(0.1, 0.1) +texture = ExtResource("7_6j01w") + [node name="pribor_prd_n_2" type="TextureButton" parent="."] layout_mode = 0 -offset_left = 931.0 -offset_top = 479.0 -offset_right = 1008.0 -offset_bottom = 595.0 +offset_left = 960.0 +offset_top = 635.0 +offset_right = 1037.0 +offset_bottom = 751.0 size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_prd_n_2"] layout_mode = 0 offset_left = 13.0 offset_top = -19.0 offset_right = 65.0 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 0 text = "ПРД Н2" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_prd_n_2"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -10.0 +offset_top = -25.0 +offset_right = 95.0 +offset_bottom = 125.0 +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_prd_n_2"] +layout_mode = 0 +offset_left = -15.0 +offset_top = -20.0 +offset_right = 209.0 +offset_bottom = 204.0 +scale = Vector2(0.1, 0.1) +texture = ExtResource("7_6j01w") + [node name="pribor_prd_k_2" type="TextureButton" parent="."] layout_mode = 0 -offset_left = 1057.0 +offset_left = 1077.0 offset_top = 479.0 -offset_right = 1134.0 +offset_right = 1154.0 offset_bottom = 595.0 size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_prd_k_2"] layout_mode = 0 @@ -186,17 +393,45 @@ text = "ПРД К2" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_prd_k_2"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -12.0 +offset_top = -29.0 +offset_right = 93.0 +offset_bottom = 121.0 +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_prd_k_2"] +layout_mode = 0 +offset_left = -6.99999 +offset_top = -20.0 +offset_right = 217.0 +offset_bottom = 204.0 +scale = Vector2(0.1, 0.1) +texture = ExtResource("7_6j01w") + [node name="pribor_prd_v_3" type="TextureButton" parent="."] layout_mode = 0 -offset_left = 1364.0 +offset_left = 1344.0 offset_top = 797.0 -offset_right = 1441.0 +offset_right = 1421.0 offset_bottom = 913.0 size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 flip_h = true +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_prd_v_3"] layout_mode = 0 @@ -208,17 +443,45 @@ text = "ПРД В3" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_prd_v_3"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -14.0 +offset_top = -27.0 +offset_right = 91.0 +offset_bottom = 123.0 +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_prd_v_3"] +layout_mode = 0 +offset_left = -8.99999 +offset_top = -22.0 +offset_right = 215.0 +offset_bottom = 202.0 +scale = Vector2(0.1, 0.1) +texture = ExtResource("7_6j01w") + [node name="pribor_prd_n_3" type="TextureButton" parent="."] layout_mode = 0 -offset_left = 1486.0 -offset_top = 637.0 -offset_right = 1563.0 -offset_bottom = 753.0 +offset_left = 1458.0 +offset_top = 798.0 +offset_right = 1535.0 +offset_bottom = 914.0 size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 flip_h = true +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_prd_n_3"] layout_mode = 0 @@ -229,39 +492,95 @@ text = "ПРД Н3" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_prd_n_3"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -13.0 +offset_top = -28.0 +offset_right = 92.0 +offset_bottom = 122.0 +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_prd_n_3"] +layout_mode = 0 +offset_left = -13.0 +offset_top = -21.0 +offset_right = 211.0 +offset_bottom = 203.0 +scale = Vector2(0.1, 0.1) +texture = ExtResource("7_6j01w") + [node name="pribor_prd_k_3" type="TextureButton" parent="."] layout_mode = 0 -offset_left = 1363.0 -offset_top = 637.0 -offset_right = 1440.0 -offset_bottom = 753.0 +offset_left = 1343.0 +offset_top = 635.0 +offset_right = 1420.0 +offset_bottom = 751.0 size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 flip_h = true +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_prd_k_3"] layout_mode = 0 offset_left = 13.0 -offset_top = -20.0 +offset_top = -18.0 offset_right = 65.0 -offset_bottom = -1.0 +offset_bottom = 1.0 text = "ПРД К3" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_prd_k_3"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -13.0 +offset_top = -25.0 +offset_right = 92.0 +offset_bottom = 125.0 +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_prd_k_3"] +layout_mode = 0 +offset_left = -13.0 +offset_top = -20.0 +offset_right = 211.0 +offset_bottom = 204.0 +scale = Vector2(0.1, 0.1) +texture = ExtResource("7_6j01w") + [node name="pribor_prd_v_1" type="TextureButton" parent="."] layout_mode = 0 -offset_left = 1485.0 -offset_top = 319.0 -offset_right = 1562.0 -offset_bottom = 435.0 +offset_left = 1457.0 +offset_top = 480.0 +offset_right = 1534.0 +offset_bottom = 596.0 size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 flip_h = true +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_prd_v_1"] layout_mode = 0 @@ -272,17 +591,45 @@ text = "ПРД В1" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_prd_v_1"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -12.0 +offset_top = -30.0 +offset_right = 93.0 +offset_bottom = 120.0 +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_prd_v_1"] +layout_mode = 0 +offset_left = -17.0 +offset_top = -19.0 +offset_right = 207.0 +offset_bottom = 205.0 +scale = Vector2(0.1, 0.1) +texture = ExtResource("7_6j01w") + [node name="pribor_prd_n_1" type="TextureButton" parent="."] layout_mode = 0 -offset_left = 1483.0 -offset_top = 478.0 -offset_right = 1560.0 -offset_bottom = 594.0 +offset_left = 1455.0 +offset_top = 634.0 +offset_right = 1532.0 +offset_bottom = 750.0 size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 flip_h = true +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_prd_n_1"] layout_mode = 0 @@ -293,17 +640,45 @@ text = "ПРД Н1" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_prd_n_1"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -10.0 +offset_top = -24.0 +offset_right = 95.0 +offset_bottom = 126.0 +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_prd_n_1"] +layout_mode = 0 +offset_left = -9.99999 +offset_top = -19.0 +offset_right = 214.0 +offset_bottom = 205.0 +scale = Vector2(0.1, 0.1) +texture = ExtResource("7_6j01w") + [node name="pribor_prd_k_1" type="TextureButton" parent="."] layout_mode = 0 -offset_left = 1357.0 +offset_left = 1344.0 offset_top = 478.0 -offset_right = 1434.0 +offset_right = 1421.0 offset_bottom = 594.0 size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 flip_h = true +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_prd_k_1"] layout_mode = 0 @@ -314,16 +689,44 @@ text = "ПРД К1" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_prd_k_1"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -14.0 +offset_top = -28.0 +offset_right = 91.0 +offset_bottom = 122.0 +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_prd_k_1"] +layout_mode = 0 +offset_left = -14.0 +offset_top = -19.0 +offset_right = 210.0 +offset_bottom = 205.0 +scale = Vector2(0.1, 0.1) +texture = ExtResource("7_6j01w") + [node name="pribor_prd_v_4" type="TextureButton" parent="."] layout_mode = 0 -offset_left = 1057.0 +offset_left = 1077.0 offset_top = 796.0 -offset_right = 1134.0 +offset_right = 1154.0 offset_bottom = 912.0 size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_prd_v_4"] layout_mode = 0 @@ -335,16 +738,44 @@ text = "ПРД В4" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_prd_v_4"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -12.0 +offset_top = -26.0 +offset_right = 93.0 +offset_bottom = 124.0 +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_prd_v_4"] +layout_mode = 0 +offset_left = -12.0 +offset_top = -21.0 +offset_right = 212.0 +offset_bottom = 203.0 +scale = Vector2(0.1, 0.1) +texture = ExtResource("7_6j01w") + [node name="pribor_prd_n_4" type="TextureButton" parent="."] layout_mode = 0 -offset_left = 932.0 -offset_top = 633.0 -offset_right = 1009.0 -offset_bottom = 749.0 +offset_left = 961.0 +offset_top = 794.0 +offset_right = 1038.0 +offset_bottom = 910.0 size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_prd_n_4"] layout_mode = 0 @@ -355,26 +786,78 @@ text = "ПРД Н4" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_prd_n_4"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -11.0 +offset_top = -24.0 +offset_right = 94.0 +offset_bottom = 126.0 +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_prd_n_4"] +layout_mode = 0 +offset_left = -11.0 +offset_top = -19.0 +offset_right = 213.0 +offset_bottom = 205.0 +scale = Vector2(0.1, 0.1) +texture = ExtResource("7_6j01w") + [node name="pribor_prd_k_4" type="TextureButton" parent="."] layout_mode = 0 -offset_left = 1057.0 -offset_top = 634.0 -offset_right = 1134.0 -offset_bottom = 750.0 +offset_left = 1077.0 +offset_top = 635.0 +offset_right = 1154.0 +offset_bottom = 751.0 size_flags_horizontal = 15 size_flags_vertical = 15 +toggle_mode = true +action_mode = 0 texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 +script = ExtResource("3_4pt7j") +textures = [ExtResource("7_6j01w"), ExtResource("8_isjua"), ExtResource("9_ll0vs")] [node name="label" type="Label" parent="pribor_prd_k_4"] layout_mode = 0 -offset_left = 12.0 +offset_left = 13.0 offset_top = -19.0 -offset_right = 64.0 +offset_right = 65.0 text = "ПРД К4" horizontal_alignment = 1 vertical_alignment = 1 +[node name="frame" type="NinePatchRect" parent="pribor_prd_k_4"] +visible = false +self_modulate = Color(0.890196, 0.486275, 0.196078, 1) +layout_mode = 0 +offset_left = -12.0 +offset_top = -25.0 +offset_right = 93.0 +offset_bottom = 125.0 +texture = ExtResource("4_rasbe") +region_rect = Rect2(-3, -3, 89, 89) +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="state" type="TextureRect" parent="pribor_prd_k_4"] +layout_mode = 0 +offset_left = -6.99999 +offset_top = -20.0 +offset_right = 217.0 +offset_bottom = 204.0 +scale = Vector2(0.1, 0.1) +texture = ExtResource("7_6j01w") + [node name="mnemo_container" type="Panel" parent="."] layout_mode = 0 @@ -434,3 +917,21 @@ offset_right = 1505.0 offset_bottom = 981.0 theme_override_font_sizes/font_size = 17 text = "Сбой" + +[connection signal="toggled" from="pribor_uf" to="pribor_uf" method="_on_toggled"] +[connection signal="toggled" from="pribor_rtr" to="pribor_rtr" method="_on_toggled"] +[connection signal="toggled" from="pribor_afsp_l" to="pribor_afsp_l" method="_on_toggled"] +[connection signal="toggled" from="pribor_afsp_r" to="pribor_afsp_r" method="_on_toggled"] +[connection signal="toggled" from="pribor_uyep" to="pribor_uyep" method="_on_toggled"] +[connection signal="toggled" from="pribor_prd_v_2" to="pribor_prd_v_2" method="_on_toggled"] +[connection signal="toggled" from="pribor_prd_n_2" to="pribor_prd_n_2" method="_on_toggled"] +[connection signal="toggled" from="pribor_prd_k_2" to="pribor_prd_k_2" method="_on_toggled"] +[connection signal="toggled" from="pribor_prd_v_3" to="pribor_prd_v_3" method="_on_toggled"] +[connection signal="toggled" from="pribor_prd_n_3" to="pribor_prd_n_3" method="_on_toggled"] +[connection signal="toggled" from="pribor_prd_k_3" to="pribor_prd_k_3" method="_on_toggled"] +[connection signal="toggled" from="pribor_prd_v_1" to="pribor_prd_v_1" method="_on_toggled"] +[connection signal="toggled" from="pribor_prd_n_1" to="pribor_prd_n_1" method="_on_toggled"] +[connection signal="toggled" from="pribor_prd_k_1" to="pribor_prd_k_1" method="_on_toggled"] +[connection signal="toggled" from="pribor_prd_v_4" to="pribor_prd_v_4" method="_on_toggled"] +[connection signal="toggled" from="pribor_prd_n_4" to="pribor_prd_n_4" method="_on_toggled"] +[connection signal="toggled" from="pribor_prd_k_4" to="pribor_prd_k_4" method="_on_toggled"] diff --git a/scenes/контроль/прибор.gd b/scenes/контроль/прибор.gd index 481541e..0909975 100644 --- a/scenes/контроль/прибор.gd +++ b/scenes/контроль/прибор.gd @@ -9,13 +9,19 @@ extends Control @export var fname: String: set(v): fname = v - + get: + return fname @export var rname: String: set(v): rname = v + get: + return rname func set_header_text(header_text: String): $lbl_header.text = header_text + +@export var nodes_mask: String = '' + diff --git a/scenes/контроль/уровень.tscn b/scenes/контроль/уровень.tscn new file mode 100644 index 0000000..1f2754d --- /dev/null +++ b/scenes/контроль/уровень.tscn @@ -0,0 +1,96 @@ +[gd_scene load_steps=5 format=3 uid="uid://dyjtmfm4u58mu"] + +[ext_resource type="Texture2D" uid="uid://00871pb6moln" path="res://data/прогресс-фон-1.png" id="1_n4uxh"] +[ext_resource type="Texture2D" uid="uid://c1k856fxhrjnh" path="res://data/прогресс-заполнение-1.png" id="2_os1gp"] +[ext_resource type="FontFile" uid="uid://befva8r034a4v" path="res://data/DSEG7Classic-Regular.ttf" id="3_px0hn"] + +[sub_resource type="GDScript" id="GDScript_eyk47"] +script/source = "@tool + +extends GridContainer + +@export var min_value: float: + set(v): + min_value = v + $indicator_h.min_value = v + get: + return min_value + + +@export var max_value: float: + set(v): + max_value = v + $indicator_h.max_value = v + get: + return max_value + + +@export var step: float: + set(v): + step = v + $indicator_h.step = v + get: + return step + + +@export var value: float: + set(v): + value = v + $indicator_h.value = v + $lbl_val.text = '%02d' % int(v) + get: + return value + + +@export var value_name: String: + set(v): + value_name = v + $lbl_name.text = v + get: + return value_name + + +@export var name_min_size: Vector2i: + set(v): + name_min_size = v + var l = $lbl_name + $lbl_name.custom_minimum_size = v + get: + return name_min_size +" + +[node name="grid" type="GridContainer"] +offset_right = 95.0 +offset_bottom = 19.0 +columns = 3 +script = SubResource("GDScript_eyk47") + +[node name="lbl_name" type="Label" parent="."] +custom_minimum_size = Vector2(30, 20) +layout_mode = 2 +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="indicator_h" type="TextureProgressBar" parent="."] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +value = 50.0 +nine_patch_stretch = true +stretch_margin_left = 8 +stretch_margin_top = 8 +stretch_margin_right = 8 +stretch_margin_bottom = 8 +texture_under = ExtResource("1_n4uxh") +texture_progress = ExtResource("2_os1gp") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + +[node name="lbl_val" type="Label" parent="."] +layout_mode = 2 +size_flags_vertical = 3 +theme_override_colors/font_color = Color(0.890196, 0.486275, 0.196078, 1) +theme_override_fonts/font = ExtResource("3_px0hn") +text = "00" +horizontal_alignment = 1 +vertical_alignment = 1 diff --git a/scenes/контроль/element_v.tscn b/scenes/контроль/элемент-в.tscn similarity index 97% rename from scenes/контроль/element_v.tscn rename to scenes/контроль/элемент-в.tscn index cc94501..9c8c4ca 100644 --- a/scenes/контроль/element_v.tscn +++ b/scenes/контроль/элемент-в.tscn @@ -65,9 +65,11 @@ func _on_resized() -> void: v %= textures.size() state = v $txr_state.texture = textures[v] + get: + return state " -[node name="element_v" type="Control"] +[node name="yelement_v" type="Control"] editor_description = "Элемент замены из ЗИП" layout_mode = 3 anchors_preset = 0 diff --git a/scenes/контроль/element_h.tscn b/scenes/контроль/элемент-г.tscn similarity index 98% rename from scenes/контроль/element_h.tscn rename to scenes/контроль/элемент-г.tscn index ce4eb4d..baed981 100644 --- a/scenes/контроль/element_h.tscn +++ b/scenes/контроль/элемент-г.tscn @@ -68,7 +68,7 @@ func _enter_tree() -> void: " -[node name="element_h" type="PanelContainer"] +[node name="yelement_g" type="PanelContainer"] editor_description = "Элемент замены из ЗИП" offset_right = 150.0 offset_bottom = 50.0 diff --git a/scenes/настройки/настройки.gd b/scenes/настройки/настройки.gd index 1df773b..18b07fa 100644 --- a/scenes/настройки/настройки.gd +++ b/scenes/настройки/настройки.gd @@ -3,7 +3,9 @@ extends Panel # Called when the node enters the scene tree for the first time. func _ready() -> void: - if not OS.get_cmdline_args().has('++ограниченный'): return + $lbl_commit.text = 'Текущая версия ПО УАРЭП: \"%s\"' % commit.VCS_HEAD + if not OS.get_cmdline_args().has('++ограниченный'): + return $Label2.text = 'Текущий режим доступа: ограниченный' for node in $GridContainer.get_children().filter(func(b): return b is Button): node.disabled = true diff --git a/scenes/настройки/настройки.tscn b/scenes/настройки/настройки.tscn index d4c306e..a5f0eec 100644 --- a/scenes/настройки/настройки.tscn +++ b/scenes/настройки/настройки.tscn @@ -245,26 +245,26 @@ text = "Управление элементами в режиме с огран [node name="Label2" type="Label" parent="."] layout_mode = 0 offset_left = 16.0 -offset_top = 27.0 -offset_right = 445.0 -offset_bottom = 49.0 +offset_top = 20.0 +offset_right = 476.0 +offset_bottom = 50.0 text = "Текущий режим доступа: полный" +vertical_alignment = 1 [node name="edt_mapaddr" type="LineEdit" parent="."] layout_mode = 0 -offset_left = 477.0 -offset_top = 85.0 -offset_right = 849.0 -offset_bottom = 112.0 +offset_left = 660.0 +offset_top = 80.0 +offset_right = 1032.0 +offset_bottom = 110.0 script = SubResource("GDScript_anjmx") [node name="Label" type="Label" parent="edt_mapaddr"] layout_mode = 0 -offset_top = -30.0 -offset_right = 372.0 -offset_bottom = -8.0 -text = "Адрес сервера карт" -horizontal_alignment = 1 +offset_left = -180.0 +offset_right = -20.0 +offset_bottom = 30.0 +text = "Адрес сервера карт:" vertical_alignment = 1 [node name="GridContainer2" type="GridContainer" parent="."] @@ -297,5 +297,14 @@ 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 = "Текущая версия ПО УАРЭП:" +vertical_alignment = 1 + [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"] diff --git a/scenes/работа/sld-mode.gd b/scenes/работа/sld-mode.gd new file mode 100644 index 0000000..70d2816 --- /dev/null +++ b/scenes/работа/sld-mode.gd @@ -0,0 +1,16 @@ +extends VSlider + +const VAL_TO_LABEL = { 0: 'label0', 1: 'label1', 2: 'label2', 3: 'label3' } +const VAL_TO_EVENT = { 0: 'manual_control', 1: 'interfer_auto', 2: 'threat_auto', 3: 'full_auto' } + +func _ready(): _on_value_changed(3) + + +func _on_value_changed(val): + val = int(val) + for nm in VAL_TO_LABEL.values(): + var lbl = get_node(nm) + lbl.self_modulate.a = 0.45 + var lbl = get_node(VAL_TO_LABEL[val]) + lbl.self_modulate.a = 1.0 + signaller.emit_signal(VAL_TO_EVENT[val]) diff --git a/scenes/работа/работа.gd b/scenes/работа/работа.gd index c696ac4..86d2164 100644 --- a/scenes/работа/работа.gd +++ b/scenes/работа/работа.gd @@ -376,7 +376,7 @@ func sel_fs_sector(event): var center_offset: Vector2 = ProjectSettings.get_setting('application/interfer/center_offset', Vector2i(0, 25)) var angle: float = event.position.angle_to_point(center + center_offset) * 180/PI - 45.0 if angle < 0: - angle +=360 + angle += 360 var distance: float = event.position.distance_to(center + center_offset) var sector: int var band: int diff --git a/scenes/работа/работа.tscn b/scenes/работа/работа.tscn index d793d2d..b735956 100644 --- a/scenes/работа/работа.tscn +++ b/scenes/работа/работа.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=13 format=3 uid="uid://b276iygic5itk"] +[gd_scene load_steps=14 format=3 uid="uid://b276iygic5itk"] [ext_resource type="Script" path="res://scenes/работа/работа.gd" id="1_niok4"] [ext_resource type="PackedScene" uid="uid://nl1vklubr5kr" path="res://scenes/bip/bip.tscn" id="2_br3s6"] @@ -7,10 +7,11 @@ [ext_resource type="PackedScene" uid="uid://dymo732qc2doa" path="res://scenes/count-all/count-all-pad.tscn" id="6_e3re7"] [ext_resource type="PackedScene" uid="uid://bwti82byphl68" path="res://scenes/count-danger/count_danger_pad.tscn" id="7_2arls"] [ext_resource type="PackedScene" uid="uid://da7w3vkhadfwe" path="res://scenes/button-flat/button-flat.tscn" id="8_k0iv2"] -[ext_resource type="PackedScene" uid="uid://0uqi1ghf7sma" path="res://scenes/btn-scale/btn-scale.tscn" id="9_oey3x"] +[ext_resource type="PackedScene" uid="uid://0uqi1ghf7sma" path="res://scenes/button-scale/btn-scale.tscn" id="9_oey3x"] [ext_resource type="PackedScene" uid="uid://bbq6nklh36yij" path="res://scenes/tilemap/tilemap.tscn" id="10_gtwyg"] [ext_resource type="PackedScene" uid="uid://b5kjdyxuwsot5" path="res://scenes/diagram/diagram.tscn" id="11_b6su4"] [ext_resource type="Shader" path="res://shaders/tilemap.gdshader" id="11_ekapd"] +[ext_resource type="Script" path="res://scenes/работа/sld-mode.gd" id="12_gqdkl"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_4p7y1"] resource_local_to_scene = true @@ -97,16 +98,6 @@ offset_right = 83.0 offset_bottom = 72.0 text = "Опасных:" -[node name="btn_auto_threat" parent="." instance=ExtResource("8_k0iv2")] -layout_mode = 0 -offset_left = 1034.0 -offset_top = 7.0 -offset_right = 1108.0 -offset_bottom = 61.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -text = "Автомат" - [node name="btn_view" parent="." instance=ExtResource("8_k0iv2")] layout_mode = 2 offset_left = 11.0 @@ -116,8 +107,9 @@ offset_bottom = 953.0 size_flags_horizontal = 3 size_flags_vertical = 3 text = "Вид" +toggle_mode = true -[node name="btn_view2" parent="." instance=ExtResource("8_k0iv2")] +[node name="btn_activate" parent="." instance=ExtResource("8_k0iv2")] layout_mode = 2 offset_left = 954.0 offset_top = 1060.0 @@ -126,6 +118,7 @@ offset_bottom = 1112.0 size_flags_horizontal = 3 size_flags_vertical = 3 text = "Подавление" +toggle_mode = true [node name="btn_zoom" parent="." instance=ExtResource("9_oey3x")] layout_mode = 0 @@ -137,10 +130,10 @@ metadata/zoom = 4 [node name="btns_select" type="GridContainer" parent="."] layout_mode = 0 -offset_left = 1034.0 -offset_top = 65.0 -offset_right = 1108.0 -offset_bottom = 181.0 +offset_left = 1018.0 +offset_top = 38.0 +offset_right = 1092.0 +offset_bottom = 154.0 [node name="btn_strob" parent="btns_select" instance=ExtResource("8_k0iv2")] layout_mode = 2 @@ -148,6 +141,7 @@ size_flags_horizontal = 3 size_flags_vertical = 3 tooltip_text = "Кнопка для выбора сектора при помощи клика мышкой" text = "Строб" +toggle_mode = true metadata/state = 0 [node name="btn_threats" parent="btns_select" instance=ExtResource("8_k0iv2")] @@ -156,7 +150,7 @@ size_flags_horizontal = 3 size_flags_vertical = 3 tooltip_text = "Кнопка для выбора сектора при помощи клика мышкой" text = "Цель" -pressed = true +toggle_mode = true metadata/state = 1 [node name="btn_fs_sector" parent="btns_select" instance=ExtResource("8_k0iv2")] @@ -165,8 +159,82 @@ size_flags_horizontal = 3 size_flags_vertical = 3 tooltip_text = "Кнопка для выбора сектора при помощи клика мышкой" text = "Сектор" +toggle_mode = true metadata/state = 2 +[node name="vslider" type="VSlider" parent="."] +layout_mode = 2 +offset_left = 1113.0 +offset_top = 975.0 +offset_right = 1143.0 +offset_bottom = 1055.0 +scale = Vector2(-1, 1) +max_value = 3.0 +value = 3.0 +tick_count = 4 +ticks_on_borders = true +script = ExtResource("12_gqdkl") + +[node name="label0" type="Label" parent="vslider"] +self_modulate = Color(1, 1, 1, 0.5) +layout_mode = 0 +offset_left = 158.0 +offset_top = 62.0 +offset_right = 283.0 +offset_bottom = 82.0 +scale = Vector2(-1, 1) +text = "Автомат отключен" +horizontal_alignment = 2 +vertical_alignment = 1 + +[node name="label1" type="Label" parent="vslider"] +self_modulate = Color(1, 1, 1, 0.5) +layout_mode = 0 +offset_left = 182.0 +offset_top = 40.0 +offset_right = 331.0 +offset_bottom = 60.0 +scale = Vector2(-1, 1) +text = "Автомат выбора цели" +horizontal_alignment = 2 +vertical_alignment = 1 + +[node name="label2" type="Label" parent="vslider"] +self_modulate = Color(1, 1, 1, 0.5) +layout_mode = 0 +offset_left = 200.0 +offset_top = 19.0 +offset_right = 368.0 +offset_bottom = 39.0 +scale = Vector2(-1, 1) +text = "Автомат выбора помехи" +horizontal_alignment = 2 +vertical_alignment = 1 + +[node name="label3" type="Label" parent="vslider"] +self_modulate = Color(1, 1, 1, 0.5) +layout_mode = 0 +offset_left = 191.0 +offset_top = -2.0 +offset_right = 351.0 +offset_bottom = 18.0 +scale = Vector2(-1, 1) +text = "Автомат помехи и цели" +horizontal_alignment = 2 +vertical_alignment = 1 + +[node name="label9" type="Label" parent="."] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 1002.0 +offset_top = 6.0 +offset_right = 1106.0 +offset_bottom = 31.0 +text = "Режим выбора" +horizontal_alignment = 1 +vertical_alignment = 1 + [connection signal="drag_begin" from="." to="." method="_on_drag_begin"] [connection signal="drag_continue" from="." to="." method="_on_drag_continue"] [connection signal="pressed" from="btn_zoom" to="." method="_on_btn_scale_pressed"] +[connection signal="value_changed" from="vslider" to="vslider" method="_on_value_changed"] diff --git a/scripts/repnetwork.gd b/scripts/repnetwork.gd index c6bad64..ffd8a7f 100644 --- a/scripts/repnetwork.gd +++ b/scripts/repnetwork.gd @@ -86,12 +86,13 @@ func _ready() -> void: if logger_page: unit.connect('line_changed', Callable(logger_page, 'on_line_changed').bind(unit_key)) unit.connect('command_fail', Callable(logger_page, 'on_command_fail').bind(unit_key)) - + tcp_sockets.append([create_tcpsocket('уарэп-5п28'), units_tcp[repsettings.get_unit_key('уарэп-5п28')]]) - + for key in units: log.info('%s %s:%d' % [units[key].name, key[0], key[1]]) for key in units_tcp: log.info('%s %s:%d' % [units_tcp[key].name, key[0], key[1]]) + func poll_receive(sock: Socket, tick: int) -> bool: while sock.get_available_packet_count() > 0: var data: = sock.get_packet() diff --git a/scripts/signaller.gd b/scripts/signaller.gd index 93dace7..f0ef23f 100644 --- a/scripts/signaller.gd +++ b/scripts/signaller.gd @@ -1,38 +1,72 @@ class_name Signaller extends Node - ## Обмен сигналами между узлами. Здесь объявлены сигналы, которые используют -## два и более узла, из разных файлов. +## два и более узла, из разных файлов. Должен быть помещён в автозагрузку. + +## Вызывается при переходе в режим [b]Работа[/b] +signal режим_работа() -## Вызывается, когда оператор выбирает цель в таблице. +## Вызывается при переходе в режим [b]Контроль[/b] +signal режим_контроль() + + +## Вызывается при переходе в режим [b]Журнал[/b] +signal режим_журнал() + + +## Вызывается при переходе в режим [b]ЭМС[/b] +signal режим_эмс() + + +## Вызывается при переходе в режим [b]Настройка[/b] +signal режим_настройки() + + +## Вызывается, когда оператор переводит программу в режим [b]Автомат выбора цели и помехи[/b] +signal full_auto() + + +## Вызывается, когда оператор переводит программу в режим [b]Автомат выбора цели[/b] +signal threat_auto() + + +## Вызывается, когда оператор переводит программу в режим [b]Автомат выбора помехи[/b] +signal interfer_auto() + + +## Вызывается, когда оператор переводит программу в режим [b]Ручной[/b] +signal manual_control() + + +## Вызывается, когда оператор выбирает цель в таблице.[br] ## [param threats] - Словарь. Ключ - идентификатор (номер) цели. Значение - цель.[br] ## [param th] - Выбранная цель.[br] signal threat_selected(threats: Dictionary, th) -## Вызывается, когда оператор снимает выбор цели. +## Вызывается, когда оператор снимает выбор цели.[br] ## [param threats] - Словарь. Ключ - идентификатор (номер) цели. Значение - цель.[br] ## [param th] - Ранее выбранная цель.[br] signal threat_unselected(threats: Dictionary, th) -## Вызывается, когда пользователь переключает режим окна программы полный экран - оконный +## Вызывается, когда пользователь переключает режим окна программы полный экран - оконный.[br] ## [param id] - Идентификатор окна. Присваевается вручную. signal full_screen(id: int) -## Вызывается, когда пользователь выбирает цель +## Вызывается, когда пользователь выбирает цель.[br] ## [param th_id] - Отметка цели на экране signal rto_threat_sel (th_id: int) -## Вызывается, когда пользователь нажимает на значёк цели +## Вызывается, когда пользователь нажимает на значёк цели.[br] ## [param th_id] - Отметка цели на экране signal bip_pressed (th_id: int) -## Вызывается, когда пользователь снимает выделение с цели +## Вызывается, когда пользователь снимает выделение с цели.[br] ## [param th_id] - Отметка цели на экране signal rto_threat_unsel (th_id: int) @@ -41,25 +75,26 @@ signal rto_threat_unsel (th_id: int) signal rto_threat_unsel_all () -## Вызывается, когда пользователь выбирает помеху +## Вызывается, когда пользователь выбирает помеху.[br] ## [param btn] - Нажатая кнопка помехи. signal interfer_init (btn: PanelContainer, fs_arr: Array) -## Вызывается, когда выбраны цели для постановки помех +## Вызывается, когда выбраны цели для постановки помех.[br] ## [param btn] - Нажатая кнопка помехи.[br] ## [param sel_threats] - Cписок целей. signal interfer_create (btn: PanelContainer, sel_threats: Array, fs_arr: Array) -## Вызывается, когда создалась новая помеха -## [param ecm] - Новая помеха +## Вызывается, когда создалась новая помеха.[br] +## [param ecm] - Новая помеха.[br] signal interfer_new (ecm: interfer.Interfer) -## Вызывается, когда отключается действующая помеха -## [param ecm] - Новая помеха, [param ecms] - словарь помех -## [param ecms] - словарь id помех и связанных с ними целей +## Вызывается, когда отключается действующая помеха.[br] +## [param ecm] - Новая помеха.[br] +## [param ecms] - словарь помех.[br] +## [param thrs] - словарь id помех и связанных с ними целей.[br] signal interfer_off (ecm: interfer.Interfer, ecms: Dictionary, thrs: Dictionary) @@ -67,31 +102,31 @@ signal interfer_off (ecm: interfer.Interfer, ecms: Dictionary, thrs: Dictionary) signal interfer_off_all () -## Вызывается, когда отключается действующая помеха +## Вызывается, когда отключается действующая помеха.[br] ## [param ecm] - Выбранная помеха signal interfer_selected (ecm: interfer.Interfer) -## Вызывается, когда отключается выбираем помеху по сектору в таблице +## Вызывается, когда отключается выбираем помеху по сектору в таблице.[br] ## [param ecm] - Выбранная помеха signal fs_selected(ecm: interfer.Interfer) -## Вызывается при запросе изменения уровня детализации карты +## Вызывается при запросе изменения уровня детализации карты.[br] ## [param zoom] - Вновь установленный уровень детализации signal zoom_changed(zoom: int) -## Вызывается при завершении изменения уровня детализации карты +## Вызывается при завершении изменения уровня детализации карты.[br] ## [param zoom] - Вновь установленный уровень детализации signal zoom_complete(zoom: int) -## Вызывается при изменении координат карты. +## Вызывается при изменении координат карты.[br] ## [param lan], [param lat] - Вновь установленные координаты. signal map_coords_changed(lan: float, lat: float) -## Вызывается при изменении размера изображения для отображения карты. +## Вызывается при изменении размера изображения для отображения карты.[br] ## [param mode] - Вновь установленный режим signal map_mode_changed(mode: int) diff --git a/scripts/yau07.gd b/scripts/yau07.gd index f0dc79a..e3832ad 100644 --- a/scripts/yau07.gd +++ b/scripts/yau07.gd @@ -2,10 +2,10 @@ extends Node ## Протокол ячейки ЯУ-07 -const BUFFER_SIZE = 2048 ## Размер буфера для приёма датаграмм const ONLINE_TIMEOUT = 5.0 ## Время ожидания пакета от ячейки, секунды const RESEND_TIMEOUT = 0.3 ## Задержка для повторной отправки команды, секунды const RETRY_COUNT = 5 ## Количество повторных отправок +const BUFFER_SIZE = 2048 ## Размер буфера для приёма датаграмм ## Ячейка ЯУ-07 @@ -13,41 +13,42 @@ class YaU07: ## Коды выполняемых команд enum CmdCode { + READ_ISA = 0, ## Код команды "читать порт ISA" ячейки ЯУ-07 + WRITE_ISA = 1, ## Код команды "записать порт ISA" ячейки ЯУ-07 + WRITE_BLOCK = 60, ## Код команды "записать блок данных ISA" внешней шины ячейки ЯУ-07 READ_BLOCK = 61, ## Код команды "читать блок данных ISA" внешней шины ячейки ЯУ-07 - READ_ISA = 0, ## Код команды "читать порт ISA" ячейки ЯУ-07 - WRITE_BLOCK = 60, ## Код команды "записать блок данных ISA" внешней шины ячейки ЯУ-07 - WRITE_ISA = 1, ## Код команды "записать порт ISA" ячейки ЯУ-07 } ## Состояние автомата выполнения команды enum CmdState { - DONE, ## Команда выполнена - FAIL, ## Команда не выполнена - SEND, ## Буфер готов для отправки UNCK, ## Номер команды не ининциирован - WAIT ## Ожидание выполнения + SEND, ## Буфер готов для отправки + WAIT, ## Ожидание выполнения + DONE, ## Команда выполнена + FAIL ## Команда не выполнена } + signal line_changed(unit: YaU07) ## Вызывается когда меняется состояние связи с ячейкой signal command_done(unit: YaU07) ## Вызывается после выполнения команды signal command_fail(unit: YaU07) ## Вызывается если возникла ошибка при выполнении команды и команда не выполнена - signal line_changed(unit: YaU07) ## Вызывается когда меняется состояние связи с ячейкой - signal parse_failed(unit: YaU07) ## Вызывается если возникла ошибка при разборе пакета + signal parse_failed(unit: YaU07) - var cmd_data: = PackedByteArray() ## Данные команды. Устанавливается в ЯУ-07 - var cmd_num_rx: = 0 ## Номер команды принятый - var cmd_num_tx: = 0 ## Номер команды переданный - var cmd_result: = 1 ## Результат выполнения команды. Устанавливается в ЯУ-07 - var cmd_retry: = 0 ## Счётчик оставшихся попыток выполнить команду - var cmd_state: = CmdState.UNCK ## Состояние выполнения команды - var cmd_tick_rx: = 0 ## Время последнего приёма команды - var cmd_tick_tx: = 0 ## Время последней отправки команды - var isa_block: = {} ## Результат выполнения команды "читать массив из порта" - var isa_ports: = {} ## Результат выполнения команды "читать порт" - var name: = String() ## Имя - var online: = false ## Состояние связи с ячейкой - var status: = PackedByteArray() ## Поле "состояние прибора" - var tx_data: = PackedByteArray() ## Буфер отправленный - var tx_len: = 0 ## Длина последнего отправленного пакета + var name: = String() + var cmd_num_rx: = 0 ## Номер команды принятый + var cmd_num_tx: = 0 ## Номер команды переданный + var cmd_state = CmdState.UNCK ## Состояние выполнения команды + var cmd_result: = 1 ## Результат выполнения команды. Устанавливается в ЯУ-07 + var cmd_data: = PackedByteArray() ## Данные команды. Устанавливается в ЯУ-07 + var cmd_retry = 0 ## Счётчик оставшихся попыток выполнить команду + var tick = 0.0 ## Текущее тик-время в мс + var cmd_tick_tx = 0.0 ## Время последней отправки команды + var cmd_tick_rx = 0.0 ## Время последнего приёма команды + var status: = PackedByteArray() ## Поле "состояние прибора" + var tx_data: = PackedByteArray() ## Буфер отправленный + var tx_len = 0 ## Длина последнего отправленного пакета + var isa_ports = {} ## Результат выполнения команды "читать порт" + var isa_block = {} ## Результат выполнения команды "читать массив из порта" + var online = false ## Состояние связи с ячейкой func _to_string() -> String: return String('яу07: %s %s' % [self.name, ['отключен', 'на связи'][int(online)]]) @@ -56,9 +57,11 @@ class YaU07: self.name = nm tx_data.resize(BUFFER_SIZE) tx_data.fill(0) + tick = 0.0 - func process(tick: float): + func process(delta: float): + tick += delta if online and ((tick - cmd_tick_rx) > ONLINE_TIMEOUT): online = false emit_signal('line_changed', self) @@ -131,18 +134,15 @@ class YaU07: tx_data.encode_u16(9, int(port[0])) cmd_state = CmdState.SEND return true - - - ## Возвращает код команды ЯУ-07. - ## [param rx_data] - Принятые данные.[br] - ## Возвращает [b]null[/b] - Если код команды не найден.[br] - ## Возвращает [b]0...255[/b] - Код команды.[br] + ## Возвращает код команды ЯУ-07 + ## rx_data - Принятые данные + ## Возвращает - Код команды не найден, 0...255 - код команды func get_cmd_code(rx_data: PackedByteArray): var rx_data_len = rx_data.size() if rx_data_len < 7: return null - var status_len = rx_data.decode_u16(6) # Длина массива байтового "состояние прибора" + var status_len = rx_data.decode_u16(6) # Длина массива байтового "состояние прибора" if rx_data_len <= (status_len + 6): # Нет поля "ответ на команду", разбор пакета завершить return null var cmd_code_pos = status_len + 8 # Положение в приёмном буфере "кода команды" @@ -187,10 +187,10 @@ class YaU07: ## Заполняет состояние прибора данными прочитанными из портов ЯУ-07 ## для команд "читать порты" или "записать порты"[br] - ## [param rx_data] - Принятые данные.[br] - ## Возвращает [b]true[/b] - Данные обработаны успешно.[br] - ## Возвращает [b]false[/b] - Данные не обработаны из за ошибки.[br] - func parse(rx_data: PackedByteArray, tick: int) -> bool: + ## [param rx_data] - Принятые данные[br] + ## Возвращает [b]true[/b] - Данные обработаны успешно[br] + ## Возвращает [b]false[/b] - Данные не обработаны из за ошибки[br] + func parse(rx_data: PackedByteArray) -> bool: cmd_tick_rx = tick @@ -199,7 +199,7 @@ class YaU07: emit_signal('line_changed', self) var rx_data_len = rx_data.size() - if rx_data_len < 11: + if rx_data_len < 10: return false cmd_num_rx = rx_data.decode_u16(2) diff --git a/table/table.gd b/table/table.gd index 67cd43c..86fb1ca 100644 --- a/table/table.gd +++ b/table/table.gd @@ -31,8 +31,16 @@ var ScnSelector: PackedScene ## Прототип индикатора вы var selector_color_proc: Callable ## Ссылка на процедуру генератора цвета индикатора выбранного ряда var selector_size_proc: Callable ## Ссылка на процедуру генератора размера индикатора выбранного ряда -signal row_pressed(i_row: int) ## Вызывается при нажатии кнопкой мыши на строку -signal selected_changed(i_row: int) ## Вызывается при изменении выбранного ряда. i_row - текущий выбранный ряд +## Вызывается при нажатии кнопкой мыши на строку. +## Активируемый ползователем элемент ряда должен вызывать +## сигнал [b]focus_entered[/b], что бы сигнал [b]row_pressed[/b] работал.[br] +## [param i_row] - Индекс ряда в котором пользователь активировал элемент.[br] +## [i]Godot 4.2: [/i][b] Label[/b] [i] - не вызывает сигнал[/i] [b]focus_entered[/b]. +signal row_pressed(i_row: int) + +## Вызывается при изменении выбранного ряда.[br] +## [param i_row] - Текущий выбранный ряд. +signal selected_changed(i_row: int) var scroll: Control var scroll_adj: = Vector2(0, 0) @@ -45,7 +53,7 @@ func set_node_user_data(i_col: int, i_row: int, val) -> void: set_node_meta(i_co func defaultselector_color_proc(_i_row: int): return selector_color -## Закрепляет заголовок таблицы. +## Закрепляет заголовок таблицы.[br] ## [param scrl] - Прокрутка родитель таблицы.[br] ## [param prnt] - Родитель прокрутки.[br] func pin_header(scrl: ScrollContainer, prnt: Control): @@ -173,23 +181,29 @@ func set_node_property(i_col: int, i_row: int, pname: String, val) -> void: node.set(pname, val) -## [param i_col] - Индекс колонки. [param i_row] - Индекс ряда. +## Возвращает значение поля ячейки.[br] +## [param pname] - Имя поля.[br] +## [param i_col] - Индекс колонки.[br] +## [param i_row] - Индекс ряда. func get_node_property(i_col: int, i_row: int, pname: String): var key: = get_node_key(NODE_KEY_FORMAT, i_col, i_row) var node = nodes[key] return node.get(pname) -## Возвращает ключ для существующей ячеки. Если ячейки с заданными индексами нет, -## вызывает исключение. [param i_col] - Индекс колонки. [param i_row] - Индекс ряда +## Возвращает ключ для существующей ячейки. Если ячейки с заданными индексами нет, +## вызывает исключение.[br] +## [param i_col] - Индекс колонки.[br] +## [param i_row] - Индекс ряда func get_node_key(format: String, i_col: int, i_row: int) -> String: var key: String = format % [i_row, i_col] assert(nodes.has(key), 'ошибка: нет такой ячейки - колонка:%d ряд:%d' % [i_col, i_row]) return key -## Возвращает массив с индексом ячейки. -## [b][0][/b] - индекс колонки, [b][1][/b] - индекс строки +## Возвращает массив с индексом ячейки:[br] +## [b][0][/b] - индекс колонки,[br] +## [b][1][/b] - индекс строки. func get_key_indexes(key: String) -> Array: var tokens: = key.split('_') assert(tokens.size() == 3, 'ошибка: неверный ключ: \"%s\"' % key) @@ -293,14 +307,18 @@ func set_row_selected(i_row: int, selected: bool = true) -> void: ## [param i_row] - Индекс ряда. func _set_row_selected(i_row: int, selected: bool = true) -> void: - var key: = SELECTOR_KEY_FORMAT % [i_row, 0] - var node = nodes[NODE_KEY_FORMAT % [i_row, 0]] - if nodes.has(key) and (not selected): - var selector = nodes[key] + var selector_key: = SELECTOR_KEY_FORMAT % [i_row, 0] + var node_key: = NODE_KEY_FORMAT % [i_row, 0] + if not nodes.has(node_key): + push_error('ошибка: нет такого ряда: %d' % i_row) + return + if nodes.has(selector_key) and (not selected): + var node = nodes[node_key] + var selector = nodes[selector_key] node.remove_child(selector) selector.queue_free() - nodes.erase(key) - elif (not nodes.has(key)) and selected: + nodes.erase(selector_key) + elif (not nodes.has(selector_key)) and selected: var selector = ScnSelector.instantiate() var rect: = [0, 0, 0, 0] selector_size_proc.call(i_row, rect) @@ -308,7 +326,8 @@ func _set_row_selected(i_row: int, selected: bool = true) -> void: selector.size.y = rect[3] selector.modulate = selector_color_proc.call(i_row) selector.z_index = z_index + 1 - nodes[key] = selector + nodes[selector_key] = selector + var node = nodes[node_key] node.add_child(selector) @@ -467,10 +486,10 @@ func rehash(): var iv = get_key_indexes(key) var i0 = Vector2(iv[0], iv[1]) if HEAD_PREFIX in key: - swap_nodes(nodes_copy, HEAD_KEY_FORMAT, i0, i_hdr[0]) + swap_nodes(nodes_copy, HEAD_KEY_FORMAT, i0, i_hdr[0]) next_index(i_hdr) elif NODE_PREFIX in key: - swap_nodes(nodes_copy, NODE_KEY_FORMAT, i0, i_node[0]) + swap_nodes(nodes_copy, NODE_KEY_FORMAT, i0, i_node[0]) next_index(i_node) elif SLCT_PREFIX in key: swap_nodes(nodes_copy, SELECTOR_KEY_FORMAT, i0, i_slct[0]) @@ -486,13 +505,13 @@ func clear_rows() -> void: remove_row(i_row) -## Настраевает обратные вызовы для колонок. +## Настраевает обратные вызовы для колонок.[br] ## [param dest_node] - Получатель события[br] ## [param event_name] - Имя события[br] ## [param callback] - Имя функции получателя события[br] ## [param clmns] - Индексы колонок[br] ## [param user_data] - Аргументы функции получателя события[br] -func connect_columns(dest_node: Node, event_name: String, callback: String, clmns: Array, user_data: Array) -> void: +func connect_columns(dest_node: Node, event_name: String, callback: String, clmns: Array, user_data: Array = []) -> void: var rows_count = get_rows_count() for i_row in rows_count: for i_col in clmns: @@ -502,9 +521,13 @@ func connect_columns(dest_node: Node, event_name: String, callback: String, clmn var conn = node.get_meta(META_CALLABLE) node.disconnect(event_name, conn) var conn = Callable(dest_node, callback).bind([node] + user_data) - assert (OK == node.connect(event_name, conn)) - node.set_meta(META_CALLABLE, conn) - node.set_meta(META_EVENT_NAME, event_name) + var rc = node.connect(event_name, conn) + if rc == Error.OK: + node.set_meta(META_CALLABLE, conn) + node.set_meta(META_EVENT_NAME, event_name) + else: + var es = error_string(rc) + push_error('ошибка: событие \"%s\" не может быть подключено к %s: %s' % [event_name, node, es]) ## @@ -528,7 +551,7 @@ func set_nodes_min_size(i_row: int, sizes: Array, key_format: String = NODE_KEY_ node.set_deferred('size.x', sizes[i_col]) -## [param i_col] - Индекс колонки. [param i_row] - Индекс ряда. +## [param i_col] - Индекс колонки.[br][param i_row] - Индекс ряда. func set_node_text(i_col: int, i_row: int, val: String) -> void: var key: = get_node_key(NODE_KEY_FORMAT, i_col, i_row) nodes[key].text = val @@ -542,13 +565,18 @@ func set_rows_state(rows: Array) -> void: nodes[key].button_pressed = rows[i_row][i_col] -## [param i_col] - Индекс колонки. [param i_row] - Индекс ряда. +## Устанавливает состояние ячейки. +## [param i_col] - Индекс колонки.[br] +## [param i_row] - Индекс ряда.[br] +## [param val] - Новое состояние.[br] +## [i]Ячейка должна иметь свойство[/i] [param button_pressed] func set_node_state(i_col: int, i_row: int, val: bool) -> void: var key: = get_node_key(NODE_KEY_FORMAT, i_col, i_row) nodes[key].button_pressed = val -## [param i_col] - Индекс колонки. [param i_row] - Индекс ряда. +## [param i_col] - Индекс колонки.[br] +## [param i_row] - Индекс ряда. func set_node_frame(i_col: int, i_row: int, node_name: String, val: int) -> void: var key: = get_node_key(NODE_KEY_FORMAT, i_col, i_row) var node = nodes[key] @@ -556,14 +584,15 @@ func set_node_frame(i_col: int, i_row: int, node_name: String, val: int) -> void sprite.frame = val -## Разрешает редактирование ячейки. Ячейка должна иметь свойство [param editable]. -## [param i_col] - Индекс колонки. [param i_row] - Индекс ряда. +## Разрешает редактирование ячейки. Ячейка должна иметь свойство [param editable].[br] +## [param i_col] - Индекс колонки.[br] +## [param i_row] - Индекс ряда. func set_node_editable(i_col: int, i_row: int, val: bool) -> void: var key: = get_node_key(NODE_KEY_FORMAT, i_col, i_row) nodes[key].editable = val -## Разрешает редактирование ряда. Ячейки ряда должны иметь свойство [param editable]. +## Разрешает редактирование ряда. Ячейки ряда должны иметь свойство [param editable].[br] ## [param i_row] - Индекс ряда. func set_row_editable(i_row: int, val: bool) -> void: for i_col in columns: @@ -571,7 +600,8 @@ func set_row_editable(i_row: int, val: bool) -> void: nodes[key].editable = val -## [param i_col] - Индекс колонки. [param i_row] - Индекс ряда. +## [param i_col] - Индекс колонки.[br] +## [param i_row] - Индекс ряда. func set_node_alligment(i_col: int, i_row: int, val: int) -> void: var key: = get_node_key(NODE_KEY_FORMAT, i_col, i_row) if 'horizontal_alignment' in nodes[key]: @@ -596,11 +626,15 @@ func get_row_text(i_row: int) -> Array: return row -## [param i_row] - Индекс ряда. +## Устанавливает текст ячеек ряда.[br] +## [param i_row] - Индекс ряда.[br] +## [param row] - Массив новых значений текста (поле элемента [param text]).[br] +## [param i_begin] - Начальный индекс колонки начиная с которого установить новые значения.[br] +## [i]Ячейки ряда должны иметь свойство[/i] [param text] func set_row_text(i_row: int, row: Array, i_begin: int = 0, key_format: String = NODE_KEY_FORMAT) -> void: - assert(i_begin >= 0) - assert((columns - i_begin) <= row.size()) - for i_col in columns - i_begin: + assert((i_begin >= 0) and (i_begin < columns)) + assert((columns - i_begin) >= row.size()) + for i_col in row.size(): var key: = get_node_key(key_format, i_col + i_begin, i_row) nodes[key].text = row[i_col] @@ -636,7 +670,8 @@ func get_node_rect(i_col: int, i_row: int, rect: Array, key_format: String = NOD rect[3] = cell.size.y -## Возвращает прямоугольник [param rect] занимаемый рядом [param i_row]. [param key_format] - Формат ключа ячейки +## Возвращает прямоугольник [param rect] занимаемый рядом [param i_row].[br] +## [param key_format] - Формат ключа ячейки func get_row_rect(i_row: int, rect: Array, key_format: String = NODE_KEY_FORMAT) -> void: assert(rect.size() >= 4, 'ошибка: мало элементов для возврата результата') var cell0 = nodes[get_node_key(key_format, 0, i_row)]