summaryrefslogtreecommitdiffstats
path: root/scene/gui/check_box.cpp
diff options
context:
space:
mode:
authorYuri Sizov <yuris@humnom.net>2023-09-08 21:00:10 +0200
committerYuri Sizov <yuris@humnom.net>2023-09-11 13:45:23 +0200
commit2924bfd4d3c6dbdf01df3263000070634826f0a9 (patch)
tree779d2aa57557af3c2fe2828e6a3a570a32e7a61b /scene/gui/check_box.cpp
parent8c1817f755b63a69378774d8d0f74499f663afe2 (diff)
downloadredot-engine-2924bfd4d3c6dbdf01df3263000070634826f0a9.tar.gz
Register theme properties with ThemeDB
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);