X-Git-Url: https://git.llucax.com/z.facultad/75.52/treemulator.git/blobdiff_plain/37c9b25e38617bead7998f82531d5e3131a4d7b7..31ec4d4de2e362f66015fd28fcfd2b3ef4c3542f:/viewer/view_btree.h diff --git a/viewer/view_btree.h b/viewer/view_btree.h index bd4f22c..d8e585a 100644 --- a/viewer/view_btree.h +++ b/viewer/view_btree.h @@ -6,6 +6,7 @@ #include #include "btree.h" +#include "view_node.h" #define NODE_WIDTH 500 #define NODE_HEIGHT 50 @@ -17,23 +18,22 @@ class ViewBTree : public Canvas::Group, public BTree { ViewBTree (Canvas::Group *parent, std::string filename); static double byte_to_pixels; + + typedef SigC::Signal2 type_signal_selected; + type_signal_selected signal_selected (); protected: + type_signal_selected m_signal_selected; int max_level; /* Lo saco de la raiz */ /* Posicion X por nivel */ std::map pos_x; + /* Control para no poner 2 veces un nodo */ + /* Un nodo que quiera ser puesto 2 veces es un bug :) */ + std::map node_placed; void AddNode (uint num); + void on_item_selected (BTreeData *, uint); }; -class ViewNode : public Canvas::Group { - public: - ViewNode (Canvas::Group *parent, uint num, BTreeNodeHeader &header, std::list &keys); - - std::list& getChilds () { return hijos; } - private: - std::list hijos; -}; - #endif