diff options
| author | Yuri Sizov <yuris@humnom.net> | 2023-09-08 21:00:10 +0200 |
|---|---|---|
| committer | Yuri Sizov <yuris@humnom.net> | 2023-09-11 13:45:23 +0200 |
| commit | 2924bfd4d3c6dbdf01df3263000070634826f0a9 (patch) | |
| tree | 779d2aa57557af3c2fe2828e6a3a570a32e7a61b /scene/gui/check_box.cpp | |
| parent | 8c1817f755b63a69378774d8d0f74499f663afe2 (diff) | |
| download | redot-engine-2924bfd4d3c6dbdf01df3263000070634826f0a9.tar.gz | |
Register theme properties with ThemeDB
Diffstat (limited to 'scene/gui/check_box.cpp')
| -rw-r--r-- | scene/gui/check_box.cpp | 33 |
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); |
