]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blobdiff - viewer/view_btree.h
Abrir Arbol en la vista.
[z.facultad/75.52/treemulator.git] / viewer / view_btree.h
index 529dab26034cde1a993e425743b9cbe584eef6bc..f4e3c4781293431a8f45672eab4d67e241dc5857 100644 (file)
@@ -4,6 +4,7 @@
 
 #include <libgnomecanvasmm.h>
 #include <string>
 
 #include <libgnomecanvasmm.h>
 #include <string>
+#include <stack>
 
 #include "btree.h"
 #include "view_node.h"
 
 #include "btree.h"
 #include "view_node.h"
@@ -14,7 +15,14 @@ class ViewNode;
 
 class ViewBTree : public Canvas::Group, public BTree {
        public:
 
 class ViewBTree : public Canvas::Group, public BTree {
        public:
-               ViewBTree (Canvas::Group *parent, std::string filename, uint block_size, int type);
+               ViewBTree (Canvas::Group *parent, std::string filename, uint block_size, int tree_type, int type);
+               ViewBTree (Canvas::Group *parent, const std::string filename);
+
+               static ViewBTree* Open (const std::string &filename);
+
+               void Clear ();
+               void HighliteKey (Clave &k);
+               void GoBack ();
 
                static double byte_to_pixels;
                static double node_width;
 
                static double byte_to_pixels;
                static double node_width;
@@ -30,6 +38,8 @@ class ViewBTree : public Canvas::Group, public BTree {
                /* Control para no poner 2 veces un nodo */
                /* Un nodo que quiera ser puesto 2 veces es un bug :) */
                std::map<uint,bool> node_placed;
                /* Control para no poner 2 veces un nodo */
                /* Un nodo que quiera ser puesto 2 veces es un bug :) */
                std::map<uint,bool> node_placed;
+               std::stack<uint> back;
+               uint last_visited;
 
        public:
                void AddNode (uint num, uint padre = 0);
 
        public:
                void AddNode (uint num, uint padre = 0);