summaryrefslogtreecommitdiffstats
path: root/scene/gui/check_button.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/gui/check_button.cpp')
-rw-r--r--scene/gui/check_button.cpp34
1 files changed, 16 insertions, 18 deletions
diff --git a/scene/gui/check_button.cpp b/scene/gui/check_button.cpp
index a1ab8eb129..d9fabc5459 100644
--- a/scene/gui/check_button.cpp
+++ b/scene/gui/check_button.cpp
@@ -30,7 +30,7 @@
#include "check_button.h"
-#include "core/string/print_string.h"
+#include "scene/theme/theme_db.h"
#include "servers/rendering_server.h"
Size2 CheckButton::get_icon_size() const {
@@ -78,23 +78,6 @@ Size2 CheckButton::get_minimum_size() const {
return minsize;
}
-void CheckButton::_update_theme_item_cache() {
- Button::_update_theme_item_cache();
-
- theme_cache.h_separation = get_theme_constant(SNAME("h_separation"));
- theme_cache.check_v_offset = get_theme_constant(SNAME("check_v_offset"));
- theme_cache.normal_style = get_theme_stylebox(SNAME("normal"));
-
- theme_cache.checked = get_theme_icon(SNAME("checked"));
- theme_cache.unchecked = get_theme_icon(SNAME("unchecked"));
- theme_cache.checked_disabled = get_theme_icon(SNAME("checked_disabled"));
- theme_cache.unchecked_disabled = get_theme_icon(SNAME("unchecked_disabled"));
- theme_cache.checked_mirrored = get_theme_icon(SNAME("checked_mirrored"));
- theme_cache.unchecked_mirrored = get_theme_icon(SNAME("unchecked_mirrored"));
- theme_cache.checked_disabled_mirrored = get_theme_icon(SNAME("checked_disabled_mirrored"));
- theme_cache.unchecked_disabled_mirrored = get_theme_icon(SNAME("unchecked_disabled_mirrored"));
-}
-
void CheckButton::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_THEME_CHANGED:
@@ -153,6 +136,21 @@ void CheckButton::_notification(int p_what) {
}
}
+void CheckButton::_bind_methods() {
+ BIND_THEME_ITEM(Theme::DATA_TYPE_CONSTANT, CheckButton, h_separation);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_CONSTANT, CheckButton, check_v_offset);
+ BIND_THEME_ITEM_CUSTOM(Theme::DATA_TYPE_STYLEBOX, CheckButton, normal_style, "normal");
+
+ BIND_THEME_ITEM(Theme::DATA_TYPE_ICON, CheckButton, checked);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_ICON, CheckButton, unchecked);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_ICON, CheckButton, checked_disabled);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_ICON, CheckButton, unchecked_disabled);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_ICON, CheckButton, checked_mirrored);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_ICON, CheckButton, unchecked_mirrored);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_ICON, CheckButton, checked_disabled_mirrored);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_ICON, CheckButton, unchecked_disabled_mirrored);
+}
+
CheckButton::CheckButton(const String &p_text) :
Button(p_text) {
set_toggle_mode(true);