]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blobdiff - viewer/view_btree.h
Agrego creación de árbol con claves variables en la UI.
[z.facultad/75.52/treemulator.git] / viewer / view_btree.h
index e3a5c688268e52dab36b12e4cb7059415c9b3ac9..d8e585ad62752e04931e1e909b92f8f4b0b85bf5 100644 (file)
@@ -6,6 +6,7 @@
 #include <string>
 
 #include "btree.h"
 #include <string>
 
 #include "btree.h"
+#include "view_node.h"
 
 #define NODE_WIDTH 500
 #define NODE_HEIGHT 50
 
 #define NODE_WIDTH 500
 #define NODE_HEIGHT 50
@@ -17,7 +18,11 @@ class ViewBTree : public Canvas::Group, public BTree {
                ViewBTree (Canvas::Group *parent, std::string filename);
 
                static double byte_to_pixels;
                ViewBTree (Canvas::Group *parent, std::string filename);
 
                static double byte_to_pixels;
+
+               typedef SigC::Signal2<void, BTreeData *, BTreeNodeHeader&> type_signal_selected;
+               type_signal_selected signal_selected ();
        protected:
        protected:
+               type_signal_selected m_signal_selected;
                int max_level; /* Lo saco de la raiz */
                /* Posicion X por nivel */
                std::map<uint,double> pos_x;
                int max_level; /* Lo saco de la raiz */
                /* Posicion X por nivel */
                std::map<uint,double> pos_x;
@@ -26,17 +31,9 @@ class ViewBTree : public Canvas::Group, public BTree {
                std::map<uint,bool> node_placed;
 
                void AddNode (uint num);
                std::map<uint,bool> 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<BTreeData *> &keys);
-
-               std::list<uint>& getChilds () { return hijos; } 
-       private:
-               std::list<uint> hijos;
-};
-
 #endif
 
 #endif