Skip to content

Commit 73eda98

Browse files
committed
Add a focus style override for ParameterBlock
1 parent 71ad9f3 commit 73eda98

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

addons/block_code/ui/blocks/parameter_block/parameter_block.gd

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
class_name ParameterBlock
33
extends Block
44

5+
const Constants = preload("res://addons/block_code/ui/constants.gd")
56
const Util = preload("res://addons/block_code/ui/util.gd")
67

78
@export var block_format: String = ""
@@ -16,16 +17,24 @@ var param_name_input_pairs: Array
1617
var param_input_strings: Dictionary # Only loaded from serialized
1718
var spawned_by: ParameterOutput
1819

20+
var _panel_normal: StyleBox
21+
var _panel_focus: StyleBox
22+
1923

2024
func _ready():
2125
super()
2226

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+
2335
block_type = Types.BlockType.VALUE
2436
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)
2938

3039
format()
3140

@@ -73,3 +82,11 @@ static func get_scene_path():
7382

7483
func format():
7584
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)

addons/block_code/ui/blocks/parameter_block/parameter_block.tscn

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,6 @@ unique_name_in_owner = true
4747
layout_mode = 2
4848
mouse_filter = 2
4949

50+
[connection signal="focus_entered" from="." to="." method="_on_focus_entered"]
51+
[connection signal="focus_exited" from="." to="." method="_on_focus_exited"]
5052
[connection signal="mouse_down" from="DragDropArea" to="." method="_on_drag_drop_area_mouse_down"]

0 commit comments

Comments
 (0)