diff options
Diffstat (limited to 'scene/gui/margin_container.cpp')
| -rw-r--r-- | scene/gui/margin_container.cpp | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/scene/gui/margin_container.cpp b/scene/gui/margin_container.cpp index ca688b3adc..6d331afbb5 100644 --- a/scene/gui/margin_container.cpp +++ b/scene/gui/margin_container.cpp @@ -30,14 +30,7 @@ #include "margin_container.h" -void MarginContainer::_update_theme_item_cache() { - Container::_update_theme_item_cache(); - - theme_cache.margin_left = get_theme_constant(SNAME("margin_left")); - theme_cache.margin_top = get_theme_constant(SNAME("margin_top")); - theme_cache.margin_right = get_theme_constant(SNAME("margin_right")); - theme_cache.margin_bottom = get_theme_constant(SNAME("margin_bottom")); -} +#include "scene/theme/theme_db.h" Size2 MarginContainer::get_minimum_size() const { Size2 max; @@ -87,6 +80,23 @@ Vector<int> MarginContainer::get_allowed_size_flags_vertical() const { return flags; } +int MarginContainer::get_margin_size(Side p_side) const { + ERR_FAIL_INDEX_V((int)p_side, 4, 0); + + switch (p_side) { + case SIDE_LEFT: + return theme_cache.margin_left; + case SIDE_RIGHT: + return theme_cache.margin_right; + case SIDE_TOP: + return theme_cache.margin_top; + case SIDE_BOTTOM: + return theme_cache.margin_bottom; + } + + return 0; +} + void MarginContainer::_notification(int p_what) { switch (p_what) { case NOTIFICATION_SORT_CHILDREN: { @@ -113,5 +123,12 @@ void MarginContainer::_notification(int p_what) { } } +void MarginContainer::_bind_methods() { + BIND_THEME_ITEM(Theme::DATA_TYPE_CONSTANT, MarginContainer, margin_left); + BIND_THEME_ITEM(Theme::DATA_TYPE_CONSTANT, MarginContainer, margin_top); + BIND_THEME_ITEM(Theme::DATA_TYPE_CONSTANT, MarginContainer, margin_right); + BIND_THEME_ITEM(Theme::DATA_TYPE_CONSTANT, MarginContainer, margin_bottom); +} + MarginContainer::MarginContainer() { } |
