]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blobdiff - viewer/view_btree.h
Muevo el canvas a 0,0 luego.
[z.facultad/75.52/treemulator.git] / viewer / view_btree.h
index d8e585ad62752e04931e1e909b92f8f4b0b85bf5..bb955bd5dc88f567fdc1fc9987cd95c907d37198 100644 (file)
@@ -8,16 +8,20 @@
 #include "btree.h"
 #include "view_node.h"
 
-#define NODE_WIDTH 500
-#define NODE_HEIGHT 50
-
 using namespace Gnome;
 
+class ViewNode;
+
 class ViewBTree : public Canvas::Group, public BTree {
        public:
-               ViewBTree (Canvas::Group *parent, std::string filename);
+               ViewBTree (Canvas::Group *parent, std::string filename, uint block_size, int type);
+
+               void Clear ();
+               void HighliteKey (Clave &k);
 
                static double byte_to_pixels;
+               static double node_width;
+               static double node_height;
 
                typedef SigC::Signal2<void, BTreeData *, BTreeNodeHeader&> type_signal_selected;
                type_signal_selected signal_selected ();
@@ -30,9 +34,12 @@ class ViewBTree : public Canvas::Group, public BTree {
                /* Un nodo que quiera ser puesto 2 veces es un bug :) */
                std::map<uint,bool> node_placed;
 
-               void AddNode (uint num);
-               void on_item_selected (BTreeData *, uint);
+       public:
+               void AddNode (uint num, uint padre = 0);
+               void on_item_selected (BTreeData *, uint, ViewNode *);
+               void on_item_activated (BTreeData *, uint, ViewNode *);
 
+               ViewNode *last_selected;
 };
 
 #endif