2
2
class_name ParameterBlock
3
3
extends Block
4
4
5
+ const Constants = preload ("res://addons/block_code/ui/constants.gd" )
5
6
const Util = preload ("res://addons/block_code/ui/util.gd" )
6
7
7
8
@export var block_format : String = ""
@@ -16,16 +17,24 @@ var param_name_input_pairs: Array
16
17
var param_input_strings : Dictionary # Only loaded from serialized
17
18
var spawned_by : ParameterOutput
18
19
20
+ var _panel_normal : StyleBox
21
+ var _panel_focus : StyleBox
22
+
19
23
20
24
func _ready ():
21
25
super ()
22
26
27
+ _panel_normal = _panel .get_theme_stylebox ("panel" ).duplicate ()
28
+ _panel_normal .bg_color = color
29
+ _panel_normal .border_color = color .darkened (0.2 )
30
+
31
+ _panel_focus = _panel .get_theme_stylebox ("panel" ).duplicate ()
32
+ _panel_focus .bg_color = color
33
+ _panel_focus .border_color = Constants .FOCUS_BORDER_COLOR
34
+
23
35
block_type = Types .BlockType .VALUE
24
36
if not Util .node_is_part_of_edited_scene (self ):
25
- var new_panel = _panel .get_theme_stylebox ("panel" ).duplicate ()
26
- new_panel .bg_color = color
27
- new_panel .border_color = color .darkened (0.2 )
28
- _panel .add_theme_stylebox_override ("panel" , new_panel )
37
+ _panel .add_theme_stylebox_override ("panel" , _panel_normal )
29
38
30
39
format ()
31
40
@@ -73,3 +82,11 @@ static func get_scene_path():
73
82
74
83
func format ():
75
84
param_name_input_pairs = StatementBlock .format_string (self , % HBoxContainer , block_format , defaults )
85
+
86
+
87
+ func _on_focus_entered ():
88
+ _panel .add_theme_stylebox_override ("panel" , _panel_focus )
89
+
90
+
91
+ func _on_focus_exited ():
92
+ _panel .add_theme_stylebox_override ("panel" , _panel_normal )
0 commit comments