Account for TreeItem's Cell icon and center the text Popup vertically

This commit is contained in:
Micky 2022-08-17 16:02:17 +02:00
parent dbd1524362
commit 550616293a
1 changed files with 6 additions and 1 deletions

View File

@ -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();