diff --git a/scenes/pribor-prd-k/pribor-prd-k.gd b/scenes/pribor-prd-k/pribor-prd-k.gd index 15b3f48c..c4ef34c0 100644 --- a/scenes/pribor-prd-k/pribor-prd-k.gd +++ b/scenes/pribor-prd-k/pribor-prd-k.gd @@ -65,7 +65,6 @@ func _exit_tree() -> void: static func temperature_fill(temperature_arr_node: Array, temperature_dic: Dictionary)->void: for i_node_temperature in temperature_arr_node: var temperature_meta: String = i_node_temperature.get_meta('um') - var status = STATE_VAL.GOOD if temperature_dic else STATE_VAL.NONE if not temperature_dic.has(temperature_meta): return i_node_temperature.value1 = temperature_dic[temperature_meta] diff --git a/scenes/pribor-prd-k/pribor-prd-k.tscn b/scenes/pribor-prd-k/pribor-prd-k.tscn index 55af1377..404443e0 100644 --- a/scenes/pribor-prd-k/pribor-prd-k.tscn +++ b/scenes/pribor-prd-k/pribor-prd-k.tscn @@ -1,59 +1,20 @@ -[gd_scene load_steps=25 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="Texture2D" uid="uid://c6nve6f8sfyj2" path="res://data/состояние-исправности-0.png" id="6_l0j7c"] +[ext_resource type="PackedScene" uid="uid://ffi1njkjceb5" path="res://scenes/контроль/блок-к.tscn" id="6_wd1vi"] [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"] [ext_resource type="PackedScene" uid="uid://dq31j24gv5vi4" path="res://scenes/контроль/кассета-п-2.tscn" id="8_6fdp7"] [ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="8_la5yt"] -[ext_resource type="Texture2D" uid="uid://00871pb6moln" path="res://data/прогресс-фон-1.png" id="9_0ba6e"] -[ext_resource type="Texture2D" uid="uid://c1k856fxhrjnh" path="res://data/прогресс-заполнение-1.png" id="10_b3870"] [ext_resource type="Texture2D" uid="uid://belwchvdktrw0" path="res://data/эмс-бланк.png" id="10_c7lv8"] [ext_resource type="Texture2D" uid="uid://bwddxs24es81u" path="res://data/эмс-бланк-пост.png" id="11_wd1vi"] [ext_resource type="Texture2D" uid="uid://pfoscstbm025" path="res://data/эмс-бланк-перем.png" id="12_bjebg"] [ext_resource type="Texture2D" uid="uid://dvl3sq036gn75" path="res://data/эмс-бланк-замыкание.png" id="13_kc77u"] -[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_3nd2u"] - -[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 -" - [sub_resource type="SpriteFrames" id="SpriteFrames_di0aa"] animations = [{ "frames": [{ @@ -225,150 +186,15 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_6" -[node name="utm80_A9" type="PanelContainer" parent="."] -editor_description = "Элемент замены из ЗИП" +[node name="блок-к" parent="." groups=["power_amplifier"] instance=ExtResource("6_wd1vi")] layout_mode = 0 offset_left = 485.0 offset_top = 812.0 offset_right = 652.0 offset_bottom = 907.0 -theme_override_styles/panel = SubResource("StyleBoxEmpty_3nd2u") -metadata/um = "um_7" - -[node name="button" type="Button" parent="utm80_A9"] -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="utm80_A9"] -layout_mode = 2 -texture = ExtResource("2_14h25") -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="utm80_A9"] -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="utm80_A9/margin"] -layout_mode = 2 - -[node name="grid0" type="GridContainer" parent="utm80_A9/margin/vbox"] -layout_mode = 2 -columns = 3 - -[node name="state" type="TextureRect" parent="utm80_A9/margin/vbox/grid0"] -custom_minimum_size = Vector2(24, 24) -layout_mode = 2 -size_flags_horizontal = 2 -size_flags_vertical = 6 -texture = ExtResource("6_l0j7c") -expand_mode = 1 - -[node name="fname" type="Label" parent="utm80_A9/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 = "УТМ80" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="rname" type="Label" parent="utm80_A9/margin/vbox/grid0"] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 6 -theme_override_font_sizes/font_size = 18 -text = "A9" -horizontal_alignment = 2 -vertical_alignment = 1 - -[node name="grid1" type="GridContainer" parent="utm80_A9/margin/vbox"] -custom_minimum_size = Vector2(80, 0) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 3 -columns = 2 - -[node name="level1" type="TextureProgressBar" parent="utm80_A9/margin/vbox/grid1" groups=["уровни"]] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -tooltip_text = "Мощность, Вт -Текущее: 0.00 -Диапазон: 0.00…1400.00" -mouse_filter = 0 -max_value = 1400.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("9_0ba6e") -texture_progress = ExtResource("10_b3870") -tint_under = Color(1, 1, 1, 0.419608) -tint_progress = Color(0.890196, 0.486275, 0.196078, 1) - -[node name="level7" type="TextureProgressBar" parent="utm80_A9/margin/vbox/grid1"] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -tooltip_text = "Температура,°C -Текущее: 56.00 -Диапазон: -50.00…120.00" -mouse_filter = 0 -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("9_0ba6e") -texture_progress = ExtResource("10_b3870") -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="utm80_A9/margin/vbox"] -clip_contents = true -custom_minimum_size = Vector2(80, 0) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -columns = 2 - -[node name="lbl6" type="Label" parent="utm80_A9/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="utm80_A9/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 +fname = "УТМ80" +rname = "A9" +metadata/um = "um_8" [node name="rm1620m_A16" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 @@ -380,7 +206,7 @@ fname = "РМ16-20М" rname = "A16" value0_info = "Мощность, Вт" value1_info = "Температура,°C" -metadata/um = "um_8" +metadata/um = "um_9" [node name="rm1620m_A17" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 @@ -392,7 +218,7 @@ fname = "РМ16-20М" rname = "A17" value0_info = "Мощность, Вт" value1_info = "Температура,°C" -metadata/um = "um_9" +metadata/um = "um_10" [node name="rm1620m_A18" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 @@ -404,7 +230,7 @@ fname = "РМ16-20М" rname = "A18" value0_info = "Мощность, Вт" value1_info = "Температура,°C" -metadata/um = "um_10" +metadata/um = "um_11" [node name="rm1620m_A19" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 @@ -416,7 +242,7 @@ fname = "РМ16-20М" rname = "A19" value0_info = "Мощность, Вт" value1_info = "Температура,°C" -metadata/um = "um_11" +metadata/um = "um_12" [node name="rm1620m_A20" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 @@ -428,7 +254,7 @@ fname = "РМ16-20М" rname = "A20" value0_info = "Мощность, Вт" value1_info = "Температура,°C" -metadata/um = "um_12" +metadata/um = "um_13" [node name="rm1620m_A21" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 @@ -440,7 +266,7 @@ fname = "РМ16-20М" rname = "A21" value0_info = "Мощность, Вт" value1_info = "Температура,°C" -metadata/um = "um_13" +metadata/um = "um_14" [node name="kasseta_fs_kd" parent="." instance=ExtResource("7_ia27q")] layout_mode = 0 @@ -558,5 +384,3 @@ sprite_frames = SubResource("SpriteFrames_di0aa") [node name="output_2" type="AnimatedSprite2D" parent="."] position = Vector2(383, 177) sprite_frames = SubResource("SpriteFrames_di0aa") - -[connection signal="pressed" from="utm80_A9/button" to="utm80_A9" method="_on_button_pressed"] diff --git a/scenes/pribor-prd-n/pribor-prd-n.gd b/scenes/pribor-prd-n/pribor-prd-n.gd index 6b58662d..8f7ad06c 100644 --- a/scenes/pribor-prd-n/pribor-prd-n.gd +++ b/scenes/pribor-prd-n/pribor-prd-n.gd @@ -65,7 +65,6 @@ func _exit_tree() -> void: static func temperature_fill(temperature_arr_node: Array, temperature_dic: Dictionary)->void: for i_node_temperature in temperature_arr_node: var temperature_meta: String = i_node_temperature.get_meta('um') - var status = STATE_VAL.GOOD if temperature_dic else STATE_VAL.NONE if not temperature_dic.has(temperature_meta): return i_node_temperature.value1 = temperature_dic[temperature_meta] diff --git a/scenes/pribor-prd-v/pribor-prd-v.gd b/scenes/pribor-prd-v/pribor-prd-v.gd index 1993ed14..b932aa20 100644 --- a/scenes/pribor-prd-v/pribor-prd-v.gd +++ b/scenes/pribor-prd-v/pribor-prd-v.gd @@ -62,7 +62,6 @@ func _exit_tree() -> void: static func temperature_fill(temperature_arr_node: Array, temperature_dic: Dictionary)->void: for i_node_temperature in temperature_arr_node: var temperature_meta: String = i_node_temperature.get_meta('um') - var status = STATE_VAL.GOOD if temperature_dic else STATE_VAL.NONE if not temperature_dic.has(temperature_meta): return i_node_temperature.value1 = temperature_dic[temperature_meta] diff --git a/scenes/контроль/блок-в.tscn b/scenes/контроль/блок-в.tscn index b55f585c..669b072e 100644 --- a/scenes/контроль/блок-в.tscn +++ b/scenes/контроль/блок-в.tscn @@ -145,10 +145,10 @@ func _enter_tree() -> void: call_deferred('_enter_tree_defered') func _ready(): - #var items: Array = get_level_nodes() - #for item in items: - #item.connect('value_changed', on_level_changed.bind(item, value0_info)) - #on_level_changed(item.value, item, value0_info) + var items: Array = get_level_nodes() + for item in items: + item.connect('value_changed', on_level_changed.bind(item, value0_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) @@ -273,10 +273,8 @@ theme_override_styles/panel = SubResource("StyleBoxEmpty_3nd2u") script = SubResource("GDScript_oj3k3") textures = [ExtResource("1_n1aqt"), ExtResource("2_rim3u"), ExtResource("3_3w8fg")] value0 = [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 +max_value0 = 1400.0 +max_value1 = 70.0 step0 = 1.0 step1 = 1.0 value_name0 = "P,%" @@ -476,12 +474,10 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 tooltip_text = " -Текущее: 56.00 -Диапазон: -40.00…70.00" +Текущее: 0.00 +Диапазон: 0.00…70.00" mouse_filter = 0 -min_value = -50.0 -max_value = 120.0 -value = 56.0 +max_value = 70.0 fill_mode = 3 nine_patch_stretch = true stretch_margin_left = 8 diff --git a/scenes/контроль/блок-к.tscn b/scenes/контроль/блок-к.tscn new file mode 100644 index 00000000..9156160d --- /dev/null +++ b/scenes/контроль/блок-к.tscn @@ -0,0 +1,406 @@ +[gd_scene load_steps=15 format=3 uid="uid://ffi1njkjceb5"] + +[ext_resource type="Texture2D" uid="uid://c6nve6f8sfyj2" path="res://data/состояние-исправности-0.png" id="1_uojqc"] +[ext_resource type="Texture2D" uid="uid://dnreyfh3cd1k2" path="res://data/состояние-исправности-1.png" id="2_a8ar3"] +[ext_resource type="Texture2D" uid="uid://c6booa8753u5t" path="res://data/состояние-исправности-2.png" id="3_xwd13"] +[ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="4_eobkx"] +[ext_resource type="Texture2D" uid="uid://00871pb6moln" path="res://data/прогресс-фон-1.png" id="5_mg57e"] +[ext_resource type="Texture2D" uid="uid://c1k856fxhrjnh" path="res://data/прогресс-заполнение-1.png" id="6_of7rd"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_3nd2u"] + +[sub_resource type="GDScript" id="GDScript_oj3k3"] +script/source = "@tool +class_name blok_v extends PanelContainer + +@export var textures: Array +@export var animation_duration: float = 1.5 +signal pressed(control: PanelContainer) + + +## Значения уровней +@export var value0: Array: + set(v): + value0.assign(v) + var items: Array = get_level_nodes() + var count: int = min(items.size(), v.size()) + for i in count: + set_value0_animated(items[i], v[i]) + + +## Значение уровня +@export var value1: float: + set(v): + value1 = v + if not is_inside_tree(): + return + $margin/vbox/grid1/level7.value = v + $margin/vbox/grid1/level7.tint_progress = Color.RED if v >= 70 else Color.GOLD if v >= 60 else Color.WHITE + + +@export var min_value0: float: + set(v): + min_value0 = v + var items: = get_level_nodes() + set_group_param(items, '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 + var items: = get_level_nodes() + set_group_param(items, '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 + var items: = get_level_nodes() + set_group_param(items, '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 + var items: Array = get_name_nodes() + set_group_param(items, '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) + if not is_inside_tree(): + return + $margin/vbox/grid0/state.texture = textures[state] + + +@export var alignment: int: + set(v): + alignment = v + if is_inside_tree(): + $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 set_value0(value: Array): value0.assign(value) +func _enter_tree() -> void: call_deferred('_enter_tree_defered') + + +func _ready(): + var items: Array = get_level_nodes() + for item in items: + item.connect('value_changed', on_level_changed.bind(item, value0_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 + 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 = get_level_nodes() + items[index].value = value + + +func _enter_tree_defered(): + var items: Array = get_level_nodes() + var count: int = min(items.size(), value0.size()) + for i in count: + items[i].min_value = min_value0 + items[i].max_value = 1400 # max_value0: TODO для отладки + items[i].step = step0 + 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] + + +func get_level_nodes() -> Array: + if not is_inside_tree(): + return [] + if not get_tree(): + return [] + return [$margin/vbox/grid1/level1] + + +func get_name_nodes() -> Array: + if not is_inside_tree(): + return [] + if not get_tree(): + return [] + return [$margin/vbox/grid2/lbl1] + + +func set_value0_animated(target_node, target_value: float) -> void: + var tween: Tween = create_tween() + tween.set_ease(Tween.EASE_OUT) + tween.set_trans(Tween.TRANS_QUINT) + tween.tween_property(target_node, 'value', target_value, animation_duration) +" + +[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_uojqc"), ExtResource("2_a8ar3"), ExtResource("3_xwd13")] +value0 = [20.0, 30.0, 40.0, 50.0, 60.0, 70.0] +max_value0 = 1400.0 +max_value1 = 70.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_eobkx") +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_uojqc") +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_horizontal = 4 +size_flags_vertical = 3 +columns = 7 + +[node name="level1" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["уровни"]] +custom_minimum_size = Vector2(30, 0) +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tooltip_text = " +Текущее: 0.00 +Диапазон: 0.00…1400.00" +mouse_filter = 0 +max_value = 1400.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_mg57e") +texture_progress = ExtResource("6_of7rd") +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"] +custom_minimum_size = Vector2(30, 0) +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tooltip_text = " +Текущее: 0.00 +Диапазон: 0.00…70.00" +mouse_filter = 0 +max_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_mg57e") +texture_progress = ExtResource("6_of7rd") +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_horizontal = 4 +size_flags_vertical = 4 +columns = 7 + +[node name="lbl1" type="Label" parent="margin/vbox/grid2" groups=["названия"]] +clip_contents = true +custom_minimum_size = Vector2(30, 0) +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 +custom_minimum_size = Vector2(30, 0) +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"]