diff options
| author | volzhs | 2016-10-31 03:40:52 +0900 |
|---|---|---|
| committer | Rémi Verschelde | 2016-10-31 00:07:40 +0100 |
| commit | 91df1ebff657a0c8d86ca5b31174b2a981bd2cb9 (patch) | |
| tree | 8400397c52bf8d73c2dd4751f9240cac018c08f5 /scene/gui/dialogs.cpp | |
| parent | 62d1e39113efff596504b75ab669cf92e29ec0fb (diff) | |
| download | godot-91df1ebff657a0c8d86ca5b31174b2a981bd2cb9.tar.gz godot-91df1ebff657a0c8d86ca5b31174b2a981bd2cb9.tar.zst godot-91df1ebff657a0c8d86ca5b31174b2a981bd2cb9.zip | |
Revert "Place child control under label in AcceptDialog."
This reverts commit 3ef272290460670b82621727ba2e876fa0a5a01e.
(cherry picked from commit 3f15a65307c0a3c2c4769af964356996ed367c35)
Diffstat (limited to '')
| -rw-r--r-- | scene/gui/dialogs.cpp | 35 |
1 files changed, 10 insertions, 25 deletions
diff --git a/scene/gui/dialogs.cpp b/scene/gui/dialogs.cpp index e970c09e5..93e46da82 100644 --- a/scene/gui/dialogs.cpp +++ b/scene/gui/dialogs.cpp @@ -232,8 +232,6 @@ String AcceptDialog::get_text() const { void AcceptDialog::set_text(String p_text) { label->set_text(p_text); - minimum_size_changed(); - _update_child_rect(); } void AcceptDialog::set_hide_on_ok(bool p_hide) { @@ -255,51 +253,38 @@ void AcceptDialog::register_text_enter(Node *p_line_edit) { void AcceptDialog::_update_child_rect() { - const int margin = get_constant("margin","Dialogs"); - const Size2 size = get_size(); + int margin = get_constant("margin","Dialogs"); + Size2 size = get_size(); Size2 hminsize = hbc->get_combined_minimum_size(); - const Size2 max_csize( - size.width - margin * 2, - size.height - margin * 3 - hminsize.height); - hminsize.width = max_csize.width; - - Point2 cpos(margin, margin); - Size2 csize = label->get_combined_minimum_size(); - if(label->get_text().empty()) - csize.y = 0; - csize.x = MIN(csize.width, max_csize.width); - csize.y = MIN(csize.height, max_csize.height); + Vector2 cpos(margin,margin); + Vector2 csize(size.x-margin*2,size.y-margin*3-hminsize.y); label->set_pos(cpos); label->set_size(csize); - if(child) { - const float child_y_offset = csize.height + (csize.height > 0 ? margin : 0); - cpos.y += child_y_offset; - csize = max_csize; - csize.height -= child_y_offset; + if (child) { child->set_pos(cpos); child->set_size(csize); } - cpos.y += csize.height + margin; + cpos.y+=csize.y+margin; + csize.y=hminsize.y; hbc->set_pos(cpos); - hbc->set_size(hminsize); + hbc->set_size(csize); + } Size2 AcceptDialog::get_minimum_size() const { int margin = get_constant("margin","Dialogs"); Size2 minsize = label->get_combined_minimum_size(); - if(label->get_text().empty()) - minsize.y = 0; if (child) { Size2 cminsize = child->get_combined_minimum_size(); minsize.x=MAX(cminsize.x,minsize.x); - minsize.y += cminsize.y + (minsize.y > 0 ? margin : 0); + minsize.y=MAX(cminsize.y,minsize.y); } Size2 hminsize = hbc->get_combined_minimum_size(); |
