#include <libgnomecanvasmm.h>
#include <string>
+#include <stack>
#include "btree.h"
#include "view_node.h"
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;
/* 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);