Add margins to Array and Dictionary editors

This commit is contained in:
FireForge 2022-03-31 20:10:46 -05:00
parent 126e4d0a5b
commit d605d13324
3 changed files with 61 additions and 38 deletions

View file

@ -217,11 +217,11 @@ void EditorPropertyArray::update_property() {
if (array.get_type() == Variant::NIL) {
edit->set_text(vformat(TTR("(Nil) %s"), array_type_name));
edit->set_pressed(false);
if (vbox) {
if (container) {
set_bottom_editor(nullptr);
memdelete(vbox);
memdelete(container);
button_add_item = nullptr;
vbox = nullptr;
container = nullptr;
}
return;
}
@ -241,10 +241,14 @@ void EditorPropertyArray::update_property() {
if (unfolded) {
updating = true;
if (!vbox) {
vbox = memnew(VBoxContainer);
add_child(vbox);
set_bottom_editor(vbox);
if (!container) {
container = memnew(MarginContainer);
container->set_theme_type_variation("MarginContainer4px");
add_child(container);
set_bottom_editor(container);
VBoxContainer *vbox = memnew(VBoxContainer);
container->add_child(vbox);
HBoxContainer *hbox = memnew(HBoxContainer);
vbox->add_child(hbox);
@ -372,11 +376,11 @@ void EditorPropertyArray::update_property() {
updating = false;
} else {
if (vbox) {
if (container) {
set_bottom_editor(nullptr);
memdelete(vbox);
memdelete(container);
button_add_item = nullptr;
vbox = nullptr;
container = nullptr;
}
}
}
@ -687,7 +691,7 @@ EditorPropertyArray::EditorPropertyArray() {
add_child(edit);
add_focusable(edit);
vbox = nullptr;
container = nullptr;
property_vbox = nullptr;
size_slider = nullptr;
button_add_item = nullptr;
@ -791,11 +795,11 @@ void EditorPropertyDictionary::update_property() {
if (updated_val.get_type() == Variant::NIL) {
edit->set_text(TTR("Dictionary (Nil)")); // This provides symmetry with the array property.
edit->set_pressed(false);
if (vbox) {
if (container) {
set_bottom_editor(nullptr);
memdelete(vbox);
memdelete(container);
button_add_item = nullptr;
vbox = nullptr;
container = nullptr;
}
return;
}
@ -812,10 +816,14 @@ void EditorPropertyDictionary::update_property() {
if (unfolded) {
updating = true;
if (!vbox) {
vbox = memnew(VBoxContainer);
add_child(vbox);
set_bottom_editor(vbox);
if (!container) {
container = memnew(MarginContainer);
container->set_theme_type_variation("MarginContainer4px");
add_child(container);
set_bottom_editor(container);
VBoxContainer *vbox = memnew(VBoxContainer);
container->add_child(vbox);
property_vbox = memnew(VBoxContainer);
property_vbox->set_h_size_flags(SIZE_EXPAND_FILL);
@ -1116,11 +1124,11 @@ void EditorPropertyDictionary::update_property() {
updating = false;
} else {
if (vbox) {
if (container) {
set_bottom_editor(nullptr);
memdelete(vbox);
memdelete(container);
button_add_item = nullptr;
vbox = nullptr;
container = nullptr;
}
}
}
@ -1188,7 +1196,7 @@ EditorPropertyDictionary::EditorPropertyDictionary() {
add_child(edit);
add_focusable(edit);
vbox = nullptr;
container = nullptr;
button_add_item = nullptr;
paginator = nullptr;
change_type = memnew(PopupMenu);
@ -1250,11 +1258,11 @@ void EditorPropertyLocalizableString::update_property() {
if (updated_val.get_type() == Variant::NIL) {
edit->set_text(TTR("Localizable String (Nil)")); // This provides symmetry with the array property.
edit->set_pressed(false);
if (vbox) {
if (container) {
set_bottom_editor(nullptr);
memdelete(vbox);
memdelete(container);
button_add_item = nullptr;
vbox = nullptr;
container = nullptr;
}
return;
}
@ -1271,10 +1279,14 @@ void EditorPropertyLocalizableString::update_property() {
if (unfolded) {
updating = true;
if (!vbox) {
vbox = memnew(VBoxContainer);
add_child(vbox);
set_bottom_editor(vbox);
if (!container) {
container = memnew(MarginContainer);
container->set_theme_type_variation("MarginContainer4px");
add_child(container);
set_bottom_editor(container);
VBoxContainer *vbox = memnew(VBoxContainer);
container->add_child(vbox);
property_vbox = memnew(VBoxContainer);
property_vbox->set_h_size_flags(SIZE_EXPAND_FILL);
@ -1351,11 +1363,11 @@ void EditorPropertyLocalizableString::update_property() {
updating = false;
} else {
if (vbox) {
if (container) {
set_bottom_editor(nullptr);
memdelete(vbox);
memdelete(container);
button_add_item = nullptr;
vbox = nullptr;
container = nullptr;
}
}
}
@ -1410,7 +1422,7 @@ EditorPropertyLocalizableString::EditorPropertyLocalizableString() {
add_child(edit);
add_focusable(edit);
vbox = nullptr;
container = nullptr;
button_add_item = nullptr;
paginator = nullptr;
updating = false;