From 7a10344d370abd9175602aec7e3fb2345ae9d112 Mon Sep 17 00:00:00 2001 From: LMW Date: Sat, 30 Aug 2025 11:04:05 +0800 Subject: [PATCH] FloatEdit: Visual feedback when out of bounds --- material_maker/widgets/float_edit/float_edit.gd | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/material_maker/widgets/float_edit/float_edit.gd b/material_maker/widgets/float_edit/float_edit.gd index 4c55cfba1..f8c53a3e8 100644 --- a/material_maker/widgets/float_edit/float_edit.gd +++ b/material_maker/widgets/float_edit/float_edit.gd @@ -10,11 +10,13 @@ var float_value: float = 0.5 @export var min_value: float = 0.0 : set(v): + show_hide_out_of_bounds_overlay(float_value < min_value) min_value = v $Slider.min_value = v @export var max_value: float = 1.0 : set(v): + show_hide_out_of_bounds_overlay(float_value > max_value) max_value = v $Slider.max_value = v @@ -95,6 +97,8 @@ func set_value(v: Variant, notify := false, merge_undos := false) -> void: $Slider.value = v else: $Slider.value = min_value + show_hide_out_of_bounds_overlay( + float_value < min_value or float_value > max_value) if notify: emit_signal("value_changed", float_value) emit_signal("value_changed_undo", float_value, merge_undos) @@ -106,7 +110,6 @@ func set_value(v: Variant, notify := false, merge_undos := false) -> void: emit_signal("value_changed", v) emit_signal("value_changed_undo", v, merge_undos) - func set_value_from_expression_editor(v: String) -> void: if v.is_valid_float(): set_value(float(v), true) @@ -329,3 +332,6 @@ func _on_edit_draw() -> void: if is_focused or is_dragging: $Edit.draw_style_box(get_theme_stylebox("focus"), Rect2(Vector2(), size)) + +func show_hide_out_of_bounds_overlay(should_show : bool) -> void: + modulate = Color(1.0,0.9,0.7,1.0) if should_show else Color.WHITE