summaryrefslogtreecommitdiff
path: root/scene/gui
diff options
context:
space:
mode:
authorvolzhs <volzhs@gmail.com>2017-09-03 12:56:25 +0900
committervolzhs <volzhs@gmail.com>2017-09-03 12:56:25 +0900
commitc1b31aeb942efda33b1ae9617d89d9275e9f6fd6 (patch)
tree88bcd466629af8870d45d5cb40fd389375bf5c52 /scene/gui
parentce28452109676d55e4d1fbb7158c8bf1fa8db406 (diff)
LineEdit in Tree is aligned vertical center
Diffstat (limited to 'scene/gui')
-rw-r--r--scene/gui/tree.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp
index 5e15bceb7d..de17416d8e 100644
--- a/scene/gui/tree.cpp
+++ b/scene/gui/tree.cpp
@@ -1116,7 +1116,8 @@ int Tree::draw_item(const Point2i &p_pos, const Point2 &p_draw_ofs, const Size2
cache.selected->draw(ci, r);
}
if (text_editor->is_visible_in_tree()) {
- text_editor->set_position(get_global_position() + r.position);
+ Vector2 ofs(0, (text_editor->get_size().height - r.size.height) / 2);
+ text_editor->set_position(get_global_position() + r.position - ofs);
}
}
@@ -2572,7 +2573,8 @@ bool Tree::edit_selected() {
} else if (c.mode == TreeItem::CELL_MODE_STRING || c.mode == TreeItem::CELL_MODE_RANGE || c.mode == TreeItem::CELL_MODE_RANGE_EXPRESSION) {
- Point2i textedpos = get_global_position() + rect.position;
+ Vector2 ofs(0, (text_editor->get_size().height - rect.size.height) / 2);
+ Point2i textedpos = get_global_position() + rect.position - ofs;
text_editor->set_position(textedpos);
text_editor->set_size(rect.size);
text_editor->clear();