summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorvolzhs <volzhs@gmail.com>2016-05-17 23:27:35 +0900
committervolzhs <volzhs@gmail.com>2016-05-17 23:27:35 +0900
commit3dd722d92f2c8a750065e23188c0cd7fba4fb2d7 (patch)
tree283cf46e4ffe278c1846880b9fcb56e8b67a6ca7 /tools
parent1137ed33aacf3b6459c6b58541923f27f6aae1f1 (diff)
Scenetree Nodes drag and drop visual representation
fixes #4684
Diffstat (limited to 'tools')
-rw-r--r--tools/editor/scene_tree_editor.cpp21
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);
}