Merge pull request #3061 from TheHX/pr-tree-dialogs
Double-click item for reparent and choose a node in NodePath dialog
This commit is contained in:
commit
7155f75e22
2 changed files with 10 additions and 11 deletions
|
@ -36,12 +36,12 @@
|
||||||
|
|
||||||
void ReparentDialog::_notification(int p_what) {
|
void ReparentDialog::_notification(int p_what) {
|
||||||
|
|
||||||
if (p_what==NOTIFICATION_ENTER_TREE) {
|
if (p_what==NOTIFICATION_ENTER_TREE) {
|
||||||
|
|
||||||
connect("confirmed", this,"_reparent");
|
connect("confirmed", this,"_reparent");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p_what==NOTIFICATION_EXIT_TREE) {
|
if (p_what==NOTIFICATION_EXIT_TREE) {
|
||||||
|
|
||||||
disconnect("confirmed", this,"_reparent");
|
disconnect("confirmed", this,"_reparent");
|
||||||
}
|
}
|
||||||
|
@ -83,29 +83,29 @@ void ReparentDialog::_bind_methods() {
|
||||||
|
|
||||||
|
|
||||||
ReparentDialog::ReparentDialog() {
|
ReparentDialog::ReparentDialog() {
|
||||||
|
|
||||||
|
|
||||||
set_title("Reparent Node");
|
set_title("Reparent Node");
|
||||||
|
|
||||||
VBoxContainer *vbc = memnew( VBoxContainer );
|
VBoxContainer *vbc = memnew( VBoxContainer );
|
||||||
add_child(vbc);
|
add_child(vbc);
|
||||||
set_child_rect(vbc);
|
set_child_rect(vbc);
|
||||||
|
|
||||||
tree = memnew( SceneTreeEditor(false) );
|
tree = memnew( SceneTreeEditor(false) );
|
||||||
|
tree->set_show_enabled_subscene(true);
|
||||||
|
|
||||||
vbc->add_margin_child("Reparent Location (Select new Parent):",tree,true);
|
vbc->add_margin_child("Reparent Location (Select new Parent):",tree,true);
|
||||||
|
|
||||||
|
tree->get_scene_tree()->connect("item_activated",this,"_reparent");
|
||||||
|
|
||||||
//Label *label = memnew( Label );
|
//Label *label = memnew( Label );
|
||||||
//label->set_pos( Point2( 15,8) );
|
//label->set_pos( Point2( 15,8) );
|
||||||
//label->set_text("Reparent Location (Select new Parent):");
|
//label->set_text("Reparent Location (Select new Parent):");
|
||||||
|
|
||||||
node_only = memnew( CheckButton );
|
node_only = memnew( CheckButton );
|
||||||
add_child(node_only);
|
add_child(node_only);
|
||||||
node_only->hide();
|
node_only->hide();
|
||||||
|
|
||||||
tree->set_show_enabled_subscene(true);
|
|
||||||
//vbc->add_margin_child("Options:",node_only);;
|
//vbc->add_margin_child("Options:",node_only);;
|
||||||
|
|
||||||
|
|
||||||
//cancel->connect("pressed", this,"_cancel");
|
//cancel->connect("pressed", this,"_cancel");
|
||||||
|
|
||||||
|
|
|
@ -928,7 +928,7 @@ void SceneTreeDialog::_cancel() {
|
||||||
void SceneTreeDialog::_select() {
|
void SceneTreeDialog::_select() {
|
||||||
|
|
||||||
if (tree->get_selected()) {
|
if (tree->get_selected()) {
|
||||||
emit_signal("selected",tree->get_selected()->get_path());
|
emit_signal("selected",tree->get_selected()->get_path());
|
||||||
hide();
|
hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -939,7 +939,6 @@ void SceneTreeDialog::_bind_methods() {
|
||||||
ObjectTypeDB::bind_method("_cancel",&SceneTreeDialog::_cancel);
|
ObjectTypeDB::bind_method("_cancel",&SceneTreeDialog::_cancel);
|
||||||
ADD_SIGNAL( MethodInfo("selected",PropertyInfo(Variant::NODE_PATH,"path")));
|
ADD_SIGNAL( MethodInfo("selected",PropertyInfo(Variant::NODE_PATH,"path")));
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -951,7 +950,7 @@ SceneTreeDialog::SceneTreeDialog() {
|
||||||
add_child(tree);
|
add_child(tree);
|
||||||
set_child_rect(tree);
|
set_child_rect(tree);
|
||||||
|
|
||||||
|
tree->get_scene_tree()->connect("item_activated",this,"_select");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue