diff --git a/project.godot b/project.godot index 43e88265..5df0f7ac 100644 --- a/project.godot +++ b/project.godot @@ -154,6 +154,7 @@ default_reset="" power_supply="Ноды источников питания прибора" fs_group="Группа модулей ФС" y-5="" +case="" [gui] diff --git a/scenes/pribor-prd-k/kasseta-fs-kd.tscn b/scenes/pribor-prd-k/kasseta-fs-kd.tscn index ac2d952b..89fe6386 100644 --- a/scenes/pribor-prd-k/kasseta-fs-kd.tscn +++ b/scenes/pribor-prd-k/kasseta-fs-kd.tscn @@ -26,7 +26,7 @@ text = "Кассета ФС-КД" horizontal_alignment = 1 vertical_alignment = 1 -[node name="ref_A2" parent="." groups=["default_reset"] instance=ExtResource("3_kqnvt")] +[node name="ref_A2" parent="." groups=["case", "default_reset"] instance=ExtResource("3_kqnvt")] offset_left = 5.0 offset_top = 33.0 offset_right = 55.0 @@ -34,7 +34,7 @@ offset_bottom = 183.0 fname = "Блок ФС-1" rname = "A4" -[node name="ref_A3" parent="." groups=["default_reset", "fs_group"] instance=ExtResource("3_kqnvt")] +[node name="ref_A3" parent="." groups=["case", "default_reset", "fs_group"] instance=ExtResource("3_kqnvt")] offset_left = 55.0 offset_top = 33.0 offset_right = 105.0 @@ -43,7 +43,7 @@ fname = "Модуль ФС" rname = "A1" metadata/fs = "fs_1" -[node name="ref_A4" parent="." groups=["default_reset"] instance=ExtResource("3_kqnvt")] +[node name="ref_A4" parent="." groups=["case", "default_reset"] instance=ExtResource("3_kqnvt")] offset_left = 105.0 offset_top = 33.0 offset_right = 155.0 @@ -51,7 +51,7 @@ offset_bottom = 183.0 fname = "Блок ФС-2" rname = "A2" -[node name="ref_A6" parent="." groups=["default_reset", "fs_group"] instance=ExtResource("3_kqnvt")] +[node name="ref_A6" parent="." groups=["case", "default_reset", "fs_group"] instance=ExtResource("3_kqnvt")] offset_left = 155.0 offset_top = 33.0 offset_right = 205.0 @@ -60,7 +60,7 @@ fname = "Модуль ФС" rname = "A5" metadata/fs = "fs_6" -[node name="ref_A5" parent="." groups=["default_reset", "fs_group"] instance=ExtResource("3_kqnvt")] +[node name="ref_A5" parent="." groups=["case", "default_reset", "fs_group"] instance=ExtResource("3_kqnvt")] offset_left = 205.0 offset_top = 33.0 offset_right = 255.0 @@ -69,7 +69,7 @@ fname = "Модуль ФС" rname = "A3" metadata/fs = "fs_7" -[node name="ref_A7" parent="." groups=["default_reset"] instance=ExtResource("3_kqnvt")] +[node name="ref_A7" parent="." groups=["case", "default_reset"] instance=ExtResource("3_kqnvt")] offset_left = 255.0 offset_top = 33.0 offset_right = 305.0 diff --git a/scenes/pribor-prd-k/pribor-prd-k.gd b/scenes/pribor-prd-k/pribor-prd-k.gd index 12be8885..bd237cbb 100644 --- a/scenes/pribor-prd-k/pribor-prd-k.gd +++ b/scenes/pribor-prd-k/pribor-prd-k.gd @@ -77,7 +77,6 @@ var control_results_k: Dictionary = { } var test_control_k = preload('res://scripts/pribor-prd.gd') -var ctrl_pos = 30 func _ready() -> void: @@ -87,7 +86,22 @@ func _ready() -> void: initialize_connections() setup_timer() set_default_state() - find_labels(self) + + var case_nodes = get_tree().get_nodes_in_group("case") + for case in case_nodes: + case.mouse_entered.connect(_on_element_hover.bind(case)) + case.mouse_exited.connect(_on_element_unhover) + + +func _on_element_hover(case_node: Node) -> void: + $ref_ZZ4.visible = true + var case_mata = case_node.get_meta('case') + if not case_mata: return + $ref_ZZ4/label.text = 'Ящик - %s Позиция - %s' % [case_mata, case_mata+3] + + +func _on_element_unhover() -> void: + $ref_ZZ4.visible = false func on_state_mashine() -> void: @@ -102,7 +116,7 @@ func initialize_connections() -> void: unit_prd_k.connect('line_changed', Callable(self, 'on_line_changed')) var power_amplifiers: Array = get_tree().get_nodes_in_group('power_amplifier') var init_data: Dictionary = { - 'control_label': $control_result, + 'control_label': $ref_ZZ4/label, 'power_amplifiers': power_amplifiers, 'unit_prd': unit_prd_k, 'module_prd' : prd_k_module, @@ -137,8 +151,8 @@ func set_default_state() -> void: func _enter_tree() -> void: if Engine.is_editor_hint(): return - $control_result.text = 'Выполняется ...' - $control_result.add_theme_color_override('font_color', Color.ALICE_BLUE) + $ref_ZZ4/label.text = 'Выполняется ...' + $ref_ZZ4/label.add_theme_color_override('font_color', Color.ALICE_BLUE) signaller.connect('режим_работа', Callable(self, 'on_mode_changed').bind(false)) signaller.connect('режим_журнал', Callable(self, 'on_mode_changed').bind(false)) signaller.connect('режим_эмс', Callable(self, 'on_mode_changed').bind(false)) @@ -242,24 +256,8 @@ func on_control_result(result_dic: Dictionary, power_dic: Dictionary) -> void: var name_prd = control_prd_k.self_name if result: - $control_result.text = 'Прибор ПРД-%s исправен' % name_prd - $control_result.add_theme_color_override('font_color', Color.GREEN) + $ref_ZZ4/label.text = 'Прибор ПРД-%s исправен' % name_prd + $ref_ZZ4/label.add_theme_color_override('font_color', Color.GREEN) else: - $control_result.text = 'Прибор ПРД-%s неисправен' % name_prd - $control_result.add_theme_color_override('font_color', Color.RED) - - -func find_labels(node1: Node): - if node1 is Label: - if node1.name in ["lbl_rname", "rname"]: - if not node1.has_meta("tooltip_set"): - ctrl_pos += 1 - var box_number = ceili(float(ctrl_pos) / 10.0) - var position_number = ctrl_pos % 10 - if position_number == 0: - position_number = 10 - node1.tooltip_text = "Ящик - %d, Позиция - %d" % [box_number, position_number] - node1.mouse_filter = Control.MOUSE_FILTER_STOP - node1.set_meta("tooltip_set", true) - for child in node1.get_children(): - find_labels(child) + $ref_ZZ4/label.text = 'Прибор ПРД-%s неисправен' % name_prd + $ref_ZZ4/label.add_theme_color_override('font_color', Color.RED) diff --git a/scenes/pribor-prd-k/pribor-prd-k.tscn b/scenes/pribor-prd-k/pribor-prd-k.tscn index b56036d2..40abefec 100644 --- a/scenes/pribor-prd-k/pribor-prd-k.tscn +++ b/scenes/pribor-prd-k/pribor-prd-k.tscn @@ -26,7 +26,7 @@ offset_top = 242.0 offset_right = 485.0 offset_bottom = 432.0 -[node name="maa2000_A22" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("1_8dmgr")] +[node name="maa2000_A22" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("1_8dmgr")] layout_mode = 0 offset_left = 485.0 offset_top = 907.0 @@ -36,7 +36,7 @@ fname = "MAA2000" rname = "A28" metadata/ip = "maa2000_1" -[node name="dou6_A7" parent="." groups=["default_reset"] instance=ExtResource("1_8dmgr")] +[node name="dou6_A7" parent="." groups=["case", "default_reset"] instance=ExtResource("1_8dmgr")] layout_mode = 0 offset_left = 8.0 offset_top = 862.0 @@ -45,7 +45,7 @@ offset_bottom = 907.0 fname = "ДОУ-6" rname = "A7" -[node name="maa2000_A23" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("1_8dmgr")] +[node name="maa2000_A23" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("1_8dmgr")] layout_mode = 0 offset_left = 8.0 offset_top = 907.0 @@ -55,7 +55,7 @@ fname = "MAA2000" rname = "A27" metadata/ip = "maa2000_2" -[node name="dou7_A8" parent="." groups=["default_reset"] instance=ExtResource("1_8dmgr")] +[node name="dou7_A8" parent="." groups=["case", "default_reset"] instance=ExtResource("1_8dmgr")] layout_mode = 0 offset_left = 8.0 offset_top = 812.0 @@ -88,7 +88,7 @@ text = "Панель horizontal_alignment = 1 vertical_alignment = 1 -[node name="um1535_A10" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] +[node name="um1535_A10" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 485.0 offset_top = 242.0 @@ -101,7 +101,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_1" -[node name="um1535_A11" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] +[node name="um1535_A11" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 485.0 offset_top = 337.0 @@ -113,7 +113,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_2" -[node name="um1535_A12" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] +[node name="um1535_A12" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 485.0 offset_top = 432.0 @@ -125,7 +125,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_3" -[node name="um1535_A13" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] +[node name="um1535_A13" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 485.0 offset_top = 527.0 @@ -137,7 +137,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_4" -[node name="um1535_A14" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] +[node name="um1535_A14" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 485.0 offset_top = 622.0 @@ -149,7 +149,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_5" -[node name="um1535_A15" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] +[node name="um1535_A15" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 485.0 offset_top = 717.0 @@ -161,7 +161,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_6" -[node name="utm80_A9" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] +[node name="utm80_A9" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 485.0 offset_top = 812.0 @@ -173,7 +173,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_7" -[node name="rm1620m_A16" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] +[node name="rm1620m_A16" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 8.0 offset_top = 242.0 @@ -185,7 +185,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_8" -[node name="rm1620m_A17" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] +[node name="rm1620m_A17" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 8.0 offset_top = 337.0 @@ -197,7 +197,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_9" -[node name="rm1620m_A18" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] +[node name="rm1620m_A18" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 8.0 offset_top = 432.0 @@ -209,7 +209,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_10" -[node name="rm1620m_A19" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] +[node name="rm1620m_A19" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 8.0 offset_top = 527.0 @@ -221,7 +221,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_11" -[node name="rm1620m_A20" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] +[node name="rm1620m_A20" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 8.0 offset_top = 622.0 @@ -233,7 +233,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_12" -[node name="rm1620m_A21" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")] +[node name="rm1620m_A21" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")] layout_mode = 0 offset_left = 8.0 offset_top = 717.0 @@ -267,7 +267,7 @@ patch_margin_bottom = 16 script = ExtResource("7_xpa2n") fname = "Кассета П-1" -[node name="ref_A26" parent="kasseta_p_1" groups=["default_reset", "power_supply"] instance=ExtResource("8_la5yt")] +[node name="ref_A26" parent="kasseta_p_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("8_la5yt")] offset_left = 9.0 offset_top = 33.0 offset_right = 59.0 @@ -276,7 +276,7 @@ fname = "ИП9-50" rname = "A23" metadata/ip = "ip9_50_1" -[node name="ref_A23" parent="kasseta_p_1" groups=["default_reset", "power_supply"] instance=ExtResource("8_la5yt")] +[node name="ref_A23" parent="kasseta_p_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("8_la5yt")] offset_left = 59.0 offset_top = 33.0 offset_right = 109.0 @@ -285,7 +285,7 @@ fname = "ИП9-50" rname = "A24" metadata/ip = "ip9_50_2" -[node name="ref_A24" parent="kasseta_p_1" groups=["default_reset", "power_supply"] instance=ExtResource("8_la5yt")] +[node name="ref_A24" parent="kasseta_p_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("8_la5yt")] offset_left = 109.0 offset_top = 33.0 offset_right = 159.0 @@ -313,12 +313,25 @@ offset_right = 485.0 offset_bottom = 812.0 fname = "Кассета П-2" -[node name="control_result" type="Label" parent="."] +[node name="ref_ZZ4" type="NinePatchRect" parent="."] layout_mode = 0 -offset_left = 9.0 -offset_top = 960.0 -offset_right = 649.0 -offset_bottom = 1003.0 -text = "Прибор ПРД- неисправен" -horizontal_alignment = 1 +offset_left = 8.0 +offset_top = 964.0 +offset_right = 652.0 +offset_bottom = 1010.0 +texture = ExtResource("2_14h25") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 metadata/_edit_lock_ = true + +[node name="label" type="Label" parent="ref_ZZ4"] +self_modulate = Color(0.996078, 1, 1, 0.627451) +layout_mode = 0 +offset_left = 10.0 +offset_top = 8.0 +offset_right = 633.0 +offset_bottom = 38.0 +horizontal_alignment = 1 +vertical_alignment = 1 diff --git a/scenes/pribor-prd-n/kasseta-fs-nd.tscn b/scenes/pribor-prd-n/kasseta-fs-nd.tscn index 4eee49c0..270bd698 100644 --- a/scenes/pribor-prd-n/kasseta-fs-nd.tscn +++ b/scenes/pribor-prd-n/kasseta-fs-nd.tscn @@ -26,15 +26,16 @@ text = "Кассета ФС-ВД" horizontal_alignment = 1 vertical_alignment = 1 -[node name="ref_A2" parent="." groups=["default_reset"] instance=ExtResource("2_mkgdh")] +[node name="ref_A2" parent="." groups=["case", "default_reset"] instance=ExtResource("2_mkgdh")] offset_left = 55.0 offset_top = 32.0 offset_right = 105.0 offset_bottom = 182.0 fname = "Блок ФС-3" rname = "A3" +metadata/case = 0 -[node name="ref_A3" parent="." groups=["fs_group"] instance=ExtResource("2_mkgdh")] +[node name="ref_A3" parent="." groups=["case", "fs_group"] instance=ExtResource("2_mkgdh")] offset_left = 105.0 offset_top = 32.0 offset_right = 155.0 @@ -42,8 +43,9 @@ offset_bottom = 182.0 fname = "Модуль ФС" rname = "A1" metadata/fs = "fs_4" +metadata/case = 0 -[node name="ref_A4" parent="." groups=["fs_group"] instance=ExtResource("2_mkgdh")] +[node name="ref_A4" parent="." groups=["case", "fs_group"] instance=ExtResource("2_mkgdh")] offset_left = 155.0 offset_top = 32.0 offset_right = 205.0 @@ -51,11 +53,13 @@ offset_bottom = 182.0 fname = "Модуль ФС" rname = "A2" metadata/fs = "fs_5" +metadata/case = 0 -[node name="ref_A6" parent="." instance=ExtResource("2_mkgdh")] +[node name="ref_A6" parent="." groups=["case"] instance=ExtResource("2_mkgdh")] offset_left = 205.0 offset_top = 32.0 offset_right = 255.0 offset_bottom = 182.0 fname = "Блок ФС-3" rname = "A4" +metadata/case = 0 diff --git a/scenes/pribor-prd-n/pribor-prd-n.gd b/scenes/pribor-prd-n/pribor-prd-n.gd index c69b5530..8d6d41e6 100644 --- a/scenes/pribor-prd-n/pribor-prd-n.gd +++ b/scenes/pribor-prd-n/pribor-prd-n.gd @@ -57,6 +57,8 @@ var mashine_timer: Timer = Timer.new() var prd_n_module: Object var unit_prd_n: Object var control_prd_n: Object + + # Результаты контроля var control_results_n: Dictionary = { 'block_ip': false, # Проверка касет П1 и ИП МА2000 @@ -69,7 +71,8 @@ var control_results_n: Dictionary = { 'fs_3': 2, } var test_control_n = preload('res://scripts/pribor-prd.gd') -var ctrl_pos = 0 + + ################################ func on_state_mashine() -> void: control_prd_n.state_control_machine() @@ -82,7 +85,23 @@ func _ready() -> void: initialize_connections() setup_timer() set_default_state() - find_labels(self) + + + var case_nodes = get_tree().get_nodes_in_group("case") + for case in case_nodes: + case.mouse_entered.connect(_on_element_hover.bind(case)) + case.mouse_exited.connect(_on_element_unhover) + + +func _on_element_hover(case_node: Node) -> void: + $ref_ZZ4.visible = true + var case_mata = case_node.get_meta('case') + if not case_mata: return + $ref_ZZ4/label.text = 'Ящик - %s Позиция - %s' % [case_mata, case_mata+3] + + +func _on_element_unhover() -> void: + $ref_ZZ4.visible = false func initialize_connections() -> void: @@ -93,7 +112,7 @@ func initialize_connections() -> void: unit_prd_n.connect('line_changed', Callable(self, 'on_line_changed')) var power_amplifiers: Array = get_tree().get_nodes_in_group('power_amplifier') var init_data: Dictionary = { - 'control_label': $control_result, + 'control_label': $ref_ZZ4/label, 'power_amplifiers': power_amplifiers, 'unit_prd': unit_prd_n, 'module_prd' : prd_n_module, @@ -128,8 +147,8 @@ func set_default_state() -> void: func _enter_tree() -> void: if Engine.is_editor_hint(): return - $control_result.text = 'Выполняется ...' - $control_result.add_theme_color_override('font_color', Color.ALICE_BLUE) + $ref_ZZ4/label.text = 'Выполняется ...' + $ref_ZZ4/label.add_theme_color_override('font_color', Color.ALICE_BLUE) signaller.connect('режим_работа', Callable(self, 'on_mode_changed').bind(false)) signaller.connect('режим_журнал', Callable(self, 'on_mode_changed').bind(false)) signaller.connect('режим_эмс', Callable(self, 'on_mode_changed').bind(false)) @@ -225,24 +244,8 @@ func on_control_result(result_dic: Dictionary, power_dic: Dictionary) -> void: var name_prd = control_prd_n.self_name if result: - $control_result.text = 'Прибор ПРД-%s исправен' % name_prd - $control_result.add_theme_color_override('font_color', Color.GREEN) + $ref_ZZ4/label.text = 'Прибор ПРД-%s исправен' % name_prd + #$ref_ZZ4/label.add_theme_color_override('font_color', Color.GREEN) else: - $control_result.text = 'Прибор ПРД-%s неисправен' % name_prd - $control_result.add_theme_color_override('font_color', Color.RED) - - -func find_labels(node1: Node): - if node1 is Label: - if node1.name in ["lbl_rname", "rname"]: - if not node1.has_meta("tooltip_set"): - ctrl_pos += 1 - var box_number = ceili(float(ctrl_pos) / 10.0) - var position_number = ctrl_pos % 10 - if position_number == 0: - position_number = 10 - node1.tooltip_text = "Ящик - %d, Позиция - %d" % [box_number, position_number] - node1.mouse_filter = Control.MOUSE_FILTER_STOP - node1.set_meta("tooltip_set", true) - for child in node1.get_children(): - find_labels(child) + $ref_ZZ4/label.text = 'Прибор ПРД-%s неисправен' % name_prd + #$ref_ZZ4/label.add_theme_color_override('font_color', Color.RED) diff --git a/scenes/pribor-prd-n/pribor-prd-n.tscn b/scenes/pribor-prd-n/pribor-prd-n.tscn index a52ce38d..a0ed48a2 100644 --- a/scenes/pribor-prd-n/pribor-prd-n.tscn +++ b/scenes/pribor-prd-n/pribor-prd-n.tscn @@ -17,7 +17,7 @@ offset_right = 15.0 offset_bottom = 30.0 script = ExtResource("1_bnnv3") -[node name="maa2000_A23" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("2_is25t")] +[node name="maa2000_A23" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("2_is25t")] layout_mode = 2 offset_left = 8.0 offset_top = 877.0 @@ -27,7 +27,7 @@ fname = "MAA2000" rname = "A23" metadata/ip = "maa2000_2" -[node name="maa2000_A22" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("2_is25t")] +[node name="maa2000_A22" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("2_is25t")] layout_mode = 2 offset_left = 485.0 offset_top = 877.0 @@ -37,7 +37,7 @@ fname = "MAA2000" rname = "A22" metadata/ip = "maa2000_1" -[node name="dou2_A5" parent="." groups=["default_reset"] instance=ExtResource("2_is25t")] +[node name="dou2_A5" parent="." groups=["case", "default_reset"] instance=ExtResource("2_is25t")] layout_mode = 2 offset_left = 485.0 offset_top = 812.0 @@ -46,7 +46,7 @@ offset_bottom = 877.0 fname = "ДОУ-2" rname = "A5" -[node name="dou3_A6" parent="." groups=["default_reset"] instance=ExtResource("2_is25t")] +[node name="dou3_A6" parent="." groups=["case", "default_reset"] instance=ExtResource("2_is25t")] layout_mode = 2 offset_left = 8.0 offset_top = 812.0 @@ -112,7 +112,7 @@ text = "Кассета ФС-НД" horizontal_alignment = 1 vertical_alignment = 1 -[node name="ref_A3" parent="kasseta_FS_ND" groups=["default_reset"] instance=ExtResource("7_eoqf2")] +[node name="ref_A3" parent="kasseta_FS_ND" groups=["case", "default_reset"] instance=ExtResource("7_eoqf2")] offset_left = 55.0 offset_top = 32.0 offset_right = 105.0 @@ -120,7 +120,7 @@ offset_bottom = 182.0 fname = "Блок ФС-3" rname = "A3" -[node name="ref_A1" parent="kasseta_FS_ND" groups=["default_reset", "fs_group"] instance=ExtResource("7_eoqf2")] +[node name="ref_A1" parent="kasseta_FS_ND" groups=["case", "default_reset", "fs_group"] instance=ExtResource("7_eoqf2")] offset_left = 105.0 offset_top = 32.0 offset_right = 155.0 @@ -129,7 +129,7 @@ fname = "Модуль ФС" rname = "A1" metadata/fs = "fs_3" -[node name="ref_A2" parent="kasseta_FS_ND" groups=["default_reset", "fs_group"] instance=ExtResource("7_eoqf2")] +[node name="ref_A2" parent="kasseta_FS_ND" groups=["case", "default_reset", "fs_group"] instance=ExtResource("7_eoqf2")] offset_left = 155.0 offset_top = 32.0 offset_right = 205.0 @@ -138,7 +138,7 @@ fname = "Модуль ФС" rname = "A2" metadata/fs = "fs_2" -[node name="ref_A4" parent="kasseta_FS_ND" groups=["default_reset"] instance=ExtResource("7_eoqf2")] +[node name="ref_A4" parent="kasseta_FS_ND" groups=["case", "default_reset"] instance=ExtResource("7_eoqf2")] offset_left = 205.0 offset_top = 32.0 offset_right = 255.0 @@ -160,7 +160,7 @@ patch_margin_bottom = 16 script = ExtResource("6_b5wvk") fname = "Кассета П-1" -[node name="ref_A21" parent="kasseta_P_1" groups=["default_reset", "power_supply"] instance=ExtResource("7_eoqf2")] +[node name="ref_A21" parent="kasseta_P_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("7_eoqf2")] offset_left = 9.0 offset_top = 33.0 offset_right = 59.0 @@ -169,7 +169,7 @@ fname = "ИП12-50" rname = "A21" metadata/ip = "ip12_50_1" -[node name="ref_A20" parent="kasseta_P_1" groups=["default_reset", "power_supply"] instance=ExtResource("7_eoqf2")] +[node name="ref_A20" parent="kasseta_P_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("7_eoqf2")] offset_left = 59.0 offset_top = 33.0 offset_right = 109.0 @@ -178,7 +178,7 @@ fname = "ИП9-50" rname = "A20" metadata/ip = "ip9_50_1" -[node name="ref_A19" parent="kasseta_P_1" groups=["default_reset", "power_supply"] instance=ExtResource("7_eoqf2")] +[node name="ref_A19" parent="kasseta_P_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("7_eoqf2")] offset_left = 109.0 offset_top = 33.0 offset_right = 159.0 @@ -198,7 +198,7 @@ text = "Кассета П-1" horizontal_alignment = 1 vertical_alignment = 1 -[node name="um1535_A7" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")] +[node name="um1535_A7" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")] layout_mode = 0 offset_left = 485.0 offset_top = 242.0 @@ -210,7 +210,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_1" -[node name="um1535_A8" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")] +[node name="um1535_A8" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")] layout_mode = 0 offset_left = 485.0 offset_top = 337.0 @@ -222,7 +222,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_2" -[node name="um1535_A9" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")] +[node name="um1535_A9" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")] layout_mode = 0 offset_left = 485.0 offset_top = 432.0 @@ -234,7 +234,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_3" -[node name="um1535_A10" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")] +[node name="um1535_A10" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")] layout_mode = 0 offset_left = 485.0 offset_top = 527.0 @@ -246,7 +246,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_4" -[node name="um1535_A11" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")] +[node name="um1535_A11" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")] layout_mode = 0 offset_left = 485.0 offset_top = 622.0 @@ -258,7 +258,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_5" -[node name="um1535_A12" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")] +[node name="um1535_A12" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")] layout_mode = 0 offset_left = 485.0 offset_top = 717.0 @@ -270,7 +270,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_6" -[node name="um1535_A13" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")] +[node name="um1535_A13" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")] layout_mode = 0 offset_left = 8.0 offset_top = 242.0 @@ -282,7 +282,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_7" -[node name="um1535_A14" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")] +[node name="um1535_A14" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")] layout_mode = 0 offset_left = 8.0 offset_top = 337.0 @@ -294,7 +294,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_8" -[node name="um1535_A15" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")] +[node name="um1535_A15" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")] layout_mode = 0 offset_left = 8.0 offset_top = 432.0 @@ -306,7 +306,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_9" -[node name="um1535_A16" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")] +[node name="um1535_A16" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")] layout_mode = 0 offset_left = 8.0 offset_top = 527.0 @@ -318,7 +318,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_10" -[node name="um1535_A17" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")] +[node name="um1535_A17" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")] layout_mode = 0 offset_left = 8.0 offset_top = 622.0 @@ -330,7 +330,7 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_11" -[node name="um1535_A18" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")] +[node name="um1535_A18" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")] layout_mode = 0 offset_left = 8.0 offset_top = 717.0 @@ -342,11 +342,25 @@ value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_12" -[node name="control_result" type="Label" parent="."] +[node name="ref_ZZ4" type="NinePatchRect" parent="."] layout_mode = 0 -offset_left = 9.0 -offset_top = 960.0 -offset_right = 649.0 -offset_bottom = 1003.0 -horizontal_alignment = 1 +offset_left = 8.0 +offset_top = 964.0 +offset_right = 652.0 +offset_bottom = 1010.0 +texture = ExtResource("3_meukj") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 metadata/_edit_lock_ = true + +[node name="label" type="Label" parent="ref_ZZ4"] +self_modulate = Color(0.996078, 1, 1, 0.627451) +layout_mode = 0 +offset_left = 10.0 +offset_top = 8.0 +offset_right = 633.0 +offset_bottom = 38.0 +horizontal_alignment = 1 +vertical_alignment = 1 diff --git a/scenes/pribor-prd-v/pribor-prd-v.gd b/scenes/pribor-prd-v/pribor-prd-v.gd index a40768ad..6a01429e 100644 --- a/scenes/pribor-prd-v/pribor-prd-v.gd +++ b/scenes/pribor-prd-v/pribor-prd-v.gd @@ -69,7 +69,6 @@ var control_results_v: Dictionary = { 'fs_5': 2, } var test_control_v = preload('res://scripts/pribor-prd.gd') -var ctrl_pos = 70 func on_state_mashine() -> void: @@ -83,7 +82,22 @@ func _ready() -> void: initialize_connections() setup_timer() set_default_state() - find_labels(self) + + var case_nodes: Array = get_tree().get_nodes_in_group("case") + for case in case_nodes: + case.mouse_entered.connect(_on_element_hover.bind(case)) + case.mouse_exited.connect(_on_element_unhover) + + +func _on_element_hover(case_node: Node) -> void: + $ref_ZZ4.visible = true + var case_mata = case_node.get_meta('case') + if not case_mata: return + $ref_ZZ4/label.text = 'Ящик - %s Позиция - %s' % [case_mata, case_mata+3] + + +func _on_element_unhover() -> void: + $ref_ZZ4.visible = false func initialize_connections() -> void: @@ -94,7 +108,7 @@ func initialize_connections() -> void: unit_prd_v.connect('line_changed', Callable(self, 'on_line_changed')) var power_amplifiers: Array = get_tree().get_nodes_in_group('power_amplifier') var init_data: Dictionary = { - 'control_label': $control_result, + 'control_label': $ref_ZZ4/label, 'power_amplifiers': power_amplifiers, 'unit_prd': unit_prd_v, 'module_prd' : prd_v_module, @@ -129,8 +143,8 @@ func set_default_state() -> void: func _enter_tree() -> void: if Engine.is_editor_hint(): return - $control_result.text = 'Выполняется ...' - $control_result.add_theme_color_override('font_color', Color.ALICE_BLUE) + $ref_ZZ4/label.text = 'Выполняется ...' + $ref_ZZ4/label.add_theme_color_override('font_color', Color.ALICE_BLUE) signaller.connect('режим_работа', Callable(self, 'on_mode_changed').bind(false)) signaller.connect('режим_журнал', Callable(self, 'on_mode_changed').bind(false)) signaller.connect('режим_эмс', Callable(self, 'on_mode_changed').bind(false)) @@ -224,24 +238,8 @@ func on_control_result(result_dic: Dictionary, power_dic: Dictionary) -> void: var name_prd = control_prd_v.self_name if result: - $control_result.text = 'Прибор ПРД-%s исправен' % name_prd - $control_result.add_theme_color_override('font_color', Color.GREEN) + $ref_ZZ4/label.text = 'Прибор ПРД-%s исправен' % name_prd + #$ref_ZZ4/label.add_theme_color_override('font_color', Color.GREEN) else: - $control_result.text = 'Прибор ПРД-%s неисправен' % name_prd - $control_result.add_theme_color_override('font_color', Color.RED) - - -func find_labels(node1: Node): - if node1 is Label: - if node1.name in ["lbl_rname", "rname"]: - if not node1.has_meta("tooltip_set"): - ctrl_pos += 1 - var box_number = ceili(float(ctrl_pos) / 10.0) - var position_number = ctrl_pos % 10 - if position_number == 0: - position_number = 10 - node1.tooltip_text = "Ящик - %d, Позиция - %d" % [box_number, position_number] - node1.mouse_filter = Control.MOUSE_FILTER_STOP - node1.set_meta("tooltip_set", true) - for child in node1.get_children(): - find_labels(child) + $ref_ZZ4/label.text = 'Прибор ПРД-%s неисправен' % name_prd + #$ref_ZZ4/label.add_theme_color_override('font_color', Color.RED) diff --git a/scenes/pribor-prd-v/pribor-prd-v.tscn b/scenes/pribor-prd-v/pribor-prd-v.tscn index bf501cbd..195b765f 100644 --- a/scenes/pribor-prd-v/pribor-prd-v.tscn +++ b/scenes/pribor-prd-v/pribor-prd-v.tscn @@ -18,7 +18,7 @@ offset_right = 15.0 offset_bottom = 30.0 script = ExtResource("1_c20s6") -[node name="maa2000_A22" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("2_xpo4b")] +[node name="maa2000_A22" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("2_xpo4b")] layout_mode = 2 offset_left = 485.0 offset_top = 877.0 @@ -27,8 +27,9 @@ offset_bottom = 949.0 fname = "MAA2000" rname = "A22" metadata/ip = "maa2000_1" +metadata/case = 1 -[node name="dou4_A5" parent="." groups=["default_reset"] instance=ExtResource("2_xpo4b")] +[node name="dou4_A5" parent="." groups=["case", "default_reset"] instance=ExtResource("2_xpo4b")] layout_mode = 2 offset_left = 485.0 offset_top = 812.0 @@ -36,8 +37,9 @@ offset_right = 652.0 offset_bottom = 877.0 fname = "ДОУ-4" rname = "A5" +metadata/case = 5 -[node name="maa2000_A23" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("2_xpo4b")] +[node name="maa2000_A23" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("2_xpo4b")] layout_mode = 2 offset_left = 8.0 offset_top = 877.0 @@ -46,8 +48,9 @@ offset_bottom = 949.0 fname = "MAA2000" rname = "A23" metadata/ip = "maa2000_2" +metadata/case = 3 -[node name="dou5_A6" parent="." groups=["default_reset"] instance=ExtResource("2_xpo4b")] +[node name="dou5_A6" parent="." groups=["case", "default_reset"] instance=ExtResource("2_xpo4b")] layout_mode = 2 offset_left = 8.0 offset_top = 812.0 @@ -55,6 +58,7 @@ offset_right = 175.0 offset_bottom = 877.0 fname = "ДОУ-5" rname = "A6" +metadata/case = 4 [node name="ref_ZZ3" type="NinePatchRect" parent="."] layout_mode = 0 @@ -109,7 +113,7 @@ patch_margin_bottom = 16 script = ExtResource("6_os4mt") fname = "Кассета П-1В" -[node name="ref_A19" parent="kasseta_P_1" groups=["default_reset", "power_supply"] instance=ExtResource("7_38u2b")] +[node name="ref_A19" parent="kasseta_P_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("7_38u2b")] offset_left = 9.0 offset_top = 33.0 offset_right = 59.0 @@ -117,8 +121,9 @@ offset_bottom = 183.0 fname = "ИП9-50" rname = "A19" metadata/ip = "ip9_50_1" +metadata/case = 3 -[node name="ref_A20" parent="kasseta_P_1" groups=["default_reset", "power_supply"] instance=ExtResource("7_38u2b")] +[node name="ref_A20" parent="kasseta_P_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("7_38u2b")] offset_left = 59.0 offset_top = 33.0 offset_right = 109.0 @@ -126,8 +131,9 @@ offset_bottom = 183.0 fname = "ИП9-50" rname = "A20" metadata/ip = "ip9_50_2" +metadata/case = 0 -[node name="ref_A21" parent="kasseta_P_1" groups=["default_reset", "power_supply"] instance=ExtResource("7_38u2b")] +[node name="ref_A21" parent="kasseta_P_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("7_38u2b")] offset_left = 109.0 offset_top = 33.0 offset_right = 159.0 @@ -135,6 +141,7 @@ offset_bottom = 183.0 fname = "ИП12-50" rname = "A21" metadata/ip = "ip12_50_1" +metadata/case = 0 [node name="lbl_fname" type="Label" parent="kasseta_P_1"] self_modulate = Color(1, 1, 1, 0.62) @@ -147,7 +154,7 @@ text = "Кассета П-1В" horizontal_alignment = 1 vertical_alignment = 1 -[node name="um1535_A7" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")] +[node name="um1535_A7" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")] layout_mode = 0 offset_left = 485.0 offset_top = 242.0 @@ -158,8 +165,9 @@ rname = "A7" value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_1" +metadata/case = 1 -[node name="um1535_A8" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")] +[node name="um1535_A8" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")] layout_mode = 0 offset_left = 485.0 offset_top = 337.0 @@ -170,8 +178,9 @@ rname = "A8" value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_2" +metadata/case = 1 -[node name="um1535_A9" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")] +[node name="um1535_A9" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")] layout_mode = 0 offset_left = 485.0 offset_top = 432.0 @@ -182,8 +191,9 @@ rname = "A9" value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_3" +metadata/case = 1 -[node name="um1535_A10" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")] +[node name="um1535_A10" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")] layout_mode = 0 offset_left = 485.0 offset_top = 527.0 @@ -194,8 +204,9 @@ rname = "A10" value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_4" +metadata/case = 1 -[node name="um1535_A11" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")] +[node name="um1535_A11" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")] layout_mode = 0 offset_left = 485.0 offset_top = 622.0 @@ -206,8 +217,9 @@ rname = "A11" value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_5" +metadata/case = 1 -[node name="um1535_A12" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")] +[node name="um1535_A12" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")] layout_mode = 0 offset_left = 485.0 offset_top = 717.0 @@ -218,8 +230,9 @@ rname = "A12" value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_6" +metadata/case = 5 -[node name="um1535_A13" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")] +[node name="um1535_A13" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")] layout_mode = 0 offset_left = 8.0 offset_top = 242.0 @@ -230,8 +243,9 @@ rname = "A13" value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_7" +metadata/case = 1 -[node name="um1535_A14" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")] +[node name="um1535_A14" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")] layout_mode = 0 offset_left = 8.0 offset_top = 337.0 @@ -242,8 +256,9 @@ rname = "A14" value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_8" +metadata/case = 1 -[node name="um1535_A15" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")] +[node name="um1535_A15" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")] layout_mode = 0 offset_left = 8.0 offset_top = 432.0 @@ -254,8 +269,9 @@ rname = "A15" value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_9" +metadata/case = 1 -[node name="um1535_A16" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")] +[node name="um1535_A16" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")] layout_mode = 0 offset_left = 8.0 offset_top = 527.0 @@ -266,8 +282,9 @@ rname = "A16" value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_10" +metadata/case = 1 -[node name="um1535_A17" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")] +[node name="um1535_A17" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")] layout_mode = 0 offset_left = 8.0 offset_top = 622.0 @@ -278,8 +295,9 @@ rname = "A17" value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_11" +metadata/case = 1 -[node name="um1535_A18" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")] +[node name="um1535_A18" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")] layout_mode = 0 offset_left = 8.0 offset_top = 717.0 @@ -290,12 +308,27 @@ rname = "A18" value0_info = "Мощность, Вт" value1_info = "Температура,°C" metadata/um = "um_12" +metadata/case = 10 -[node name="control_result" type="Label" parent="."] +[node name="ref_ZZ4" type="NinePatchRect" parent="."] layout_mode = 0 -offset_left = 9.0 -offset_top = 960.0 -offset_right = 649.0 -offset_bottom = 1003.0 -horizontal_alignment = 1 +offset_left = 8.0 +offset_top = 964.0 +offset_right = 652.0 +offset_bottom = 1010.0 +texture = ExtResource("3_wyy1b") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 metadata/_edit_lock_ = true + +[node name="label" type="Label" parent="ref_ZZ4"] +self_modulate = Color(0.996078, 1, 1, 0.627451) +layout_mode = 0 +offset_left = 10.0 +offset_top = 8.0 +offset_right = 633.0 +offset_bottom = 38.0 +horizontal_alignment = 1 +vertical_alignment = 1 diff --git a/scenes/tabs-switch/lbl_ready.gd b/scenes/tabs-switch/lbl_ready.gd index f35d4eda..d49cbd63 100644 --- a/scenes/tabs-switch/lbl_ready.gd +++ b/scenes/tabs-switch/lbl_ready.gd @@ -10,13 +10,13 @@ var is_uf_operational: bool = false func _ready() -> void: tooltip_text = 'Нет связи с приборами комплекса' for prd_module in prd.prd_dict.values(): - prd_module.connect('update_serviceability', Callable(self, 'on_serviceability_changed').bind(prd_module)) + prd_module.connect('update_serviceability', Callable(self, 'on_update_serviceability').bind(prd_module)) var unit_uf: = network.get_unit_instance('уарэп-эмс') unit_uf.connect('data_received', Callable(self, 'on_uf_status_receive')) add_theme_color_override("font_color", Color.BLACK) -func on_serviceability_changed(unit_prd_module: Object) -> void: +func on_update_serviceability(unit_prd_module: Object) -> void: var check_service: bool = true for prd_module in prd.prd_dict.values(): if prd_module.unit_yau07.online: diff --git a/scenes/контроль/блок-в.tscn b/scenes/контроль/блок-в.tscn index 06dcfa85..9c10eed9 100644 --- a/scenes/контроль/блок-в.tscn +++ b/scenes/контроль/блок-в.tscn @@ -351,7 +351,7 @@ layout_mode = 2 size_flags_vertical = 3 columns = 7 -[node name="level1" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["уровни"]] +[node name="level1" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["case", "уровни"]] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -371,7 +371,7 @@ 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=["уровни"]] +[node name="level2" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["case", "уровни"]] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -391,7 +391,7 @@ 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=["уровни"]] +[node name="level3" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["case", "уровни"]] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -411,7 +411,7 @@ 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=["уровни"]] +[node name="level4" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["case", "уровни"]] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -431,7 +431,7 @@ 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=["уровни"]] +[node name="level5" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["case", "уровни"]] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -451,7 +451,7 @@ 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=["уровни"]] +[node name="level6" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["case", "уровни"]] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -471,7 +471,7 @@ 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"] +[node name="level7" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["case"]] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 diff --git a/scenes/контроль/кассета-п-2.tscn b/scenes/контроль/кассета-п-2.tscn index a265d9d7..0db2d21b 100644 --- a/scenes/контроль/кассета-п-2.tscn +++ b/scenes/контроль/кассета-п-2.tscn @@ -14,7 +14,7 @@ patch_margin_right = 16 patch_margin_bottom = 16 script = ExtResource("2_mdnod") -[node name="ref_A26" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("3_4a27g")] +[node name="ref_A26" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("3_4a27g")] offset_left = 10.0 offset_top = 30.0 offset_right = 60.0 @@ -23,7 +23,7 @@ fname = "ИП9-50" rname = "A22" metadata/ip = "ip9_50_3" -[node name="ref_A23" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("3_4a27g")] +[node name="ref_A23" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("3_4a27g")] offset_left = 60.0 offset_top = 30.0 offset_right = 110.0 diff --git a/scenes/контроль/кассета-у-5-к.tscn b/scenes/контроль/кассета-у-5-к.tscn index 1a0654ad..868b22a5 100644 --- a/scenes/контроль/кассета-у-5-к.tscn +++ b/scenes/контроль/кассета-у-5-к.tscn @@ -25,7 +25,7 @@ text = "Кассета У5" horizontal_alignment = 1 vertical_alignment = 1 -[node name="ref_A24" parent="." groups=["power_supply"] instance=ExtResource("3_wtlpi")] +[node name="ref_A24" parent="." groups=["case", "power_supply"] instance=ExtResource("3_wtlpi")] offset_left = 5.0 offset_top = 32.0 offset_right = 55.0 @@ -34,7 +34,7 @@ fname = "ИП5-25" rname = "A31" metadata/ip = "ip5_25" -[node name="ref_A30" parent="." groups=["y-5"] instance=ExtResource("3_wtlpi")] +[node name="ref_A30" parent="." groups=["case", "y-5"] instance=ExtResource("3_wtlpi")] offset_left = 55.0 offset_top = 32.0 offset_right = 105.0 @@ -43,7 +43,7 @@ fname = "ЯУ-07Б" rname = "A37" metadata/y5 = "yau07" -[node name="ref_A26" parent="." groups=["y-5"] instance=ExtResource("3_wtlpi")] +[node name="ref_A26" parent="." groups=["case", "y-5"] instance=ExtResource("3_wtlpi")] offset_left = 105.0 offset_top = 32.0 offset_right = 155.0 @@ -52,7 +52,7 @@ fname = "ЭМС-Г" rname = "A33" metadata/y5 = "ems" -[node name="ref_A27" parent="." groups=["y-5"] instance=ExtResource("3_wtlpi")] +[node name="ref_A27" parent="." groups=["case", "y-5"] instance=ExtResource("3_wtlpi")] offset_left = 155.0 offset_top = 32.0 offset_right = 205.0 @@ -61,7 +61,7 @@ fname = "УГ" rname = "A34" metadata/y5 = "ug" -[node name="ref_A28" parent="." groups=["y-5"] instance=ExtResource("3_wtlpi")] +[node name="ref_A28" parent="." groups=["case", "y-5"] instance=ExtResource("3_wtlpi")] offset_left = 205.0 offset_top = 32.0 offset_right = 255.0 @@ -70,7 +70,7 @@ fname = "УКП" rname = "A35" metadata/y5 = "ukp1" -[node name="ref_A29" parent="." groups=["y-5"] instance=ExtResource("3_wtlpi")] +[node name="ref_A29" parent="." groups=["case", "y-5"] instance=ExtResource("3_wtlpi")] offset_left = 254.0 offset_top = 32.0 offset_right = 304.0 diff --git a/scenes/контроль/кассета-у-5-нв.tscn b/scenes/контроль/кассета-у-5-нв.tscn index dad7c794..f02c88b3 100644 --- a/scenes/контроль/кассета-у-5-нв.tscn +++ b/scenes/контроль/кассета-у-5-нв.tscn @@ -25,7 +25,7 @@ text = "Кассета У5" horizontal_alignment = 1 vertical_alignment = 1 -[node name="ref_A24" parent="." groups=["power_supply"] instance=ExtResource("3_picsk")] +[node name="ref_A24" parent="." groups=["case", "power_supply"] instance=ExtResource("3_picsk")] offset_left = 5.0 offset_top = 32.0 offset_right = 55.0 @@ -33,8 +33,9 @@ offset_bottom = 182.0 fname = "ИП5-25" rname = "A24" metadata/ip = "ip5_25" +metadata/case = 0 -[node name="ref_A30" parent="." groups=["y-5"] instance=ExtResource("3_picsk")] +[node name="ref_A30" parent="." groups=["case", "y-5"] instance=ExtResource("3_picsk")] offset_left = 55.0 offset_top = 32.0 offset_right = 105.0 @@ -42,8 +43,9 @@ offset_bottom = 182.0 fname = "ЯУ-07Б" rname = "A30" metadata/y5 = "yau07" +metadata/case = 0 -[node name="ref_A26" parent="." groups=["y-5"] instance=ExtResource("3_picsk")] +[node name="ref_A26" parent="." groups=["case", "y-5"] instance=ExtResource("3_picsk")] offset_left = 105.0 offset_top = 32.0 offset_right = 155.0 @@ -51,8 +53,9 @@ offset_bottom = 182.0 fname = "ЭМС-Г" rname = "A26" metadata/y5 = "ems" +metadata/case = 0 -[node name="ref_A27" parent="." groups=["y-5"] instance=ExtResource("3_picsk")] +[node name="ref_A27" parent="." groups=["case", "y-5"] instance=ExtResource("3_picsk")] offset_left = 155.0 offset_top = 32.0 offset_right = 205.0 @@ -60,8 +63,9 @@ offset_bottom = 182.0 fname = "УГ" rname = "A27" metadata/y5 = "ug" +metadata/case = 0 -[node name="ref_A28" parent="." groups=["y-5"] instance=ExtResource("3_picsk")] +[node name="ref_A28" parent="." groups=["case", "y-5"] instance=ExtResource("3_picsk")] offset_left = 205.0 offset_top = 32.0 offset_right = 255.0 @@ -69,8 +73,9 @@ offset_bottom = 182.0 fname = "УКП" rname = "A28" metadata/y5 = "ukp1" +metadata/case = 0 -[node name="ref_A29" parent="." groups=["y-5"] instance=ExtResource("3_picsk")] +[node name="ref_A29" parent="." groups=["case", "y-5"] instance=ExtResource("3_picsk")] offset_left = 254.0 offset_top = 32.0 offset_right = 304.0 @@ -78,3 +83,4 @@ offset_bottom = 182.0 fname = "УКП" rname = "A29" metadata/y5 = "ukp2" +metadata/case = 0 diff --git a/scenes/контроль/кассета-у-5.gd b/scenes/контроль/кассета-у-5.gd deleted file mode 100644 index 62cba8ce..00000000 --- a/scenes/контроль/кассета-у-5.gd +++ /dev/null @@ -1,47 +0,0 @@ -extends "res://scenes/контроль/кассета.gd" - -enum STATE_VAL { - NONE = 0, - GOOD = 1, - ERROR = 2 } - - -func _ready() -> void: - var unit_name = get_parent().get_meta('unit_name')[0] - var unit_prd = network.get_unit_instance(unit_name) - unit_prd.connect('data_received', Callable(self, 'on_data_received')) - unit_prd.connect('line_changed', Callable(self, 'on_line_changed')) - set_default_state() - - -func set_default_state(): - $ref_A30.state = STATE_VAL.ERROR # ЯУ-07Б - $ref_A24.state = STATE_VAL.NONE # ИП5-25 - $ref_A26.state = STATE_VAL.NONE # ЭМС-Г - $ref_A27.state = STATE_VAL.NONE # УГ - $ref_A28.state = STATE_VAL.NONE # УКП - $ref_A29.state = STATE_VAL.NONE # УКП - - -func on_line_changed(unit_prd): - if not unit_prd.online: - set_default_state() - - -func on_data_received(unit_prd): - $ref_A30.state = STATE_VAL.GOOD - var ems_online = unit_prd.status[0] & 1 - var bit_load = 4 - var ems_load = (unit_prd.status[0] >> bit_load) & 1 - var ug_online = (unit_prd.status[0] >> 1) & 1 - $ref_A26.state = STATE_VAL.GOOD if ems_online and ems_load else STATE_VAL.ERROR - $ref_A27.state = STATE_VAL.GOOD if ug_online else STATE_VAL.ERROR - $ref_A28.state = STATE_VAL.GOOD if (unit_prd.status[0] >> 2) & 1 else STATE_VAL.ERROR - $ref_A29.state = STATE_VAL.GOOD if (unit_prd.status[0] >> 3) & 1 else STATE_VAL.ERROR - if ug_online: - var byte_dry_contact: int = 27 - var bit_ip5_25: int = 7 - var ip5_25 = unit_prd.status[byte_dry_contact] >> bit_ip5_25 & 1 - $ref_A24.state = STATE_VAL.ERROR if ip5_25 else STATE_VAL.GOOD - else: - $ref_A24.state = STATE_VAL.NONE diff --git a/scenes/контроль/кассета-у-5.gd.uid b/scenes/контроль/кассета-у-5.gd.uid deleted file mode 100644 index dd99f24e..00000000 --- a/scenes/контроль/кассета-у-5.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dow4nqi6hbak8 diff --git a/scenes/контроль/кнопка-прибора.gd b/scenes/контроль/кнопка-прибора.gd index b6adb741..626d810f 100644 --- a/scenes/контроль/кнопка-прибора.gd +++ b/scenes/контроль/кнопка-прибора.gd @@ -1,12 +1,16 @@ @tool extends TextureButton - +@onready var tween: Tween @export var state_colors: Array -func _on_toggled(toggled_on): $frame.visible = toggled_on +func _on_toggled(toggled_on) -> void: $frame.visible = toggled_on func _enter_tree() -> void: $label.self_modulate = state_colors[state] - +func update_progress_bar(target_value) -> void: + if tween: + tween.kill() + tween = create_tween() + tween.tween_property($progress, "value", target_value, 0.3) @export var state: int: set(v): @@ -14,3 +18,31 @@ func _enter_tree() -> void: $label.self_modulate = state_colors[state] state = v if is_inside_tree(): $label.self_modulate = state_colors[v] + + +@export var progress_value: float: + set(v): + progress_value = v + if is_inside_tree(): + update_progress_bar(v) + + +@export var progress_visible: bool: + set(v): + progress_value = v + if is_inside_tree(): + $progress.visible = v + + +@export var progress_max_value: float: + set(v): + progress_max_value = v + if is_inside_tree(): + $progress.max_value = v + + +@export var progress_min_value: float: + set(v): + progress_min_value = v + if is_inside_tree(): + $progress.min_value = v diff --git a/scenes/контроль/контроль.tscn b/scenes/контроль/контроль.tscn index 5ed8246a..e9db2cac 100644 --- a/scenes/контроль/контроль.tscn +++ b/scenes/контроль/контроль.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=18 format=3 uid="uid://lwmw4egynmd1"] +[gd_scene load_steps=20 format=3 uid="uid://lwmw4egynmd1"] [ext_resource type="Texture2D" uid="uid://bar8k5qef7kch" path="res://data/УФ.png" id="2_0nvm1"] [ext_resource type="Script" uid="uid://q3gmpsqspjfp" path="res://scenes/контроль/внешний.gd" id="2_8r80x"] @@ -14,6 +14,8 @@ [ext_resource type="Texture2D" uid="uid://dnreyfh3cd1k2" path="res://data/состояние-исправности-1.png" id="8_isjua"] [ext_resource type="Texture2D" uid="uid://b4isaggma6q3" path="res://data/Грани22.png" id="9_iqgf5"] [ext_resource type="Texture2D" uid="uid://c6booa8753u5t" path="res://data/состояние-исправности-2.png" id="9_ll0vs"] +[ext_resource type="Texture2D" uid="uid://00871pb6moln" path="res://data/прогресс-фон-1.png" id="9_w6m6a"] +[ext_resource type="Texture2D" uid="uid://c1k856fxhrjnh" path="res://data/прогресс-заполнение-1.png" id="10_lbx5w"] [ext_resource type="Script" uid="uid://bncy1x53jp73d" path="res://scenes/контроль/connect_pribor.gd" id="11_u7tym"] [sub_resource type="GDScript" id="GDScript_iqgf5"] @@ -83,7 +85,8 @@ func _ready(): for item in unit_names: if prd.prd_dict.has(item): var prd_module = prd.prd_dict[item] - prd_module.connect('update_serviceability', Callable(self, 'on_serviceability_changed').bind(prd_module, pribor_node)) + prd_module.connect('update_progress', Callable(self, 'update_serviceability').bind(prd_module, pribor_node)) + prd_module.connect('update_serviceability', Callable(self, 'on_update_serviceability').bind(prd_module, pribor_node)) if item == 'уарэп-эмс': signaller.connect('update_uf_serviceability', Callable(self, 'on_update_uf_serviceability').bind(pribor_node)) # Пиктограммы приборов, которые отображают состояние подключения только @@ -135,7 +138,7 @@ func on_pribor_press(pribor_path, header_text, pribor_node): add_child(pribor) -func on_serviceability_changed(prd_module: Object, prd_pribor:Node)-> void: +func on_update_serviceability(prd_module: Object, prd_pribor:Node)-> void: if not prd_module.unit_yau07.online: prd_pribor.state = 0 return @@ -143,8 +146,12 @@ func on_serviceability_changed(prd_module: Object, prd_pribor:Node)-> void: func on_update_uf_serviceability(uf_serviceaability: bool, uf_pribor: Node)-> void: - uf_pribor.state = 1 if uf_serviceaability else 2 + + +func update_serviceability(prd_module: Object, prd_pribor:Node) -> void: + prd_pribor.progress_visible = prd_module.progress_value > 0 + prd_pribor.progress_value = prd_module.progress_value " [sub_resource type="SpriteFrames" id="SpriteFrames_foasq"] @@ -360,6 +367,8 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 0.87, 0, 1), Color(0.65, 0.0715, 0.0715, 1)] +progress_value = 15.0 +progress_max_value = 30.0 metadata/online_proc = "on_line_changed" metadata/unit_name = ["уарэп-яу07-1н"] @@ -396,6 +405,31 @@ sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 script = ExtResource("11_u7tym") +[node name="progress" type="TextureProgressBar" parent="pribor_prd_n_1"] +visible = false +layout_mode = 0 +offset_left = -4.0 +offset_top = 123.0 +offset_right = 89.0 +offset_bottom = 131.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tooltip_text = " +Состояние процесса контрля прибора +" +mouse_filter = 0 +max_value = 30.0 +nine_patch_stretch = true +stretch_margin_left = 2 +stretch_margin_top = 2 +stretch_margin_right = 2 +stretch_margin_bottom = 2 +texture_under = ExtResource("9_w6m6a") +texture_progress = ExtResource("10_lbx5w") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) +metadata/_edit_lock_ = true + [node name="pribor_uf" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -416,6 +450,7 @@ metadata/unit_name = ["уарэп-эмс"] metadata/online_proc = "on_line_changed" [node name="label" type="Label" parent="pribor_uf"] +self_modulate = Color(0, 1, 0, 1) layout_mode = 0 offset_left = 15.0 offset_top = -34.0 diff --git a/scripts/network.gd b/scripts/network.gd index a8950163..dea87069 100644 --- a/scripts/network.gd +++ b/scripts/network.gd @@ -1,4 +1,4 @@ -@tool +#@tool class_name Network extends Node const YAU07_PROTO: = {'yau07tx': yau07.YaU07} diff --git a/scripts/prd.gd b/scripts/prd.gd index 46c8e08b..c857ed18 100644 --- a/scripts/prd.gd +++ b/scripts/prd.gd @@ -160,7 +160,17 @@ class PRD: var ug_online: bool = false ## Состояние ячейки УГ var serviceability: bool = false var set_ug_state: bool = true ## Необходимо ли записать в УГ настройки + signal update_serviceability() + signal update_progress(progress_value) + + + var progress_value: float: + set(v): + if progress_value != v: + progress_value = v + #print(progress_value) + call_deferred('emit_signal', 'update_progress') func _init(u_name, u_yau07): prd_name = u_name diff --git a/scripts/pribor-prd.gd b/scripts/pribor-prd.gd index c717f50b..62c1f63d 100644 --- a/scripts/pribor-prd.gd +++ b/scripts/pribor-prd.gd @@ -84,11 +84,11 @@ class TestPRD extends Node: var control_label: Label var control_timer: Timer = Timer.new() var ems_6666_timer: Timer = Timer.new() + var ecms: Dictionary ## Словарь помеховых воздействий + signal control_is_over(control_results, power_result) - var ecms: Dictionary ## Словарь помеховых воздействий - ## Инициализация аргуметнов func _init(init_data: Dictionary) -> void: control_label = init_data['control_label'] @@ -161,6 +161,11 @@ class TestPRD extends Node: ## func state_control_machine() -> void: + var correct_timer = 0 + if current_litera in [3, 5, 7]: + correct_timer = 10 + print(control_timer.get_wait_time()) + module_prd.progress_value = correct_timer + control_timer.get_wait_time() - control_timer.get_time_left() match state: STATE_MASHINE.INIT: _handle_init_state() @@ -351,7 +356,7 @@ class TestPRD extends Node: add_child(control_timer) control_timer.timeout.connect(on_stop_control) control_timer.one_shot = true - control_timer.wait_time = 15.0 + control_timer.wait_time = constants.TIMER_DELAY control_timer.start() add_child(ems_6666_timer)