Able to change visibility when ancestor node is hidden
This commit is contained in:
parent
c798ff1551
commit
792ff11642
2 changed files with 2 additions and 20 deletions
|
@ -261,16 +261,13 @@ void CanvasItem::show() {
|
|||
if (!hidden)
|
||||
return;
|
||||
|
||||
|
||||
hidden=false;
|
||||
VisualServer::get_singleton()->canvas_item_set_visible(canvas_item,true);
|
||||
|
||||
if (!is_inside_tree())
|
||||
return;
|
||||
|
||||
if (is_visible()) {
|
||||
_propagate_visibility_changed(true);
|
||||
}
|
||||
_propagate_visibility_changed(true);
|
||||
_change_notify("visibility/visible");
|
||||
}
|
||||
|
||||
|
@ -280,15 +277,13 @@ void CanvasItem::hide() {
|
|||
if (hidden)
|
||||
return;
|
||||
|
||||
bool propagate=is_inside_tree() && is_visible();
|
||||
hidden=true;
|
||||
VisualServer::get_singleton()->canvas_item_set_visible(canvas_item,false);
|
||||
|
||||
if (!is_inside_tree())
|
||||
return;
|
||||
if (propagate)
|
||||
_propagate_visibility_changed(false);
|
||||
|
||||
_propagate_visibility_changed(false);
|
||||
_change_notify("visibility/visible");
|
||||
}
|
||||
|
||||
|
|
|
@ -208,13 +208,6 @@ void SceneTreeEditor::_cell_button_pressed(Object *p_item,int p_column,int p_id)
|
|||
|
||||
if (n->is_type("Spatial")) {
|
||||
|
||||
Spatial *ci = n->cast_to<Spatial>();
|
||||
if (!ci->is_visible() && ci->get_parent_spatial() && !ci->get_parent_spatial()->is_visible()) {
|
||||
error->set_text(TTR("This item cannot be made visible because the parent is hidden. Unhide the parent first."));
|
||||
error->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
||||
bool v = !bool(n->call("is_hidden"));
|
||||
undo_redo->create_action(TTR("Toggle Spatial Visible"));
|
||||
undo_redo->add_do_method(n,"_set_visible_",!v);
|
||||
|
@ -222,12 +215,6 @@ void SceneTreeEditor::_cell_button_pressed(Object *p_item,int p_column,int p_id)
|
|||
undo_redo->commit_action();
|
||||
} else if (n->is_type("CanvasItem")) {
|
||||
|
||||
CanvasItem *ci = n->cast_to<CanvasItem>();
|
||||
if (!ci->is_visible() && ci->get_parent_item() && !ci->get_parent_item()->is_visible()) {
|
||||
error->set_text(TTR("This item cannot be made visible because the parent is hidden. Unhide the parent first."));
|
||||
error->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
bool v = !bool(n->call("is_hidden"));
|
||||
undo_redo->create_action(TTR("Toggle CanvasItem Visible"));
|
||||
undo_redo->add_do_method(n,v?"hide":"show");
|
||||
|
|
Loading…
Reference in a new issue