]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blob - viewer/view_properties.cpp
Muestro mas datos del elemento seleccionado.
[z.facultad/75.52/treemulator.git] / viewer / view_properties.cpp
1
2 #include "view_properties.h"
3
4 ViewProperties::ViewProperties ():Frame ()
5 {
6         vbox.pack_start (node_num, false, false, 5);
7         vbox.pack_start (node_level, false, false, 5);
8         vbox.pack_start (node_items, false, false, 5);
9         vbox.pack_start (node_freespace, false, false, 5);
10         
11         vbox.pack_start (data_type, false, false, 5);
12         vbox.pack_start (data_key, false, false, 5);
13         vbox.pack_start (data_child, false, false, 5);
14
15         add (vbox);
16         
17         set_label ("Propiedades");
18         set_shadow_type(Gtk::SHADOW_NONE);
19 }
20
21 void ViewProperties::ShowItem (BTreeData *data, BTreeNodeHeader &header)
22 {
23         std::string s1, s2, s3;
24         std::stringstream ss1, ss2, ss3;
25
26         ss1 << header.level;
27         ss1 >> s1;
28         node_level.set_label ("Nivel : " + s1);
29
30         ss2 << header.item_count;
31         ss2 >> s2;
32         node_items.set_label ("Items : " + s2);
33
34         ss3 << header.free_space;
35         ss3 >> s3;
36         node_freespace.set_label ("Libre : " + s3);
37
38         if (dynamic_cast<BTreeChildData *>(data)) {
39                 data_type.set_label ("Tipo : BTreeChildData");
40                 data_key.set_label ("");
41
42                 std::string s4;
43                 std::stringstream ss4;
44                 ss4 << data->getChild ();
45                 ss4 >> s4;
46                 data_child.set_label ("Hijo Izquierdo : " + s4);
47         } else if (dynamic_cast<BTreeLeafData *>(data)) {
48                 data_type.set_label ("Tipo : BTreeLeafData");
49                 data_child.set_label ("");
50
51                 std::string s4 = *(data->getClave ());
52                 data_child.set_label ("Clave : " + s4);
53         } else {
54                 data_type.set_label ("Tipo : BTreeData");
55
56                 std::string s4;
57                 std::stringstream ss4;
58                 ss4 << data->getChild ();
59                 ss4 >> s4;
60                 data_child.set_label ("Hijo Derecho : " + s4);
61
62                 std::string s5 = *(data->getClave ());
63                 data_key.set_label ("Clave : " + s5);
64         }
65 }
66