]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blob - viewer/view_btree_data.cpp
Separo la vista del Nodo y pongo algo de logica de posicionamiento.
[z.facultad/75.52/treemulator.git] / viewer / view_btree_data.cpp
1
2 #include "view_btree_data.h"
3
4 ViewBTreeData::ViewBTreeData (BTreeData *data, Canvas::Group *parent, double x1, double y1, double x2, double y2):
5         Canvas::Rect (*parent, x1, y1, x2, y2)
6 {
7         this->data = data;
8         property_fill_color () = "red";
9         property_outline_color () = "black";
10 }
11
12
13 ViewBTreeData*
14 ViewBTreeData::Create (BTreeData *data, Canvas::Group *parent, double x1, double y1, double x2, double y2)
15 {
16         if (dynamic_cast<BTreeChildData *>(data))
17                 return new ViewBTreeChildData (data, parent, x1, y1, x2, y2);
18
19         return new ViewBTreeData (data, parent, x1, y1, x2, y2);
20 }
21
22 ViewBTreeChildData::ViewBTreeChildData (BTreeData *data, Canvas::Group *parent, double x1, double y1, double x2, double y2):
23         ViewBTreeData (data, parent, x1, y1, x2, y2)
24 {
25         property_fill_color () = "yellow";
26         property_outline_color () = "black";
27
28         double w = x2 - x1;
29         double h = y2 - y1;
30
31         std::string s = *data;
32         Canvas::Text *text = new Canvas::Text (*parent, x1 + w/2, y1 + h/2, s);
33 }
34