summaryrefslogtreecommitdiffstats
path: root/scene/gui/check_box.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/gui/check_box.cpp')
-rw-r--r--scene/gui/check_box.cpp33
1 files changed, 16 insertions, 17 deletions
diff --git a/scene/gui/check_box.cpp b/scene/gui/check_box.cpp
index 008fe9181d..6c02ba1a86 100644
--- a/scene/gui/check_box.cpp
+++ b/scene/gui/check_box.cpp
@@ -30,6 +30,7 @@
#include "check_box.h"
+#include "scene/theme/theme_db.h"
#include "servers/rendering_server.h"
Size2 CheckBox::get_icon_size() const {
@@ -73,23 +74,6 @@ Size2 CheckBox::get_minimum_size() const {
return minsize;
}
-void CheckBox::_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.radio_checked = get_theme_icon(SNAME("radio_checked"));
- theme_cache.radio_unchecked = get_theme_icon(SNAME("radio_unchecked"));
- theme_cache.checked_disabled = get_theme_icon(SNAME("checked_disabled"));
- theme_cache.unchecked_disabled = get_theme_icon(SNAME("unchecked_disabled"));
- theme_cache.radio_checked_disabled = get_theme_icon(SNAME("radio_checked_disabled"));
- theme_cache.radio_unchecked_disabled = get_theme_icon(SNAME("radio_unchecked_disabled"));
-}
-
void CheckBox::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_THEME_CHANGED:
@@ -149,6 +133,21 @@ bool CheckBox::is_radio() {
return get_button_group().is_valid();
}
+void CheckBox::_bind_methods() {
+ BIND_THEME_ITEM(Theme::DATA_TYPE_CONSTANT, CheckBox, h_separation);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_CONSTANT, CheckBox, check_v_offset);
+ BIND_THEME_ITEM_CUSTOM(Theme::DATA_TYPE_STYLEBOX, CheckBox, normal_style, "normal");
+
+ BIND_THEME_ITEM(Theme::DATA_TYPE_ICON, CheckBox, checked);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_ICON, CheckBox, unchecked);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_ICON, CheckBox, radio_checked);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_ICON, CheckBox, radio_unchecked);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_ICON, CheckBox, checked_disabled);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_ICON, CheckBox, unchecked_disabled);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_ICON, CheckBox, radio_checked_disabled);
+ BIND_THEME_ITEM(Theme::DATA_TYPE_ICON, CheckBox, radio_unchecked_disabled);
+}
+
CheckBox::CheckBox(const String &p_text) :
Button(p_text) {
set_toggle_mode(true);