+void abrir_arbol ()
+{
+ Gtk::FileChooserDialog dlg ("Abrir Arbol");
+
+ dlg.add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
+ dlg.add_button (Gtk::Stock::OPEN, Gtk::RESPONSE_ACCEPT);
+ if (dlg.run () == Gtk::RESPONSE_ACCEPT) {
+ Glib::ustring s = dlg.get_filename ();
+ std::string filename = s;
+ ViewBTree *ptree = ViewBTree::Open (real_canvas->root (), filename);
+ if (ptree != NULL) {
+ tree = Glib::RefPtr<ViewBTree>(ptree);
+ tree->signal_selected ().connect ( sigc::mem_fun (*real_frame, &ViewProperties::ShowItem) );
+ tree->AddNode (0);
+ double x1, x2, y1, y2;
+ tree->get_bounds (x1, y1, x2, y2);
+ real_canvas->scroll_to (0, 0);
+ }
+ }
+}
+