X-Git-Url: https://git.llucax.com/z.facultad/75.52/treemulator.git/blobdiff_plain/f5c3009d23291f17be708ddcd38b5e9b1eb2fd7d..8e23e15f255365a35ebcf3a5cec7a4c356fc78b5:/viewer/view_btree.cpp?ds=inline diff --git a/viewer/view_btree.cpp b/viewer/view_btree.cpp index eb2e067..7604293 100644 --- a/viewer/view_btree.cpp +++ b/viewer/view_btree.cpp @@ -19,6 +19,35 @@ ViewBTree::ViewBTree (Canvas::Group *parent, std::string filename, uint block_si last_visited = 0; } +ViewBTree::ViewBTree (Canvas::Group *parent, const std::string filename) + :Canvas::Group (*parent, 0, 0), BTree (filename) +{ + /* Cada bytes lo hago de 5 units de ancho */ + node_width = 4 * header.block_size; + node_height = 50; + byte_to_pixels = node_width/header.block_size; + + last_selected = NULL; + last_visited = 0; +} + +ViewBTree* ViewBTree::Open (Canvas::Group *parent, const std::string &filename) +{ + ViewBTree *tree = new ViewBTree (parent, filename); + + if (tree->fp == NULL) { + delete tree; + return NULL; + } + + /* El magic no coincide!! */ + if (strcmp (tree->header.magic, "DILUMA")) { + delete tree; + return NULL; + } + return tree; +} + void ViewBTree::GoBack () { uint l = back.top ();