diff options
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); |