1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Bind remaining theme properties to their respective classes

This adds binds for GraphEdit/GraphElement/GraphNode, which were
skipped before due to a rework. This also adds binds for Window,
which was skipped before due to a complicated code organization.

Also adds theme cache entries/direct cache access to a few places
that previously missed it. Some theme properties are now exposed
to other classes via friendships or public getters for convenience.

This removes all string-based theme access from scene/ classes.
This commit is contained in:
Yuri Sizov
2023-09-12 15:01:42 +02:00
parent 98b50eb308
commit fe000277ea
26 changed files with 356 additions and 189 deletions

View File

@@ -97,7 +97,7 @@ void SplitContainerDragger::_notification(int p_what) {
case NOTIFICATION_MOUSE_ENTER: {
mouse_inside = true;
SplitContainer *sc = Object::cast_to<SplitContainer>(get_parent());
if (sc->get_theme_constant(SNAME("autohide"))) {
if (sc->theme_cache.autohide) {
queue_redraw();
}
} break;
@@ -105,14 +105,14 @@ void SplitContainerDragger::_notification(int p_what) {
case NOTIFICATION_MOUSE_EXIT: {
mouse_inside = false;
SplitContainer *sc = Object::cast_to<SplitContainer>(get_parent());
if (sc->get_theme_constant(SNAME("autohide"))) {
if (sc->theme_cache.autohide) {
queue_redraw();
}
} break;
case NOTIFICATION_DRAW: {
SplitContainer *sc = Object::cast_to<SplitContainer>(get_parent());
if (!dragging && !mouse_inside && sc->get_theme_constant(SNAME("autohide"))) {
if (!dragging && !mouse_inside && sc->theme_cache.autohide) {
return;
}