aboutsummaryrefslogtreecommitdiff
path: root/extension/src/openvic-extension/classes/GUIOverlappingElementsBox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'extension/src/openvic-extension/classes/GUIOverlappingElementsBox.cpp')
-rw-r--r--extension/src/openvic-extension/classes/GUIOverlappingElementsBox.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/extension/src/openvic-extension/classes/GUIOverlappingElementsBox.cpp b/extension/src/openvic-extension/classes/GUIOverlappingElementsBox.cpp
index ff88781..921f633 100644
--- a/extension/src/openvic-extension/classes/GUIOverlappingElementsBox.cpp
+++ b/extension/src/openvic-extension/classes/GUIOverlappingElementsBox.cpp
@@ -120,6 +120,15 @@ Error GUIOverlappingElementsBox::set_child_count(int32_t new_count) {
name, child_count, new_count
)
);
+
+ static const StringName set_z_index_func_name = "set_z_index";
+ static const StringName mouse_entered_signal_name = "mouse_entered";
+ static const StringName mouse_exited_signal_name = "mouse_exited";
+
+ /* Move the child element in front of its neighbours when moused-over. */
+ child->connect(mouse_entered_signal_name, Callable { child, set_z_index_func_name }.bind(1), CONNECT_PERSIST);
+ child->connect(mouse_exited_signal_name, Callable { child, set_z_index_func_name }.bind(0), CONNECT_PERSIST);
+
add_child(child);
child_count++;
} while (child_count < new_count);