rudimentary scenegraph treeview
[laserbrain_demo] / src / metascene.cc
index fd4569b..64946cb 100644 (file)
@@ -16,6 +16,7 @@
 #include "treestore.h"
 #include "logger.h"
 #include "app.h"
 #include "treestore.h"
 #include "logger.h"
 #include "app.h"
+#include "dbg_gui.h"
 
 #if defined(WIN32) || defined(__WIN32__)
 #include <malloc.h>
 
 #if defined(WIN32) || defined(__WIN32__)
 #include <malloc.h>
@@ -73,9 +74,33 @@ bool MetaScene::load(const char *fname)
 
 void MetaScene::update(float dt)
 {
 
 void MetaScene::update(float dt)
 {
+       bool expanded;
+       static char text[256];
+       if(debug_gui) {
+               ImGui::Begin("MetaScene nodes", 0, 0);
+       }
+
        int nscn = scenes.size();
        for(int i=0; i<nscn; i++) {
        int nscn = scenes.size();
        for(int i=0; i<nscn; i++) {
+
+               if(debug_gui) {
+                       if(scenes[i]->name.empty()) {
+                               sprintf(text, "scene %3d", i);
+                       } else {
+                               sprintf(text, "scene %3d: %s", i, scenes[i]->name.c_str());
+                       }
+                       expanded = parent_expanded = ImGui::TreeNode(text);
+               }
+
                scenes[i]->update(dt);
                scenes[i]->update(dt);
+
+               if(debug_gui && expanded) {
+                       ImGui::TreePop();
+               }
+       }
+
+       if(debug_gui) {
+               ImGui::End();
        }
 }
 
        }
 }