[gd_scene load_steps=14 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


signal pressed(control: PanelContainer)


@export var textures: Array


@export var value0: float:
    set(v):
        value0 = v
        $margin/vbox/grid1/indicator0.value = v


@export var value1: float:
    set(v):
        value1 = v
        $margin/vbox/grid1/indicator1.value = v


@export var value2: bool:
    set(v):
        value2 = v
        $margin/vbox/grid2/lbl_value.text = 'подключен' if v else 'нет связи'


@export var min_value0: float:
    set(v):
        min_value0 = v
        $margin/vbox/grid1/indicator0.min_value = v


@export var min_value1: float:
    set(v):
        min_value1 = v
        $margin/vbox/grid1/indicator1.min_value = v


@export var max_value0: float:
    set(v):
        max_value0 = v
        $margin/vbox/grid1/indicator0.max_value = v


@export var max_value1: float:
    set(v):
        max_value1 = v
        $margin/vbox/grid1/indicator1.max_value = v


@export var step0: float:
    set(v):
        step0 = v
        $margin/vbox/grid1/indicator0.step = v


@export var step1: float:
    set(v):
        step1 = v
        $margin/vbox/grid1/indicator1.step = v


@export var value_name0: String:
    set(v):
        value_name0 = v
        $margin/vbox/grid1/indicator0.value_name = v


@export var value_name1: String:
    set(v):
        value_name1 = v
        $margin/vbox/grid1/indicator1.value_name = v


@export var value_name2: String:
    set(v):
        value_name2 = v
        $margin/vbox/grid2/lbl_name.text = v


@export var name_min_size0: Vector2i:
    set(v):
        name_min_size0 = v
        $margin/vbox/grid1/indicator0.name_min_size = v


@export var name_min_size1: Vector2i:
    set(v):
        name_min_size1 = v
        $margin/vbox/grid1/indicator1.name_min_size = v


@export var name_min_size2: Vector2i:
    set(v):
        name_min_size2 = v
        $margin/vbox/grid2/lbl_name.custom_minimum_size = v


@export var fname: String:
    set(v):
        fname = v
        $margin/vbox/grid0/fname.text = v


@export var rname: String:
    set(v):
        rname = v
        $margin/vbox/grid0/rname.text = v
    get:
        return rname


@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
        $margin/vbox.alignment = v


func _on_button_pressed():
    emit_signal('pressed', self)
"

[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="StyleBoxEmpty" id="StyleBoxEmpty_kqhju"]

[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_0humy"]

[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_v8whh"]

[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_bys8o"]

[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_qgkxc"]

[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")]

[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
metadata/test_path = ""

[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

[node name="button" type="Button" parent="."]
layout_mode = 2
theme_override_styles/focus = SubResource("StyleBoxEmpty_kqhju")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_0humy")
theme_override_styles/hover = SubResource("StyleBoxEmpty_v8whh")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_bys8o")
theme_override_styles/normal = SubResource("StyleBoxEmpty_qgkxc")

[connection signal="pressed" from="button" to="." method="_on_button_pressed"]
