summaryrefslogtreecommitdiffstats
path: root/scene/gui/margin_container.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/gui/margin_container.cpp')
-rw-r--r--scene/gui/margin_container.cpp33
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() {
}