diff options
author | volzhs <volzhs@gmail.com> | 2016-05-17 23:27:35 +0900 |
---|---|---|
committer | volzhs <volzhs@gmail.com> | 2016-05-17 23:27:35 +0900 |
commit | 3dd722d92f2c8a750065e23188c0cd7fba4fb2d7 (patch) | |
tree | 283cf46e4ffe278c1846880b9fcb56e8b67a6ca7 /tools | |
parent | 1137ed33aacf3b6459c6b58541923f27f6aae1f1 (diff) |
Scenetree Nodes drag and drop visual representation
fixes #4684
Diffstat (limited to 'tools')
-rw-r--r-- | tools/editor/scene_tree_editor.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/tools/editor/scene_tree_editor.cpp b/tools/editor/scene_tree_editor.cpp index 22b6cdfb5d..7b07f72984 100644 --- a/tools/editor/scene_tree_editor.cpp +++ b/tools/editor/scene_tree_editor.cpp @@ -834,15 +834,22 @@ Variant SceneTreeEditor::get_drag_data_fw(const Point2& p_point,Control* p_from) VBoxContainer *vb = memnew( VBoxContainer ); Array objs; + int list_max = 10; + float opacity_step = 1.0f / list_max; + float opacity_item = 1.0f; for(int i=0;i<selected.size();i++) { - HBoxContainer *hb = memnew( HBoxContainer ); - TextureFrame *tf = memnew(TextureFrame); - tf->set_texture(icons[i]); - hb->add_child(tf); - Label *label = memnew( Label( selected[i]->get_name() ) ); - hb->add_child(label); - vb->add_child(hb); + if (i<list_max){ + HBoxContainer *hb = memnew( HBoxContainer ); + TextureFrame *tf = memnew(TextureFrame); + tf->set_texture(icons[i]); + hb->add_child(tf); + Label *label = memnew( Label( selected[i]->get_name() ) ); + hb->add_child(label); + vb->add_child(hb); + hb->set_opacity(opacity_item); + opacity_item -= opacity_step; + } NodePath p = selected[i]->get_path(); objs.push_back(p); } |