From 550616293a4ed795082421014ffb43da594edde5 Mon Sep 17 00:00:00 2001 From: Micky Date: Wed, 17 Aug 2022 16:02:17 +0200 Subject: Account for TreeItem's Cell icon and center the text Popup vertically --- scene/gui/tree.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'scene') diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index 1eb6c5a554..e65e2d0d41 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -3591,12 +3591,17 @@ bool Tree::edit_selected() { } else if (c.mode == TreeItem::CELL_MODE_STRING || c.mode == TreeItem::CELL_MODE_RANGE) { Rect2 popup_rect; - Vector2 ofs(0, (text_editor->get_size().height - rect.size.height) / 2); + Vector2 ofs(0, Math::floor((text_editor->get_size().height - rect.size.height) / 2)); // "floor()" centers vertically. Point2i textedpos = get_screen_position() + rect.position - ofs; cache.text_editor_position = textedpos; popup_rect.position = textedpos; popup_rect.size = rect.size; + + // Account for icon. + popup_rect.position.x += c.get_icon_size().x; + popup_rect.size.x -= c.get_icon_size().x; + text_editor->clear(); text_editor->set_text(c.mode == TreeItem::CELL_MODE_STRING ? c.text : String::num(c.val, Math::range_step_decimals(c.step))); text_editor->select_all(); -- cgit v1.2.3