summaryrefslogtreecommitdiffstats
path: root/scene/gui/slider.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/gui/slider.cpp')
-rw-r--r--scene/gui/slider.cpp29
1 files changed, 13 insertions, 16 deletions
diff --git a/scene/gui/slider.cpp b/scene/gui/slider.cpp
index 398f637e85..b1a2f8017e 100644
--- a/scene/gui/slider.cpp
+++ b/scene/gui/slider.cpp
@@ -31,6 +31,7 @@
#include "slider.h"
#include "core/os/keyboard.h"
+#include "scene/theme/theme_db.h"
Size2 Slider::get_minimum_size() const {
Size2i ss = theme_cache.slider_style->get_minimum_size();
@@ -176,22 +177,6 @@ void Slider::gui_input(const Ref<InputEvent> &p_event) {
}
}
-void Slider::_update_theme_item_cache() {
- Range::_update_theme_item_cache();
-
- theme_cache.slider_style = get_theme_stylebox(SNAME("slider"));
- theme_cache.grabber_area_style = get_theme_stylebox(SNAME("grabber_area"));
- theme_cache.grabber_area_hl_style = get_theme_stylebox(SNAME("grabber_area_highlight"));
-
- theme_cache.grabber_icon = get_theme_icon(SNAME("grabber"));
- theme_cache.grabber_hl_icon = get_theme_icon(SNAME("grabber_highlight"));
- theme_cache.grabber_disabled_icon = get_theme_icon(SNAME("grabber_disabled"));
- theme_cache.tick_icon = get_theme_icon(SNAME("tick"));
-
- theme_cache.center_grabber = get_theme_constant(SNAME("center_grabber"));
- theme_cache.grabber_offset = get_theme_constant(SNAME("grabber_offset"));
-}
-
void Slider::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_INTERNAL_PROCESS: {
@@ -392,6 +377,18 @@ void Slider::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "scrollable"), "set_scrollable", "is_scrollable");
ADD_PROPERTY(PropertyInfo(Variant::INT, "tick_count", PROPERTY_HINT_RANGE, "0,4096,1"), "set_ticks", "get_ticks");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "ticks_on_borders"), "set_ticks_on_borders", "get_ticks_on_borders");
+
+ BIND_THEME_ITEM_CUSTOM(Theme::DATA_TYPE_STYLEBOX, Slider, slider_style, "slider");
+ BIND_THEME_ITEM_CUSTOM(Theme::DATA_TYPE_STYLEBOX, Slider, grabber_area_style, "grabber_area");
+ BIND_THEME_ITEM_CUSTOM(Theme::DATA_TYPE_STYLEBOX, Slider, grabber_area_hl_style, "grabber_area_highlight");
+
+ BIND_THEME_ITEM_CUSTOM(Theme::DATA_TYPE_ICON, Slider, grabber_icon, "grabber");
+ BIND_THEME_ITEM_CUSTOM(Theme::DATA_TYPE_ICON, Slider, grabber_hl_icon, "grabber_highlight");
+ BIND_THEME_ITEM_CUSTOM(Theme::DATA_TYPE_ICON, Slider, grabber_disabled_icon, "grabber_disabled");
+ BIND_THEME_ITEM_CUSTOM(Theme::DATA_TYPE_ICON, Slider, tick_icon, "tick");
+
+ BIND_THEME_ITEM(Theme::DATA_TYPE_CONSTANT, Slider, center_grabber);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_CONSTANT, Slider, grabber_offset);
}
Slider::Slider(Orientation p_orientation) {