Рефактор.

This commit is contained in:
sasha80
2025-12-04 14:17:51 +03:00
parent cfa2911f92
commit f3a72a9150
5 changed files with 27 additions and 29 deletions

View File

Before

Width:  |  Height:  |  Size: 125 B

After

Width:  |  Height:  |  Size: 125 B

View File

@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://vqajxsh5xamt"
path="res://.godot/imported/nine-patch.png-798f7950fb3126b4e1ed0c39d9e4beba.ctex"
path="res://.godot/imported/nine-patch.png-b3022b5c868bc85e271b731e8fa2ec8a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://table/nine-patch.png"
dest_files=["res://.godot/imported/nine-patch.png-798f7950fb3126b4e1ed0c39d9e4beba.ctex"]
source_file="res://data/nine-patch.png"
dest_files=["res://.godot/imported/nine-patch.png-b3022b5c868bc85e271b731e8fa2ec8a.ctex"]
[params]

View File

@@ -1,7 +1,7 @@
extends Button
var base_style: StyleBoxFlat
var tween
var tween: Tween
var pulsing: bool = false
var original_text: String
var flag_control_is_over: bool = false
@@ -14,7 +14,7 @@ func _ready():
func _setup_styles() -> void:
if get("theme_override_styles/disabled") == null:
if get('theme_override_styles/disabled') == null:
base_style = StyleBoxFlat.new()
base_style.border_color = Color(1.0, 0.5, 0.0)
base_style.border_width_top = 4
@@ -22,26 +22,26 @@ func _setup_styles() -> void:
base_style.border_width_left = 4
base_style.border_width_right = 4
base_style.bg_color = Color(0.2, 0.2, 0.2)
set("theme_override_styles/disabled", base_style)
set('theme_override_styles/disabled', base_style)
else:
base_style = get("theme_override_styles/disabled")
set("theme_override_colors/font_disabled_color", Color(1.0, 1.0, 1.0))
base_style = get('theme_override_styles/disabled')
set('theme_override_colors/font_disabled_color', Color(1.0, 1.0, 1.0))
func _setup_signals() -> void:
connect("pressed", Callable(self, "_on_pressed"))
connect('pressed', Callable(self, '_on_pressed'))
if not signaller:
return
var signals_to_connect := ["режим_работа", "режим_журнал", "режим_эмс", "режим_настройки", "режим_контроль"]
var signals_to_connect := ['режим_работа', 'режим_журнал', 'режим_эмс', 'режим_настройки", "режим_контроль']
for signal_name in signals_to_connect:
if signaller.has_signal(signal_name):
signaller.connect(signal_name, Callable(self, "_on_status_change"))
signaller.connect(signal_name, Callable(self, '_on_status_change'))
func _on_pressed():
disabled = true
text = "Идет выполнение контроля"
text = 'Идет выполнение контроля'
flag_control_is_over = false
_start_pulse()
@@ -50,16 +50,13 @@ func _start_pulse():
if pulsing:
return
pulsing = true
if not tween:
tween = create_tween()
tween.set_loops()
var color1 = Color(1.0, 0.5, 0.0) # оранжевый
var color2 = Color(0.4, 0.4, 0.4) # серый
tween.tween_property(base_style, "border_color", color2, 0.5)\
.set_trans(Tween.TRANS_SINE)\
.set_ease(Tween.EASE_IN_OUT)
tween.tween_property(base_style, "border_color", color1, 0.5)\
.set_trans(Tween.TRANS_SINE)\
.set_ease(Tween.EASE_IN_OUT)
tween.tween_property(base_style, 'border_color', color2, 0.5).set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_IN_OUT)
tween.tween_property(base_style, 'border_color', color1, 0.5).set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_IN_OUT)
func _stop_pulse():
@@ -80,16 +77,17 @@ func _on_status_change():
func _on_stop_control():
var time_dict = Time.get_datetime_dict_from_system()
text = 'Контроль выполнен %02d:%02d/%02d.%02d' % [
text = 'Контроль завершён %02d:%02d/%02d.%02d' % [
time_dict.hour,
time_dict.minute,
time_dict.day,
time_dict.month]
time_dict.month ]
disabled = false
tooltip_text = 'Нажать для повторного контроля '
tooltip_text = 'Нажать для запуска контроля '
flag_control_is_over = true
func _exit_tree() -> void:
if tween:
tween.kill()
tween = null

View File

@@ -110,6 +110,8 @@ func on_settings_changed():
color_ecm = ProjectSettings.get_setting('application/interfer/interfer_color', Color(0.58, 0.47, 0.51, 1.0))
color_select = ProjectSettings.get_setting('application/interfer/select_color', Color(1.0, 1.0, 1.0, 1.0))
color_closed = ProjectSettings.get_setting('application/interfer/closed_sectors', Color(0.0, 0.0, 0.0, 1.0))
min_zoom = ProjectSettings.get_setting('application/config/map_minimum_zoom', 5)
max_zoom = ProjectSettings.get_setting('application/config/map_maximum_zoom', 19)
color_emit_sel = color_select
color_closed_emit = color_closed
@@ -168,8 +170,6 @@ func _ready():
ProjectSettings.connect('settings_changed', on_settings_changed)
on_settings_changed()
init_fs_failed()
min_zoom = ProjectSettings.get_setting('application/config/map_minimum_zoom', 5)
max_zoom = ProjectSettings.get_setting('application/config/map_maximum_zoom', 19)
drag_fsm = DragFSM.OFF
var btns_select: Array = get_tree().get_nodes_in_group('группа-режим-выбора')
btns_select.any(func(btn): btn.button_connect('pressed', Callable(self, 'on_button_select').bind(btn, btns_select)))

View File

@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://pd3fcx55duj2"]
[ext_resource type="Texture2D" uid="uid://bw3yv3smvaxqn" path="res://table/nine-patch.png" id="1_ik10p"]
[ext_resource type="Texture2D" uid="uid://vqajxsh5xamt" path="res://data/nine-patch.png" id="1_ik10p"]
[node name="NinePatchRect" type="NinePatchRect"]
offset_right = 17.0