" <menubar name='MenuBar'>"
" <menu action='MenuFile'>"
" <menuitem action='Nuevo'/>"
+" <menuitem action='Abrir'/>"
" <separator/>"
" <menuitem action='Salir'/>"
" </menu>"
"</ui>";
void nuevo_arbol ();
+void abrir_arbol ();
void agregar_clave ();
void borrar_clave ();
void ir_al_padre ();
actiongroup->add( Gtk::Action::create("MenuFile", "_Arbol") );
actiongroup->add( Gtk::Action::create("Nuevo", Gtk::Stock::NEW), &nuevo_arbol);
+ actiongroup->add( Gtk::Action::create("Abrir", Gtk::Stock::OPEN), &abrir_arbol);
actiongroup->add( Gtk::Action::create("Salir", Gtk::Stock::QUIT), Gtk::AccelKey ("<control>q"), &Gtk::Main::quit);
actiongroup->add( Gtk::Action::create("MenuNode", "_Nodo") );
actiongroup->add( Gtk::Action::create("Ir al Padre", Gtk::Stock::GO_BACK), Gtk::AccelKey ("<control>b"), &ir_al_padre);
return 0;
}
+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);
+ }
+ }
+}
+
void nuevo_arbol ()
{
real_canvas->set_scroll_region (0, 0, 5000, 5000);