X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=src%2Fsnode.cc;h=b171f3583f0c2eba16075e888238f67f5583c376;hp=fd37f24d2bf1a8d252a724ea3c683df1f6274462;hb=fc00873a180b1b7272d94a32dcc40d0d44ed2b72;hpb=3c48aa0de66e0b89b674d353eb6c84b2c9276013 diff --git a/src/snode.cc b/src/snode.cc index fd37f24..b171f35 100644 --- a/src/snode.cc +++ b/src/snode.cc @@ -11,6 +11,7 @@ SceneNode::SceneNode() scene = 0; parent = 0; name = 0; + visible = true; local_bvol_valid = false; } @@ -20,6 +21,7 @@ SceneNode::SceneNode(Object *obj) scene = 0; parent = 0; name = 0; + visible = true; local_bvol_valid = false; add_object(obj); } @@ -205,8 +207,21 @@ void SceneNode::update(float dt) if(debug_gui) { if(parent_expanded) { - int flags = children.empty() ? ImGuiTreeNodeFlags_Leaf : 0; + ImGui::PushID(this); + ImGui::AlignTextToFramePadding(); + + int flags = ImGuiTreeNodeFlags_OpenOnArrow | ImGuiTreeNodeFlags_OpenOnDoubleClick; + if(children.empty()) flags |= ImGuiTreeNodeFlags_Leaf; + if(dbg_sel_node == this) flags |= ImGuiTreeNodeFlags_Selected; expanded = ImGui::TreeNodeEx(name ? name : "", flags); + if(ImGui::IsItemClicked()) { + dbg_sel_node = this; + } + + ImGui::NextColumn(); + ImGui::Checkbox("##vis", &visible); + ImGui::NextColumn(); + ImGui::PopID(); } }