]> git.llucax.com Git - z.facultad/75.52/treemulator.git/commitdiff
Agrego vista RAW y algunos detalles.
authorRicardo Markiewicz <rmarkie@fi.uba.ar>
Sat, 29 Oct 2005 18:30:45 +0000 (18:30 +0000)
committerRicardo Markiewicz <rmarkie@fi.uba.ar>
Sat, 29 Oct 2005 18:30:45 +0000 (18:30 +0000)
viewer/main.cpp
viewer/view_btree.cpp
viewer/view_properties.cpp
viewer/view_properties.h

index 1cee643a97ebada2d2264d802615a13f2d0c9896..3b89a38acf488f5f7e18b3a8ddb2b150dfb26f78 100644 (file)
@@ -68,7 +68,8 @@ int main(int argc, char *argv[])
        area.add (canvas);
 
        hbox.pack_start (area);
-       hbox.pack_end (frame, true, true, 10);
+       hbox.pack_start (frame, false, false, 10);
+       frame.set_size_request (200, 200);
 
        Glib::RefPtr<Gtk::ActionGroup> actiongroup = Gtk::ActionGroup::create();
 
index fc1881e1ea4bffffa43423d1680a3e11418d35a4..43491870f07dea25e295773d1ef5b9f39ce2e814 100644 (file)
@@ -8,7 +8,7 @@ double ViewBTree::node_width = 0;
 double ViewBTree::node_height = 0;
 
 ViewBTree::ViewBTree (Canvas::Group *parent, std::string filename, uint block_size, int type):Canvas::Group (*parent, 0, 0),
-       BTree (filename, block_size, type)
+       BTree (filename, block_size, BTree::TYPE_UNIQUE, type)
 {
        /* Cada bytes lo hago de 5 units de ancho */
        node_width = 5 * block_size;
index 65f782f8343614feb4891744d7d4f9e6ee472a6a..8f92d5f7ac574ee0de510365a9b91c5fc7d0561b 100644 (file)
@@ -45,7 +45,13 @@ ViewProperties::ViewProperties ():Frame ()
 
        table.property_column_spacing () = 8;
        table.property_row_spacing () = 8;
-       add (table);
+
+       hbox.pack_start (table, false, true, 8);
+       hbox.pack_start (raw_view, true, true, 8);
+
+       table.set_size_request (250, 0);
+
+       add (hbox);
        
        property_label_xalign () = 0;
        set_label ("Propiedades");
@@ -72,6 +78,8 @@ void ViewProperties::ShowItem (BTreeData *data, BTreeNodeHeader &header)
        ss3 >> s3;
        node_freespace.set_label (s3);
 
+       raw_view.get_buffer ()->assign (ToRaw (data));
+
        if (dynamic_cast<BTreeChildData *>(data)) {
                data_type.set_label ("BTreeChildData");
                data_key.set_label ("N/C");
@@ -102,3 +110,20 @@ void ViewProperties::ShowItem (BTreeData *data, BTreeNodeHeader &header)
        }
 }
 
+std::string ViewProperties::ToRaw (BTreeData *p)
+{
+       std::stringstream ss;
+       uint size = p->Size (), i;
+       uchar *arr = p->ToArray ();
+
+       for (i=0; i < size; i++) {
+               if (isalnum (arr[i]))
+                       ss << arr[i];
+               else
+                       ss << ".";
+       }
+
+       delete [] arr;
+       return ss.str ();
+}
+
index 1ec555f14afcde84a5ee74ca714d9068a2a70a9f..2036513035b41ce3edd800183c6a4198919a018a 100644 (file)
@@ -12,7 +12,11 @@ class ViewProperties:public Gtk::Frame {
 
                void ShowItem (BTreeData *, BTreeNodeHeader &header);
        private:
+               std::string ToRaw (BTreeData *);
+
                Gtk::Table table;
+               Gtk::HBox hbox;
+               Gtk::TextView raw_view;
 
                /* Node Info */
                Gtk::Label node_num;