From 74f0e633524edd6a1d7d769c8658a7ea7a985a8c Mon Sep 17 00:00:00 2001 From: sasha80 Date: Wed, 20 Aug 2025 08:15:48 +0300 Subject: [PATCH 01/17] =?UTF-8?q?=D0=A0=D0=B5=D0=B3=D1=80=D0=B5=D1=81?= =?UTF-8?q?=D1=81=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-afsp/pribor-afsp.gd | 1 + scenes/pribor-prd-k/pribor-prd-k.gd | 4 ++-- scenes/pribor-prd-v/pribor-prd-v.gd | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/scenes/pribor-afsp/pribor-afsp.gd b/scenes/pribor-afsp/pribor-afsp.gd index 6d92925..75e0d84 100644 --- a/scenes/pribor-afsp/pribor-afsp.gd +++ b/scenes/pribor-afsp/pribor-afsp.gd @@ -1,3 +1,4 @@ +@tool class_name pribor_afsp extends 'res://scenes/контроль/прибор.gd' @export var prefix_path: String = 'DeviceDescripton[DeviceName]' diff --git a/scenes/pribor-prd-k/pribor-prd-k.gd b/scenes/pribor-prd-k/pribor-prd-k.gd index 8051033..6e0bbc1 100644 --- a/scenes/pribor-prd-k/pribor-prd-k.gd +++ b/scenes/pribor-prd-k/pribor-prd-k.gd @@ -123,7 +123,7 @@ func on_state_mashine() -> void: var new_state = fs_results[fs_meta] f.state = new_state fs_results[fs_meta] = new_state - + var dkm: Dictionary = control_prd_k.block_dkm_config if control_prd_k.current_fs == 1 and fs_results.fs_1: $kasseta_fs_kd/ref_A2.state = STATE_VAL.GOOD if dkm.dkm_1 else STATE_VAL.ERROR @@ -136,7 +136,7 @@ func on_state_mashine() -> void: #return if 1 == 1: return - + var node_arr_power: Array = get_tree().get_nodes_in_group('power_amplifier') for i_pow in node_arr_power.size(): if i_pow < 1: diff --git a/scenes/pribor-prd-v/pribor-prd-v.gd b/scenes/pribor-prd-v/pribor-prd-v.gd index 101b682..73ee0b9 100644 --- a/scenes/pribor-prd-v/pribor-prd-v.gd +++ b/scenes/pribor-prd-v/pribor-prd-v.gd @@ -106,7 +106,7 @@ func on_state_mashine() -> void: var new_state = fs_results[fs_meta] f.state = new_state fs_results[fs_meta] = new_state - + var dkm: Dictionary = control_prd_v.block_dkm_config if control_prd_v.current_fs == 4 and fs_results.fs_4: $kasseta_FS_VD/ref_A2.state = STATE_VAL.GOOD if dkm.dkm_4 else STATE_VAL.ERROR @@ -117,7 +117,7 @@ func on_state_mashine() -> void: #return if 1 == 1: return - + var node_arr_power: Array = get_tree().get_nodes_in_group('power_amplifier') for i_pow in node_arr_power.size(): if i_pow < 6: From f311f9987b6e1611eb9856108b12ea23e06a857c Mon Sep 17 00:00:00 2001 From: sasha80 Date: Wed, 20 Aug 2025 10:42:57 +0300 Subject: [PATCH 02/17] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80.=20=D0=91=D0=BE=D0=BB=D1=8C=D1=88=D0=B5=20=D1=8F?= =?UTF-8?q?=D0=B2=D0=BD=D0=BE=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B?= =?UTF-8?q?=D1=85=20=D1=82=D0=B8=D0=BF=D0=BE=D0=B2,=20=D1=82=D0=B0=D0=BA?= =?UTF-8?q?=20=D0=B1=D1=8B=D1=81=D1=82=D1=80=D0=B5=D0=B5=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D0=B0=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/network.gd | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/network.gd b/scripts/network.gd index 2a7d4c6..b060e89 100644 --- a/scripts/network.gd +++ b/scripts/network.gd @@ -303,7 +303,7 @@ func get_tcp_data(sock: SocketTCP, peer, len_rx): func _process(_delta: float) -> void: tick = Time.get_ticks_msec() RenderingServer.global_shader_parameter_set('tick_curent', tick) - for key in units_udp: + for key: StringName in units_udp: var unit_udp = units_udp[key] if Error.OK == unit_udp.process(tick): var sock = send_sockets[unit_udp.name] @@ -311,18 +311,18 @@ func _process(_delta: float) -> void: var dst_port = dst_ports[key] var dst_addr = dst_addrs[key] sock.send_to([dst_addr, dst_port], tx_data) - for key in units_udprx: + for key: StringName in units_udprx: var unit_udprx = units_udprx[key] unit_udprx.process(tick) - for key in units_serial: + for key: StringName in units_serial: var unit_serial = units_serial[key] var serial = serials[key] if Error.OK == unit_serial.process(tick): serial.send_to(unit_serial.tx_data) - for key in units_modbus: + for key: StringName in units_modbus: var unit_modbus = units_modbus[key] unit_modbus.process(tick) - for sock_unit in tcp_sockets: + for sock_unit: Array in tcp_sockets: var sock = sock_unit[0] var unit_tcp = sock_unit[1] if Error.OK == unit_tcp.process(tick): From 71bd155efd78709278b67b20094a5956be1a2f41 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Wed, 20 Aug 2025 10:48:29 +0300 Subject: [PATCH 03/17] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80.=20=D0=A0=D0=B5=D0=B6=D0=B8=D0=BC=20"=D0=9A=D0=BE?= =?UTF-8?q?=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8C".=20=D0=9E=D0=B1=D1=89?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=D1=8B=20?= =?UTF-8?q?=D0=B8=20=D1=81=D1=86=D0=B5=D0=BD=D1=8B=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=B4=D0=B2=D1=83=D1=85=20=D0=B8=20=D0=B1=D0=BE=D0=BB=D0=B5?= =?UTF-8?q?=D0=B5=20=D1=8D=D0=BA=D0=B7=D0=B5=D0=BC=D0=BF=D0=BB=D1=8F=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=B4=D0=BE=D0=BB=D0=B6=D0=BD=D1=8B=20=D0=B1?= =?UTF-8?q?=D1=8B=D1=82=D1=8C=20=D0=B2=20=D0=BF=D0=B0=D0=BF=D0=BA=D0=B5=20?= =?UTF-8?q?"scenes/=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8C"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/frame/frame.tscn | 2 +- scenes/pribor-afsp/pribor-afsp-1.tscn | 2 +- scenes/pribor-afsp/pribor-afsp-2.tscn | 2 +- scenes/pribor-afsp/pribor-afsp.gd | 2 +- scenes/pribor-afsp/pribor-bpo.gd | 2 +- scenes/{pribor-afsp => контроль}/bort-afsp.tscn | 0 scenes/{pribor-afsp => контроль}/node-maper.gd | 0 scenes/{pribor-afsp => контроль}/node-maper.gd.uid | 0 8 files changed, 5 insertions(+), 5 deletions(-) rename scenes/{pribor-afsp => контроль}/bort-afsp.tscn (100%) rename scenes/{pribor-afsp => контроль}/node-maper.gd (100%) rename scenes/{pribor-afsp => контроль}/node-maper.gd.uid (100%) diff --git a/scenes/frame/frame.tscn b/scenes/frame/frame.tscn index 23fabd0..93b2ea5 100644 --- a/scenes/frame/frame.tscn +++ b/scenes/frame/frame.tscn @@ -12,7 +12,7 @@ patch_margin_top = 30 patch_margin_right = 15 patch_margin_bottom = 10 script = ExtResource("2_ki0kf") -text = "заголовок" +text = "" [node name="header" type="Label" parent="."] clip_contents = true diff --git a/scenes/pribor-afsp/pribor-afsp-1.tscn b/scenes/pribor-afsp/pribor-afsp-1.tscn index 7d7f4fc..2c05836 100644 --- a/scenes/pribor-afsp/pribor-afsp-1.tscn +++ b/scenes/pribor-afsp/pribor-afsp-1.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" uid="uid://d0jwv5opi3mrl" path="res://scenes/pribor-afsp/pribor-afsp.gd" id="1_151rh"] [ext_resource type="Script" uid="uid://bux47vkw71w1t" path="res://scenes/pribor-afsp/request.gd" id="2_4vyhj"] -[ext_resource type="PackedScene" uid="uid://dnxq870xf6pkh" path="res://scenes/pribor-afsp/bort-afsp.tscn" id="3_d7iti"] +[ext_resource type="PackedScene" uid="uid://dnxq870xf6pkh" path="res://scenes/контроль/bort-afsp.tscn" id="3_d7iti"] [sub_resource type="GDScript" id="GDScript_yhnwg"] script/source = "extends Timer diff --git a/scenes/pribor-afsp/pribor-afsp-2.tscn b/scenes/pribor-afsp/pribor-afsp-2.tscn index a0320ae..2a5abe6 100644 --- a/scenes/pribor-afsp/pribor-afsp-2.tscn +++ b/scenes/pribor-afsp/pribor-afsp-2.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" uid="uid://d0jwv5opi3mrl" path="res://scenes/pribor-afsp/pribor-afsp.gd" id="1_tfses"] [ext_resource type="Script" uid="uid://bux47vkw71w1t" path="res://scenes/pribor-afsp/request.gd" id="2_miwrd"] -[ext_resource type="PackedScene" uid="uid://dnxq870xf6pkh" path="res://scenes/pribor-afsp/bort-afsp.tscn" id="3_xpxb5"] +[ext_resource type="PackedScene" uid="uid://dnxq870xf6pkh" path="res://scenes/контроль/bort-afsp.tscn" id="3_xpxb5"] [sub_resource type="GDScript" id="GDScript_yhnwg"] script/source = "extends Timer diff --git a/scenes/pribor-afsp/pribor-afsp.gd b/scenes/pribor-afsp/pribor-afsp.gd index 75e0d84..319ed92 100644 --- a/scenes/pribor-afsp/pribor-afsp.gd +++ b/scenes/pribor-afsp/pribor-afsp.gd @@ -4,7 +4,7 @@ class_name pribor_afsp extends 'res://scenes/контроль/прибор.gd' @export var prefix_path: String = 'DeviceDescripton[DeviceName]' static var json_conv: JSON = JSON.new() -static var node_maper = load('res://scenes/pribor-afsp/node-maper.gd') +static var node_maper = load('res://scenes/контроль/node-maper.gd') func _on_request_completed(result, _response_code, headers, body: PackedByteArray): if result != 0: diff --git a/scenes/pribor-afsp/pribor-bpo.gd b/scenes/pribor-afsp/pribor-bpo.gd index df9bd58..941bde1 100644 --- a/scenes/pribor-afsp/pribor-bpo.gd +++ b/scenes/pribor-afsp/pribor-bpo.gd @@ -4,7 +4,7 @@ class_name pribor_rtr extends 'res://scenes/контроль/прибор.gd' @export var prefix_path: String = 'DeviceDescripton[DeviceName]' static var json_conv: JSON = JSON.new() -static var node_maper = load('res://scenes/pribor-afsp/node-maper.gd') +static var node_maper = load('res://scenes/контроль/node-maper.gd') const bort_to_node_name = { diff --git a/scenes/pribor-afsp/bort-afsp.tscn b/scenes/контроль/bort-afsp.tscn similarity index 100% rename from scenes/pribor-afsp/bort-afsp.tscn rename to scenes/контроль/bort-afsp.tscn diff --git a/scenes/pribor-afsp/node-maper.gd b/scenes/контроль/node-maper.gd similarity index 100% rename from scenes/pribor-afsp/node-maper.gd rename to scenes/контроль/node-maper.gd diff --git a/scenes/pribor-afsp/node-maper.gd.uid b/scenes/контроль/node-maper.gd.uid similarity index 100% rename from scenes/pribor-afsp/node-maper.gd.uid rename to scenes/контроль/node-maper.gd.uid From 50fe4794b98f6b3b3ae320fef073c5223d2d017e Mon Sep 17 00:00:00 2001 From: sasha80 Date: Wed, 20 Aug 2025 14:11:54 +0300 Subject: [PATCH 04/17] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80.=20=D0=A0=D0=B5=D0=B6=D0=B8=D0=BC=20"=D0=9A=D0=BE?= =?UTF-8?q?=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8C".=20=D0=9E=D0=B1=D1=89?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=D1=8B=20?= =?UTF-8?q?=D0=B8=20=D1=81=D1=86=D0=B5=D0=BD=D1=8B=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=B4=D0=B2=D1=83=D1=85=20=D0=B8=20=D0=B1=D0=BE=D0=BB=D0=B5?= =?UTF-8?q?=D0=B5=20=D1=8D=D0=BA=D0=B7=D0=B5=D0=BC=D0=BF=D0=BB=D1=8F=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=B4=D0=BE=D0=BB=D0=B6=D0=BD=D1=8B=20=D0=B1?= =?UTF-8?q?=D1=8B=D1=82=D1=8C=20=D0=B2=20=D0=BF=D0=B0=D0=BF=D0=BA=D0=B5=20?= =?UTF-8?q?"scenes/=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8C"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-afsp/pribor-afsp-1.tscn | 2 +- scenes/pribor-afsp/pribor-afsp-2.tscn | 2 +- scenes/pribor-afsp/pribor-bpo.tscn | 2 +- scenes/{pribor-afsp => контроль}/request.gd | 0 scenes/{pribor-afsp => контроль}/request.gd.uid | 0 5 files changed, 3 insertions(+), 3 deletions(-) rename scenes/{pribor-afsp => контроль}/request.gd (100%) rename scenes/{pribor-afsp => контроль}/request.gd.uid (100%) diff --git a/scenes/pribor-afsp/pribor-afsp-1.tscn b/scenes/pribor-afsp/pribor-afsp-1.tscn index 2c05836..4ae55a5 100644 --- a/scenes/pribor-afsp/pribor-afsp-1.tscn +++ b/scenes/pribor-afsp/pribor-afsp-1.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://8ll27id5ajq1"] [ext_resource type="Script" uid="uid://d0jwv5opi3mrl" path="res://scenes/pribor-afsp/pribor-afsp.gd" id="1_151rh"] -[ext_resource type="Script" uid="uid://bux47vkw71w1t" path="res://scenes/pribor-afsp/request.gd" id="2_4vyhj"] +[ext_resource type="Script" uid="uid://bux47vkw71w1t" path="res://scenes/контроль/request.gd" id="2_4vyhj"] [ext_resource type="PackedScene" uid="uid://dnxq870xf6pkh" path="res://scenes/контроль/bort-afsp.tscn" id="3_d7iti"] [sub_resource type="GDScript" id="GDScript_yhnwg"] diff --git a/scenes/pribor-afsp/pribor-afsp-2.tscn b/scenes/pribor-afsp/pribor-afsp-2.tscn index 2a5abe6..9d8b4cc 100644 --- a/scenes/pribor-afsp/pribor-afsp-2.tscn +++ b/scenes/pribor-afsp/pribor-afsp-2.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://5uv1idl3lqet"] [ext_resource type="Script" uid="uid://d0jwv5opi3mrl" path="res://scenes/pribor-afsp/pribor-afsp.gd" id="1_tfses"] -[ext_resource type="Script" uid="uid://bux47vkw71w1t" path="res://scenes/pribor-afsp/request.gd" id="2_miwrd"] +[ext_resource type="Script" uid="uid://bux47vkw71w1t" path="res://scenes/контроль/request.gd" id="2_miwrd"] [ext_resource type="PackedScene" uid="uid://dnxq870xf6pkh" path="res://scenes/контроль/bort-afsp.tscn" id="3_xpxb5"] [sub_resource type="GDScript" id="GDScript_yhnwg"] diff --git a/scenes/pribor-afsp/pribor-bpo.tscn b/scenes/pribor-afsp/pribor-bpo.tscn index 993ce69..71ae79c 100644 --- a/scenes/pribor-afsp/pribor-bpo.tscn +++ b/scenes/pribor-afsp/pribor-bpo.tscn @@ -3,7 +3,7 @@ [ext_resource type="Script" uid="uid://d0jwv5opi3mrk" path="res://scenes/pribor-afsp/pribor-bpo.gd" id="1_bhc4e"] [ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="2_jp6m0"] [ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="3_jcpjs"] -[ext_resource type="Script" uid="uid://bux47vkw71w1t" path="res://scenes/pribor-afsp/request.gd" id="4_crej3"] +[ext_resource type="Script" uid="uid://bux47vkw71w1t" path="res://scenes/контроль/request.gd" id="4_crej3"] [node name="pribor_bpo" type="Control"] layout_mode = 3 diff --git a/scenes/pribor-afsp/request.gd b/scenes/контроль/request.gd similarity index 100% rename from scenes/pribor-afsp/request.gd rename to scenes/контроль/request.gd diff --git a/scenes/pribor-afsp/request.gd.uid b/scenes/контроль/request.gd.uid similarity index 100% rename from scenes/pribor-afsp/request.gd.uid rename to scenes/контроль/request.gd.uid From 77bb11553418fcdf05aa33a36e042083398dac29 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Wed, 20 Aug 2025 14:12:31 +0300 Subject: [PATCH 05/17] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0.=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D1=8D=D0=BB=D0=B5=D0=BC=D0=B5=D0=BD=D1=82=20?= =?UTF-8?q?=D1=82=D0=B8=D0=BF=D0=B0=20"=D0=91=D0=BB=D0=BE=D0=BA-=D0=92"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/контроль/блок-в.tscn | 461 ++++++++++++++++++++++++++++++++++++ 1 file changed, 461 insertions(+) create mode 100644 scenes/контроль/блок-в.tscn diff --git a/scenes/контроль/блок-в.tscn b/scenes/контроль/блок-в.tscn new file mode 100644 index 0000000..6f5bede --- /dev/null +++ b/scenes/контроль/блок-в.tscn @@ -0,0 +1,461 @@ +[gd_scene load_steps=15 format=3 uid="uid://bcyxqni7gxvtq"] + +[ext_resource type="Texture2D" uid="uid://c6nve6f8sfyj2" path="res://data/состояние-исправности-0.png" id="1_n1aqt"] +[ext_resource type="Texture2D" uid="uid://dnreyfh3cd1k2" path="res://data/состояние-исправности-1.png" id="2_rim3u"] +[ext_resource type="Texture2D" uid="uid://c6booa8753u5t" path="res://data/состояние-исправности-2.png" id="3_3w8fg"] +[ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="4_mcviv"] +[ext_resource type="Texture2D" uid="uid://00871pb6moln" path="res://data/прогресс-фон-1.png" id="5_rim3u"] +[ext_resource type="Texture2D" uid="uid://c1k856fxhrjnh" path="res://data/прогресс-заполнение-1.png" id="6_3w8fg"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_3nd2u"] + +[sub_resource type="GDScript" id="GDScript_oj3k3"] +script/source = "@tool +extends PanelContainer + +@export var textures: Array + +signal pressed(control: PanelContainer) + + +## Значения уровней +@export var value0: Array[float]: + set(v): + value0 = v + if not is_inside_tree(): + return + var items: Array[Node] = get_tree().get_nodes_in_group('уровни') + var count: int = min(items.size(), v.size()) + for i in count: + items[i].value = v[i] + + +func _enter_tree() -> void: + call_deferred('_enter_tree_defered') + + +func _enter_tree_defered(): + var items: Array[Node] = get_tree().get_nodes_in_group('уровни') + var count: int = min(items.size(), value0.size()) + for i in count: + items[i].value = value0[i] + items[i].step = step0 + $margin/vbox/grid1/level7.value = value1 + $margin/vbox/grid1/level7.min_value = min_value1 + $margin/vbox/grid1/level7.max_value = max_value1 + $margin/vbox/grid1/level7.step = step1 + $margin/vbox.alignment = alignment + $margin/vbox/grid0/rname.text = rname + $margin/vbox/grid0/fname.text = fname + set_group_param('названия', 'text', value_name0) + + +## Значение уровня +@export var value1: float: + set(v): + value1 = v + if not is_inside_tree(): + return + $margin/vbox/grid1/level7.value = v + + +@export var min_value0: float: + set(v): + min_value0 = v + set_group_param('уровни', 'min_value', v) + + +@export var min_value1: float: + set(v): + min_value1 = v + if not is_inside_tree(): + return + $margin/vbox/grid1/level7.min_value = v + + +@export var max_value0: float: + set(v): + max_value0 = v + set_group_param('уровни', 'max_value', v) + + +@export var max_value1: float: + set(v): + max_value1 = v + if not is_inside_tree(): + return + $margin/vbox/grid1/level7.max_value = v + + +@export var step0: float: + set(v): + step0 = v + set_group_param('уровни', 'step', v) + + +@export var step1: float: + set(v): + step1 = v + if not is_inside_tree(): + return + $margin/vbox/grid1/level7.step = v + + +@export var value_name0: String: + set(v): + value_name0 = v + set_group_param('названия', 'text', v) + + +@export var value_name1: String: + set(v): + value_name1 = v + if not is_inside_tree(): + return + $margin/vbox/grid2/lbl7.text = v + + +@export var fname: String: + set(v): + fname = v + if not is_inside_tree(): + return + $margin/vbox/grid0/fname.text = v + + +@export var rname: String: + set(v): + rname = v + if not is_inside_tree(): + return + $margin/vbox/grid0/rname.text = v + + +@export var state: int: + set(v): + state = tools.clip_value(v, 0, textures.size() - 1) + $margin/vbox/grid0/state.texture = textures[state] + + +@export var alignment: int: + set(v): + alignment = v + if not is_inside_tree(): + return + $margin/vbox.alignment = v + + +func _on_button_pressed(): emit_signal('pressed', self) + + +func set_group_param(group: StringName, param: StringName, v) -> void: + if not is_inside_tree(): + return + var items: Array[Node] = get_tree().get_nodes_in_group(group) + for i in items.size(): + items[i].set(param, v) + + +func set_value0_by_index(index: int, value: float) -> void: + var items: Array[Node] = get_tree().get_nodes_in_group('уровни') + items[index].value = value +" + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_rceim"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_8yvwo"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_6qu57"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_mlxje"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_3dspb"] + +[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="блок-в" 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_n1aqt"), ExtResource("2_rim3u"), ExtResource("3_3w8fg")] +value0 = Array[float]([20.0, 30.0, 40.0, 50.0, 60.0, 70.0]) +value1 = 56.0 +min_value1 = -50.0 +max_value0 = 100.0 +max_value1 = 120.0 +step0 = 1.0 +step1 = 1.0 +value_name0 = "P,%" +value_name1 = "°C" +fname = "Блок В" +rname = "A1" + +[node name="button" type="Button" parent="."] +layout_mode = 2 +theme_override_styles/focus = SubResource("StyleBoxEmpty_rceim") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_8yvwo") +theme_override_styles/hover = SubResource("StyleBoxEmpty_6qu57") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_mlxje") +theme_override_styles/normal = SubResource("StyleBoxEmpty_3dspb") + +[node name="rect" type="NinePatchRect" parent="."] +layout_mode = 2 +texture = ExtResource("4_mcviv") +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_n1aqt") +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 +text = "Блок В" +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 = 18 +text = "A1" +horizontal_alignment = 2 +vertical_alignment = 1 + +[node name="grid1" type="GridContainer" parent="margin/vbox"] +layout_mode = 2 +size_flags_vertical = 3 +columns = 7 + +[node name="level1" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["уровни"]] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +value = 20.0 +fill_mode = 3 +nine_patch_stretch = true +stretch_margin_left = 8 +stretch_margin_top = 8 +stretch_margin_right = 8 +stretch_margin_bottom = 8 +texture_under = ExtResource("5_rim3u") +texture_progress = ExtResource("6_3w8fg") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + +[node name="level2" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["уровни"]] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +value = 30.0 +fill_mode = 3 +nine_patch_stretch = true +stretch_margin_left = 8 +stretch_margin_top = 8 +stretch_margin_right = 8 +stretch_margin_bottom = 8 +texture_under = ExtResource("5_rim3u") +texture_progress = ExtResource("6_3w8fg") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + +[node name="level3" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["уровни"]] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +value = 40.0 +fill_mode = 3 +nine_patch_stretch = true +stretch_margin_left = 8 +stretch_margin_top = 8 +stretch_margin_right = 8 +stretch_margin_bottom = 8 +texture_under = ExtResource("5_rim3u") +texture_progress = ExtResource("6_3w8fg") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + +[node name="level4" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["уровни"]] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +value = 50.0 +fill_mode = 3 +nine_patch_stretch = true +stretch_margin_left = 8 +stretch_margin_top = 8 +stretch_margin_right = 8 +stretch_margin_bottom = 8 +texture_under = ExtResource("5_rim3u") +texture_progress = ExtResource("6_3w8fg") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + +[node name="level5" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["уровни"]] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +value = 60.0 +fill_mode = 3 +nine_patch_stretch = true +stretch_margin_left = 8 +stretch_margin_top = 8 +stretch_margin_right = 8 +stretch_margin_bottom = 8 +texture_under = ExtResource("5_rim3u") +texture_progress = ExtResource("6_3w8fg") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + +[node name="level6" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["уровни"]] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +value = 70.0 +fill_mode = 3 +nine_patch_stretch = true +stretch_margin_left = 8 +stretch_margin_top = 8 +stretch_margin_right = 8 +stretch_margin_bottom = 8 +texture_under = ExtResource("5_rim3u") +texture_progress = ExtResource("6_3w8fg") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + +[node name="level7" type="TextureProgressBar" parent="margin/vbox/grid1"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +min_value = -50.0 +max_value = 120.0 +value = 56.0 +fill_mode = 3 +nine_patch_stretch = true +stretch_margin_left = 8 +stretch_margin_top = 8 +stretch_margin_right = 8 +stretch_margin_bottom = 8 +texture_under = ExtResource("5_rim3u") +texture_progress = ExtResource("6_3w8fg") +tint_under = Color(0.890196, 0.486275, 0.196078, 1) +tint_over = Color(0.890196, 0.486275, 0.196078, 1) + +[node name="grid2" type="GridContainer" parent="margin/vbox"] +clip_contents = true +layout_mode = 2 +size_flags_vertical = 4 +columns = 7 + +[node name="lbl1" type="Label" parent="margin/vbox/grid2" groups=["названия"]] +clip_contents = true +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 8 +text = "P,%" +horizontal_alignment = 1 + +[node name="lbl2" type="Label" parent="margin/vbox/grid2" groups=["названия"]] +clip_contents = true +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 8 +text = "P,%" +horizontal_alignment = 1 + +[node name="lbl3" type="Label" parent="margin/vbox/grid2" groups=["названия"]] +clip_contents = true +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 8 +text = "P,%" +horizontal_alignment = 1 + +[node name="lbl4" type="Label" parent="margin/vbox/grid2" groups=["названия"]] +clip_contents = true +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 8 +text = "P,%" +horizontal_alignment = 1 + +[node name="lbl5" type="Label" parent="margin/vbox/grid2" groups=["названия"]] +clip_contents = true +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 8 +text = "P,%" +horizontal_alignment = 1 + +[node name="lbl6" type="Label" parent="margin/vbox/grid2" groups=["названия"]] +clip_contents = true +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 8 +text = "P,%" +horizontal_alignment = 1 + +[node name="lbl7" type="Label" parent="margin/vbox/grid2"] +clip_contents = true +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 8 +text = "°C" +horizontal_alignment = 1 + +[connection signal="pressed" from="button" to="." method="_on_button_pressed"] From 78a208ca6dc25612233eb6018418183eb1cdf12e Mon Sep 17 00:00:00 2001 From: sasha80 Date: Wed, 20 Aug 2025 16:19:49 +0300 Subject: [PATCH 06/17] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0.=20=D0=92=20=D0=BF=D1=80=D0=BE=D1=86=D0=B5?= =?UTF-8?q?=D1=81=D1=81=D0=B5.=20=D0=9E=D0=B4=D0=B8=D0=BD=20=D1=8D=D0=BB?= =?UTF-8?q?=D0=B5=D0=BC=D0=B5=D0=BD=D1=82=20=D0=9F=D0=A0=D0=94-=D0=9A=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BC=D0=B5=D0=BD=D1=91=D0=BD=20=D0=BD=D0=B0=20"?= =?UTF-8?q?=D0=91=D0=BB=D0=BE=D0=BA-=D0=92"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-prd-k/pribor-prd-k.tscn | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/scenes/pribor-prd-k/pribor-prd-k.tscn b/scenes/pribor-prd-k/pribor-prd-k.tscn index acb6db2..dd2ba96 100644 --- a/scenes/pribor-prd-k/pribor-prd-k.tscn +++ b/scenes/pribor-prd-k/pribor-prd-k.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=15 format=3 uid="uid://m5s87q7m66lj"] +[gd_scene load_steps=16 format=3 uid="uid://m5s87q7m66lj"] [ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="1_8dmgr"] [ext_resource type="Script" uid="uid://cwvikiygf8b1m" path="res://scenes/pribor-prd-k/pribor-prd-k.gd" id="1_tpdyp"] [ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="2_14h25"] [ext_resource type="PackedScene" uid="uid://cm5jd4gjrrpba" path="res://scenes/контроль/кассета-у-5-к.tscn" id="2_tb85r"] +[ext_resource type="PackedScene" uid="uid://bcyxqni7gxvtq" path="res://scenes/контроль/блок-в.tscn" id="5_c7lv8"] [ext_resource type="PackedScene" uid="uid://bkxblfoj7ejv0" path="res://scenes/контроль/блок-а.tscn" id="6_fmhtx"] [ext_resource type="PackedScene" uid="uid://bmagw8nd0ulhj" path="res://scenes/pribor-prd-k/kasseta-fs-kd.tscn" id="7_ia27q"] [ext_resource type="Script" uid="uid://crpedygm3gohi" path="res://scenes/контроль/кассета.gd" id="7_xpa2n"] @@ -113,16 +114,14 @@ text = "Панель horizontal_alignment = 1 vertical_alignment = 1 -[node name="um1535_A10" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="um1535_A10" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 485.0 offset_top = 242.0 offset_right = 652.0 offset_bottom = 337.0 -value_name0 = "°C" -value_name1 = "P, %" -name_min_size0 = Vector2i(35, 20) -name_min_size1 = Vector2i(35, 20) +value_name0 = "P,%" +value_name1 = "°C" fname = "УМ1535Б" rname = "A10" From e43ddfc3209dc22f8afeda9024660ec3ad3d834d Mon Sep 17 00:00:00 2001 From: sasha80 Date: Wed, 20 Aug 2025 16:40:12 +0300 Subject: [PATCH 07/17] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0.=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D1=8D=D0=BB=D0=B5=D0=BC=D0=B5=D0=BD=D1=82=20?= =?UTF-8?q?=D1=82=D0=B8=D0=BF=D0=B0=20"=D0=91=D0=BB=D0=BE=D0=BA-=D0=92"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/контроль/блок-в.tscn | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/scenes/контроль/блок-в.tscn b/scenes/контроль/блок-в.tscn index 6f5bede..8dd0def 100644 --- a/scenes/контроль/блок-в.tscn +++ b/scenes/контроль/блок-в.tscn @@ -30,23 +30,23 @@ signal pressed(control: PanelContainer) items[i].value = v[i] -func _enter_tree() -> void: - call_deferred('_enter_tree_defered') - - func _enter_tree_defered(): var items: Array[Node] = get_tree().get_nodes_in_group('уровни') var count: int = min(items.size(), value0.size()) for i in count: items[i].value = value0[i] + items[i].min_value = min_value0 + items[i].max_value = max_value0 items[i].step = step0 $margin/vbox/grid1/level7.value = value1 $margin/vbox/grid1/level7.min_value = min_value1 $margin/vbox/grid1/level7.max_value = max_value1 $margin/vbox/grid1/level7.step = step1 + $margin/vbox/grid2/lbl7.text = value_name1 $margin/vbox.alignment = alignment $margin/vbox/grid0/rname.text = rname $margin/vbox/grid0/fname.text = fname + $margin/vbox/grid0/state.texture = textures[state] set_group_param('названия', 'text', value_name0) @@ -134,6 +134,8 @@ func _enter_tree_defered(): @export var state: int: set(v): state = tools.clip_value(v, 0, textures.size() - 1) + if not is_inside_tree(): + return $margin/vbox/grid0/state.texture = textures[state] @@ -146,6 +148,7 @@ func _enter_tree_defered(): func _on_button_pressed(): emit_signal('pressed', self) +func _enter_tree() -> void: call_deferred('_enter_tree_defered') func set_group_param(group: StringName, param: StringName, v) -> void: From e061ee8c408e3db617059911e88becd720b455d9 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Wed, 20 Aug 2025 16:40:30 +0300 Subject: [PATCH 08/17] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0.=20=D0=92=20=D0=BF=D1=80=D0=BE=D1=86=D0=B5?= =?UTF-8?q?=D1=81=D1=81=D0=B5.=20=D0=9E=D0=B4=D0=B8=D0=BD=20=D1=8D=D0=BB?= =?UTF-8?q?=D0=B5=D0=BC=D0=B5=D0=BD=D1=82=20=D0=9F=D0=A0=D0=94-=D0=9A=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BC=D0=B5=D0=BD=D1=91=D0=BD=20=D0=BD=D0=B0=20"?= =?UTF-8?q?=D0=91=D0=BB=D0=BE=D0=BA-=D0=92"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-prd-k/pribor-prd-k.tscn | 32 +++++---------------------- 1 file changed, 5 insertions(+), 27 deletions(-) diff --git a/scenes/pribor-prd-k/pribor-prd-k.tscn b/scenes/pribor-prd-k/pribor-prd-k.tscn index dd2ba96..22025ba 100644 --- a/scenes/pribor-prd-k/pribor-prd-k.tscn +++ b/scenes/pribor-prd-k/pribor-prd-k.tscn @@ -120,73 +120,51 @@ offset_left = 485.0 offset_top = 242.0 offset_right = 652.0 offset_bottom = 337.0 -value_name0 = "P,%" -value_name1 = "°C" fname = "УМ1535Б" rname = "A10" -[node name="um1535_A11" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="um1535_A11" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 485.0 offset_top = 337.0 offset_right = 652.0 offset_bottom = 432.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="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="um1535_A12" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 485.0 offset_top = 432.0 offset_right = 652.0 offset_bottom = 527.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="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="um1535_A13" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 485.0 offset_top = 527.0 offset_right = 652.0 offset_bottom = 622.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="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="um1535_A14" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 485.0 offset_top = 622.0 offset_right = 652.0 offset_bottom = 717.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="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="um1535_A15" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 485.0 offset_top = 717.0 offset_right = 652.0 offset_bottom = 812.0 -value_name0 = "°C" -value_name1 = "P, %" -name_min_size0 = Vector2i(35, 20) -name_min_size1 = Vector2i(35, 20) fname = "УМ1535Б" rname = "A15" From f47cccaf44d0c305973e99f6f1e8e855eeba9087 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 21 Aug 2025 09:37:54 +0300 Subject: [PATCH 09/17] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80.=20=D0=9F=D0=B5=D1=80=D0=B5=D0=B8=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B2=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D0=B8?= =?UTF-8?q?=D0=B8=20=D1=81=D0=BE=20=D1=81=D1=85=D0=B5=D0=BC=D0=BE=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-prd-k/pribor-prd-k.tscn | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/scenes/pribor-prd-k/pribor-prd-k.tscn b/scenes/pribor-prd-k/pribor-prd-k.tscn index 22025ba..d0e4e11 100644 --- a/scenes/pribor-prd-k/pribor-prd-k.tscn +++ b/scenes/pribor-prd-k/pribor-prd-k.tscn @@ -181,7 +181,7 @@ name_min_size1 = Vector2i(35, 20) fname = "УТМ80" rname = "A9" -[node name="um1535_A16" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="rm1620m_A16" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] layout_mode = 0 offset_left = 8.0 offset_top = 242.0 @@ -194,7 +194,7 @@ name_min_size1 = Vector2i(35, 20) fname = "РМ16-20М" rname = "A16" -[node name="um1535_A17" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="rm1620m_A17" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] layout_mode = 0 offset_left = 8.0 offset_top = 337.0 @@ -207,7 +207,7 @@ name_min_size1 = Vector2i(35, 20) fname = "РМ16-20М" rname = "A17" -[node name="um1535_A18" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="rm1620m_A18" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] layout_mode = 0 offset_left = 8.0 offset_top = 432.0 @@ -220,7 +220,7 @@ name_min_size1 = Vector2i(35, 20) fname = "РМ16-20М" rname = "A18" -[node name="um1535_A19" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="rm1620m_A19" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] layout_mode = 0 offset_left = 8.0 offset_top = 527.0 @@ -233,7 +233,7 @@ name_min_size1 = Vector2i(35, 20) fname = "РМ16-20М" rname = "A19" -[node name="um1535_A20" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="rm1620m_A20" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] layout_mode = 0 offset_left = 8.0 offset_top = 622.0 @@ -246,7 +246,7 @@ name_min_size1 = Vector2i(35, 20) fname = "РМ16-20М" rname = "A20" -[node name="um1535_A21" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="rm1620m_A21" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] layout_mode = 0 offset_left = 8.0 offset_top = 717.0 From 7c0f3f40944bb7c58c70d1641a1a412ad9076c6e Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 21 Aug 2025 10:38:58 +0300 Subject: [PATCH 10/17] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5.=20"=D0=91=D0=BB=D0=BE=D0=BA-?= =?UTF-8?q?=D0=92":=20=D0=9F=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80?= =?UTF-8?q?=D1=8B=20=D0=BD=D0=B5=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B8=D0=B2=D0=B0=D1=8E=D1=82=D1=81=D1=8F=20=D0=B8?= =?UTF-8?q?=D0=BB=D0=B8=20=D0=B2=D0=BE=D0=B7=D0=BD=D0=B8=D0=BA=D0=B0=D0=B5?= =?UTF-8?q?=D1=82=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20(=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D1=81=D0=B2=D0=BE=D0=B5=D0=BD=D0=B8=D0=B5/=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D0=B4=D0=B0=D1=87=D0=B0=20=D1=82=D0=B8=D0=BF=D0=B8?= =?UTF-8?q?=D0=B7=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D0=BC=D0=B0=D1=81=D1=81=D0=B8=D0=B2=D0=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/контроль/блок-в.tscn | 45 +++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/scenes/контроль/блок-в.tscn b/scenes/контроль/блок-в.tscn index 8dd0def..09711cd 100644 --- a/scenes/контроль/блок-в.tscn +++ b/scenes/контроль/блок-в.tscn @@ -19,7 +19,7 @@ signal pressed(control: PanelContainer) ## Значения уровней -@export var value0: Array[float]: +@export var value0: Array: set(v): value0 = v if not is_inside_tree(): @@ -30,26 +30,6 @@ signal pressed(control: PanelContainer) items[i].value = v[i] -func _enter_tree_defered(): - var items: Array[Node] = get_tree().get_nodes_in_group('уровни') - var count: int = min(items.size(), value0.size()) - for i in count: - items[i].value = value0[i] - items[i].min_value = min_value0 - items[i].max_value = max_value0 - items[i].step = step0 - $margin/vbox/grid1/level7.value = value1 - $margin/vbox/grid1/level7.min_value = min_value1 - $margin/vbox/grid1/level7.max_value = max_value1 - $margin/vbox/grid1/level7.step = step1 - $margin/vbox/grid2/lbl7.text = value_name1 - $margin/vbox.alignment = alignment - $margin/vbox/grid0/rname.text = rname - $margin/vbox/grid0/fname.text = fname - $margin/vbox/grid0/state.texture = textures[state] - set_group_param('названия', 'text', value_name0) - - ## Значение уровня @export var value1: float: set(v): @@ -149,6 +129,7 @@ func _enter_tree_defered(): func _on_button_pressed(): emit_signal('pressed', self) func _enter_tree() -> void: call_deferred('_enter_tree_defered') +func set_value0(value: Array): value0 = value func set_group_param(group: StringName, param: StringName, v) -> void: @@ -162,6 +143,26 @@ func set_group_param(group: StringName, param: StringName, v) -> void: func set_value0_by_index(index: int, value: float) -> void: var items: Array[Node] = get_tree().get_nodes_in_group('уровни') items[index].value = value + + +func _enter_tree_defered(): + var items: Array[Node] = get_tree().get_nodes_in_group('уровни') + var count: int = min(items.size(), value0.size()) + for i in count: + items[i].value = value0[i] + items[i].min_value = min_value0 + items[i].max_value = max_value0 + items[i].step = step0 + $margin/vbox/grid1/level7.value = value1 + $margin/vbox/grid1/level7.min_value = min_value1 + $margin/vbox/grid1/level7.max_value = max_value1 + $margin/vbox/grid1/level7.step = step1 + $margin/vbox/grid2/lbl7.text = value_name1 + $margin/vbox.alignment = alignment + $margin/vbox/grid0/rname.text = rname + $margin/vbox/grid0/fname.text = fname + $margin/vbox/grid0/state.texture = textures[state] + set_group_param('названия', 'text', value_name0) " [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_rceim"] @@ -206,7 +207,7 @@ offset_bottom = 88.0 theme_override_styles/panel = SubResource("StyleBoxEmpty_3nd2u") script = SubResource("GDScript_oj3k3") textures = [ExtResource("1_n1aqt"), ExtResource("2_rim3u"), ExtResource("3_3w8fg")] -value0 = Array[float]([20.0, 30.0, 40.0, 50.0, 60.0, 70.0]) +value0 = [20.0, 30.0, 40.0, 50.0, 60.0, 70.0] value1 = 56.0 min_value1 = -50.0 max_value0 = 100.0 From cb26e9e0541975a3b771974630d0746c8a986b56 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 21 Aug 2025 11:32:15 +0300 Subject: [PATCH 11/17] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0.=20=D0=92=20=D0=BF=D1=80=D0=BE=D1=86=D0=B5?= =?UTF-8?q?=D1=81=D1=81=D0=B5.=20=D0=9D=D0=B5=D1=81=D0=BA=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=BA=D0=BE=20=D1=8D=D0=BB=D0=B5=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=9F=D0=A0=D0=94-=D0=9A=20=D0=B7=D0=B0=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=B5=D0=BD=D1=8B=20=D0=BD=D0=B0=20"=D0=91=D0=BB?= =?UTF-8?q?=D0=BE=D0=BA-=D0=92"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-prd-k/pribor-prd-k.tscn | 38 +++++---------------------- 1 file changed, 6 insertions(+), 32 deletions(-) diff --git a/scenes/pribor-prd-k/pribor-prd-k.tscn b/scenes/pribor-prd-k/pribor-prd-k.tscn index d0e4e11..1c35e7d 100644 --- a/scenes/pribor-prd-k/pribor-prd-k.tscn +++ b/scenes/pribor-prd-k/pribor-prd-k.tscn @@ -176,86 +176,60 @@ offset_right = 652.0 offset_bottom = 907.0 value_name0 = "°C" value_name1 = "P, %" -name_min_size0 = Vector2i(35, 20) -name_min_size1 = Vector2i(35, 20) fname = "УТМ80" rname = "A9" -[node name="rm1620m_A16" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="rm1620m_A16" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 8.0 offset_top = 242.0 offset_right = 175.0 offset_bottom = 337.0 -value_name0 = "°C" -value_name1 = "P, %" -name_min_size0 = Vector2i(35, 20) -name_min_size1 = Vector2i(35, 20) fname = "РМ16-20М" rname = "A16" -[node name="rm1620m_A17" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="rm1620m_A17" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 8.0 offset_top = 337.0 offset_right = 173.0 offset_bottom = 432.0 -value_name0 = "°C" -value_name1 = "P, %" -name_min_size0 = Vector2i(35, 20) -name_min_size1 = Vector2i(35, 20) fname = "РМ16-20М" rname = "A17" -[node name="rm1620m_A18" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="rm1620m_A18" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 8.0 offset_top = 432.0 offset_right = 175.0 offset_bottom = 527.0 -value_name0 = "°C" -value_name1 = "P, %" -name_min_size0 = Vector2i(35, 20) -name_min_size1 = Vector2i(35, 20) fname = "РМ16-20М" rname = "A18" -[node name="rm1620m_A19" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="rm1620m_A19" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 8.0 offset_top = 527.0 offset_right = 175.0 offset_bottom = 622.0 -value_name0 = "°C" -value_name1 = "P, %" -name_min_size0 = Vector2i(35, 20) -name_min_size1 = Vector2i(35, 20) fname = "РМ16-20М" rname = "A19" -[node name="rm1620m_A20" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="rm1620m_A20" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 8.0 offset_top = 622.0 offset_right = 175.0 offset_bottom = 717.0 -value_name0 = "°C" -value_name1 = "P, %" -name_min_size0 = Vector2i(35, 20) -name_min_size1 = Vector2i(35, 20) fname = "РМ16-20М" rname = "A20" -[node name="rm1620m_A21" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] +[node name="rm1620m_A21" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 8.0 offset_top = 717.0 offset_right = 175.0 offset_bottom = 812.0 -value_name0 = "°C" -value_name1 = "P, %" -name_min_size0 = Vector2i(35, 20) -name_min_size1 = Vector2i(35, 20) fname = "РМ16-20М" rname = "A21" From 932fd2db14b7c0d4f5afeb643e93e94ccf923cce Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 21 Aug 2025 15:27:05 +0300 Subject: [PATCH 12/17] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5.=20=D0=9F=D0=B0=D1=80=D0=B0?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D1=80=20=D0=BD=D0=B5=20=D0=B8=D1=81=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BB=D1=81=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/журнал/журнал.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scenes/журнал/журнал.gd b/scenes/журнал/журнал.gd index 16ff54d..dc5ab85 100644 --- a/scenes/журнал/журнал.gd +++ b/scenes/журнал/журнал.gd @@ -4,7 +4,7 @@ extends Panel func on_line_changed(unit_inst): log.message(Logger.INFO, '\"%s\" изменение состояния: %s' % [unit_inst.name, 'на связи' if unit_inst.online else 'отключен']) func on_command_fail(unit_inst): log.message(Logger.ERROR, '\"%s\" команда не выполнена' % unit_inst.name) func on_threats_changed(th: Object, msg: String): log.message(Logger.INFO, '%s: %s' % [msg, th.to_string()]) -func on_parse_error(unit_inst, msg: String): log.message(Logger.ERROR, '%s: %s' % [unit.name, msg]) +func on_parse_error(unit_inst, msg: String): log.message(Logger.ERROR, '%s: %s' % [unit_inst.name, 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) From 35294d4b1d45b7e29833545b06433bcb1120a5b2 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 21 Aug 2025 15:27:39 +0300 Subject: [PATCH 13/17] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- table/table.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/table/table.gd b/table/table.gd index fa0be94..3a62360 100644 --- a/table/table.gd +++ b/table/table.gd @@ -11,7 +11,7 @@ class_name GDTable extends GridContainer const HEAD_PREFIX = 'HEAD_' ## Префикс ключа заголовка таблицы const INDEX_FORMAT = '%03d_%03d' ## Формат индекса ключа -const MAX_INDEX = 199 ## Максимальное значение индекса для колонки и строки. Связано с форматом индекса ключа +const MAX_INDEX = 199 ## Максимальное значение индекса для колонки и строки. Связано с форматом индекса ключа const NODE_PREFIX = 'NODE_' ## Префикс ключа ячейки таблицы const SLCT_PREFIX = 'SLCT_' ## Префикс ключа индикатора выбранного ряда таблицы From f7a1dd71725c719d14acdf96a757cf63da59917d Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 21 Aug 2025 15:31:25 +0300 Subject: [PATCH 14/17] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5.=20"=D0=91=D0=BB=D0=BE=D0=BA-?= =?UTF-8?q?=D0=92":=20=D0=AD=D0=BA=D0=B7=D0=B5=D0=BC=D0=BF=D0=BB=D1=8F?= =?UTF-8?q?=D1=80=D1=8B=20=D1=83=D1=80=D0=BE=D0=B2=D0=BD=D0=B5=D0=B9=20?= =?UTF-8?q?=D0=B8=D0=B7=20=D1=80=D0=B0=D0=B7=D0=BD=D1=8B=D1=85=20"=D0=B1?= =?UTF-8?q?=D0=BB=D0=BE=D0=BA-=D0=B2"=20=D0=BD=D0=B0=D1=85=D0=BE=D0=B4?= =?UTF-8?q?=D1=8F=D1=82=D1=81=D1=8F=20=D0=B2=20=D0=BE=D0=B4=D0=BD=D0=BE?= =?UTF-8?q?=D0=B9=20=D0=B3=D1=80=D1=83=D0=BF=D0=BF=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/контроль/блок-в.tscn | 85 ++++++++++++++++++++++++++----------- 1 file changed, 60 insertions(+), 25 deletions(-) diff --git a/scenes/контроль/блок-в.tscn b/scenes/контроль/блок-в.tscn index 09711cd..9a341f5 100644 --- a/scenes/контроль/блок-в.tscn +++ b/scenes/контроль/блок-в.tscn @@ -11,7 +11,7 @@ [sub_resource type="GDScript" id="GDScript_oj3k3"] script/source = "@tool -extends PanelContainer +class_name blok_v extends PanelContainer @export var textures: Array @@ -21,10 +21,8 @@ signal pressed(control: PanelContainer) ## Значения уровней @export var value0: Array: set(v): - value0 = v - if not is_inside_tree(): - return - var items: Array[Node] = get_tree().get_nodes_in_group('уровни') + value0.assign(v) + var items: Array = get_level_nodes() var count: int = min(items.size(), v.size()) for i in count: items[i].value = v[i] @@ -42,7 +40,8 @@ signal pressed(control: PanelContainer) @export var min_value0: float: set(v): min_value0 = v - set_group_param('уровни', 'min_value', v) + var items: = get_level_nodes() + set_group_param(items, 'min_value', v) @export var min_value1: float: @@ -56,7 +55,8 @@ signal pressed(control: PanelContainer) @export var max_value0: float: set(v): max_value0 = v - set_group_param('уровни', 'max_value', v) + var items: = get_level_nodes() + set_group_param(items, 'max_value', v) @export var max_value1: float: @@ -70,7 +70,8 @@ signal pressed(control: PanelContainer) @export var step0: float: set(v): step0 = v - set_group_param('уровни', 'step', v) + var items: = get_level_nodes() + set_group_param(items, 'step', v) @export var step1: float: @@ -84,7 +85,8 @@ signal pressed(control: PanelContainer) @export var value_name0: String: set(v): value_name0 = v - set_group_param('названия', 'text', v) + var items: Array = get_name_nodes() + set_group_param(items, 'text', v) @export var value_name1: String: @@ -122,47 +124,80 @@ signal pressed(control: PanelContainer) @export var alignment: int: set(v): alignment = v - if not is_inside_tree(): + if is_inside_tree(): return $margin/vbox.alignment = v func _on_button_pressed(): emit_signal('pressed', self) func _enter_tree() -> void: call_deferred('_enter_tree_defered') -func set_value0(value: Array): value0 = value +func set_value0(value: Array): value0.assign(value) -func set_group_param(group: StringName, param: StringName, v) -> void: +func set_group_param(items: Array, param: StringName, v) -> void: if not is_inside_tree(): return - var items: Array[Node] = get_tree().get_nodes_in_group(group) + if not get_tree(): + return for i in items.size(): items[i].set(param, v) func set_value0_by_index(index: int, value: float) -> void: - var items: Array[Node] = get_tree().get_nodes_in_group('уровни') + var items: Array = get_level_nodes() items[index].value = value func _enter_tree_defered(): - var items: Array[Node] = get_tree().get_nodes_in_group('уровни') + var items: Array = get_level_nodes() var count: int = min(items.size(), value0.size()) for i in count: items[i].value = value0[i] items[i].min_value = min_value0 items[i].max_value = max_value0 items[i].step = step0 - $margin/vbox/grid1/level7.value = value1 - $margin/vbox/grid1/level7.min_value = min_value1 - $margin/vbox/grid1/level7.max_value = max_value1 - $margin/vbox/grid1/level7.step = step1 - $margin/vbox/grid2/lbl7.text = value_name1 - $margin/vbox.alignment = alignment - $margin/vbox/grid0/rname.text = rname - $margin/vbox/grid0/fname.text = fname - $margin/vbox/grid0/state.texture = textures[state] - set_group_param('названия', 'text', value_name0) + items = get_name_nodes() + set_group_param(items, 'text', value_name0) + if is_inside_tree(): + $margin/vbox/grid1/level7.value = value1 + $margin/vbox/grid1/level7.min_value = min_value1 + $margin/vbox/grid1/level7.max_value = max_value1 + $margin/vbox/grid1/level7.step = step1 + $margin/vbox/grid2/lbl7.text = value_name1 + $margin/vbox.alignment = alignment + $margin/vbox/grid0/rname.text = rname + $margin/vbox/grid0/fname.text = fname + $margin/vbox/grid0/state.texture = textures[state] + else: + push_warning('%s - вне дерева' % self) + + +func get_level_nodes() -> Array: + if not is_inside_tree(): + return [] + if not get_tree(): + return [] + return [ + $margin/vbox/grid1/level1, + $margin/vbox/grid1/level2, + $margin/vbox/grid1/level3, + $margin/vbox/grid1/level4, + $margin/vbox/grid1/level5, + $margin/vbox/grid1/level6 ] + + +func get_name_nodes() -> Array: + if not is_inside_tree(): + return [] + if not get_tree(): + return [] + return [ + $margin/vbox/grid2/lbl1, + $margin/vbox/grid2/lbl2, + $margin/vbox/grid2/lbl3, + $margin/vbox/grid2/lbl4, + $margin/vbox/grid2/lbl5, + $margin/vbox/grid2/lbl6 ] " [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_rceim"] From 631dceff24ebb8ff651b43e5e6400409e72b8ac5 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 21 Aug 2025 15:32:50 +0300 Subject: [PATCH 15/17] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0.=20=D0=9F=D1=80=D0=B8=D0=BC=D0=B5=D1=80=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20"=D0=91=D0=BB=D0=BE=D0=BA-=D0=92"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-prd-k/pribor-prd-k.gd | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scenes/pribor-prd-k/pribor-prd-k.gd b/scenes/pribor-prd-k/pribor-prd-k.gd index 0130302..13408b9 100644 --- a/scenes/pribor-prd-k/pribor-prd-k.gd +++ b/scenes/pribor-prd-k/pribor-prd-k.gd @@ -97,6 +97,11 @@ func _ready() -> void: func on_state_mashine() -> void: control_prd_k.state_control_machine() + $um1535_A10.value0 = [10, 20, 30, 40, 50, 60] + $um1535_A11.value0 = [60, 50, 40, 30, 20, 10] + $um1535_A12.set_value0_by_index(5, 100) + $um1535_A13.set_value0_by_index(2, 0) + $um1535_A13.value1 = -20 func initialize_connections() -> void: From 2a9ade595d88aec272bf81d3d55ffde27cefbf87 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Fri, 22 Aug 2025 08:19:34 +0300 Subject: [PATCH 16/17] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0.=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BF=D0=BE=D0=B4=D1=81=D0=BA=D0=B0=D0=B7?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=B0=D1=80=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D1=80=D0=BE=D0=B2=20=D1=83=D1=80=D0=BE=D0=B2=D0=BD?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-prd-k/pribor-prd-k.tscn | 24 ++++++++++++ scenes/контроль/блок-в.tscn | 54 ++++++++++++++++++++++++++- 2 files changed, 77 insertions(+), 1 deletion(-) diff --git a/scenes/pribor-prd-k/pribor-prd-k.tscn b/scenes/pribor-prd-k/pribor-prd-k.tscn index 1c35e7d..a3601a7 100644 --- a/scenes/pribor-prd-k/pribor-prd-k.tscn +++ b/scenes/pribor-prd-k/pribor-prd-k.tscn @@ -122,6 +122,8 @@ offset_right = 652.0 offset_bottom = 337.0 fname = "УМ1535Б" rname = "A10" +value0_info = "Мощность, Вт" +value1_info = "Температура,°C" [node name="um1535_A11" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 @@ -131,6 +133,8 @@ offset_right = 652.0 offset_bottom = 432.0 fname = "УМ1535Б" rname = "A11" +value0_info = "Мощность, Вт" +value1_info = "Температура,°C" [node name="um1535_A12" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 @@ -140,6 +144,8 @@ offset_right = 652.0 offset_bottom = 527.0 fname = "УМ1535Б" rname = "A12" +value0_info = "Мощность, Вт" +value1_info = "Температура,°C" [node name="um1535_A13" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 @@ -149,6 +155,8 @@ offset_right = 652.0 offset_bottom = 622.0 fname = "УМ1535Б" rname = "A13" +value0_info = "Мощность, Вт" +value1_info = "Температура,°C" [node name="um1535_A14" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 @@ -158,6 +166,8 @@ offset_right = 652.0 offset_bottom = 717.0 fname = "УМ1535Б" rname = "A14" +value0_info = "Мощность, Вт" +value1_info = "Температура,°C" [node name="um1535_A15" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 @@ -167,6 +177,8 @@ offset_right = 652.0 offset_bottom = 812.0 fname = "УМ1535Б" rname = "A15" +value0_info = "Мощность, Вт" +value1_info = "Температура,°C" [node name="utm80_A9" parent="." groups=["power_amplifier"] instance=ExtResource("6_fmhtx")] layout_mode = 0 @@ -187,6 +199,8 @@ offset_right = 175.0 offset_bottom = 337.0 fname = "РМ16-20М" rname = "A16" +value0_info = "Мощность, Вт" +value1_info = "Температура,°C" [node name="rm1620m_A17" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 @@ -196,6 +210,8 @@ offset_right = 173.0 offset_bottom = 432.0 fname = "РМ16-20М" rname = "A17" +value0_info = "Мощность, Вт" +value1_info = "Температура,°C" [node name="rm1620m_A18" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 @@ -205,6 +221,8 @@ offset_right = 175.0 offset_bottom = 527.0 fname = "РМ16-20М" rname = "A18" +value0_info = "Мощность, Вт" +value1_info = "Температура,°C" [node name="rm1620m_A19" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 @@ -214,6 +232,8 @@ offset_right = 175.0 offset_bottom = 622.0 fname = "РМ16-20М" rname = "A19" +value0_info = "Мощность, Вт" +value1_info = "Температура,°C" [node name="rm1620m_A20" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 @@ -223,6 +243,8 @@ offset_right = 175.0 offset_bottom = 717.0 fname = "РМ16-20М" rname = "A20" +value0_info = "Мощность, Вт" +value1_info = "Температура,°C" [node name="rm1620m_A21" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 @@ -232,6 +254,8 @@ offset_right = 175.0 offset_bottom = 812.0 fname = "РМ16-20М" rname = "A21" +value0_info = "Мощность, Вт" +value1_info = "Температура,°C" [node name="kasseta_fs_kd" parent="." instance=ExtResource("7_ia27q")] layout_mode = 0 diff --git a/scenes/контроль/блок-в.tscn b/scenes/контроль/блок-в.tscn index 9a341f5..6b63ae6 100644 --- a/scenes/контроль/блок-в.tscn +++ b/scenes/контроль/блок-в.tscn @@ -129,11 +129,35 @@ signal pressed(control: PanelContainer) $margin/vbox.alignment = v +@export var value0_info: String: + set(v): + value0_info = v + + +@export var value1_info: String: + set(v): + value1_info = v + + func _on_button_pressed(): emit_signal('pressed', self) func _enter_tree() -> void: call_deferred('_enter_tree_defered') func set_value0(value: Array): value0.assign(value) +func _ready(): + var items: Array= get_level_nodes() + for item in items: + item.connect('value_changed', on_level_changed.bind(item, value1_info)) + on_level_changed(item.value, item, value0_info) + var level7 = $margin/vbox/grid1/level7 + level7.connect('value_changed', on_level_changed.bind(level7, value1_info)) + on_level_changed(level7.value, level7, value1_info) + + +func on_level_changed(_val: float, item: TextureProgressBar, info: String): + item.tooltip_text = '%s\\nТекущее: %0.2f\\nДиапазон: %0.2f…%0.2f' % [info, item.value, item.min_value, item.max_value] + + func set_group_param(items: Array, param: StringName, v) -> void: if not is_inside_tree(): return @@ -169,7 +193,7 @@ func _enter_tree_defered(): $margin/vbox/grid0/fname.text = fname $margin/vbox/grid0/state.texture = textures[state] else: - push_warning('%s - вне дерева' % self) + push_warning('обращение к %s вне дерева' % self) func get_level_nodes() -> Array: @@ -325,6 +349,10 @@ columns = 7 layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +tooltip_text = " +Текущее: 20.00 +Диапазон: 0.00…100.00" +mouse_filter = 0 value = 20.0 fill_mode = 3 nine_patch_stretch = true @@ -341,6 +369,10 @@ tint_progress = Color(0.890196, 0.486275, 0.196078, 1) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +tooltip_text = " +Текущее: 30.00 +Диапазон: 0.00…100.00" +mouse_filter = 0 value = 30.0 fill_mode = 3 nine_patch_stretch = true @@ -357,6 +389,10 @@ tint_progress = Color(0.890196, 0.486275, 0.196078, 1) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +tooltip_text = " +Текущее: 40.00 +Диапазон: 0.00…100.00" +mouse_filter = 0 value = 40.0 fill_mode = 3 nine_patch_stretch = true @@ -373,6 +409,10 @@ tint_progress = Color(0.890196, 0.486275, 0.196078, 1) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +tooltip_text = " +Текущее: 50.00 +Диапазон: 0.00…100.00" +mouse_filter = 0 value = 50.0 fill_mode = 3 nine_patch_stretch = true @@ -389,6 +429,10 @@ tint_progress = Color(0.890196, 0.486275, 0.196078, 1) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +tooltip_text = " +Текущее: 60.00 +Диапазон: 0.00…100.00" +mouse_filter = 0 value = 60.0 fill_mode = 3 nine_patch_stretch = true @@ -405,6 +449,10 @@ tint_progress = Color(0.890196, 0.486275, 0.196078, 1) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +tooltip_text = " +Текущее: 70.00 +Диапазон: 0.00…100.00" +mouse_filter = 0 value = 70.0 fill_mode = 3 nine_patch_stretch = true @@ -421,6 +469,10 @@ tint_progress = Color(0.890196, 0.486275, 0.196078, 1) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +tooltip_text = " +Текущее: 56.00 +Диапазон: -50.00…120.00" +mouse_filter = 0 min_value = -50.0 max_value = 120.0 value = 56.0 From fb7bd27ac3c735d896f18bdf1b82f454cdcd6294 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Fri, 22 Aug 2025 08:19:45 +0300 Subject: [PATCH 17/17] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/контроль/блок-в.tscn | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scenes/контроль/блок-в.tscn b/scenes/контроль/блок-в.tscn index 6b63ae6..4426c9c 100644 --- a/scenes/контроль/блок-в.tscn +++ b/scenes/контроль/блок-в.tscn @@ -125,8 +125,7 @@ signal pressed(control: PanelContainer) set(v): alignment = v if is_inside_tree(): - return - $margin/vbox.alignment = v + $margin/vbox.alignment = v @export var value0_info: String: