ladanyi@1: #include ladanyi@1: ladanyi@1: MainWin::MainWin(const std::string& title, Graph & graph, CoordinatesMap & cm, MapStorage & ms):mapwin("Map Setup", ms, gd_canvas),gd_canvas(graph, cm, ms) ladanyi@1: { ladanyi@1: set_title (title); ladanyi@1: set_default_size(WIN_WIDTH,WIN_HEIGHT); ladanyi@1: add(vbox); ladanyi@1: ladanyi@1: ag=Gtk::ActionGroup::create(); ladanyi@1: ag->add( Gtk::Action::create("ShowMenu", "_Show") ); ladanyi@1: ag->add( Gtk::Action::create("ShowMaps", "_Maps"), sigc::mem_fun(*this, &MainWin::showMaps)); ladanyi@1: ag->add( Gtk::Action::create("FileMenu", "_File") ); ladanyi@1: ag->add( Gtk::Action::create("FileQuit", "_Quit"), sigc::mem_fun(*this, &MainWin::quit)); ladanyi@1: ag->add( Gtk::Action::create("ZoomMenu", "_Zoom") ); ladanyi@1: ag->add( Gtk::Action::create("ZoomRezoom", "_Rezoom"), sigc::mem_fun(*this, &MainWin::rezoom)); //!!!!!! ladanyi@1: ladanyi@1: uim=Gtk::UIManager::create(); ladanyi@1: uim->insert_action_group(ag); ladanyi@1: add_accel_group(uim->get_accel_group()); ladanyi@1: ladanyi@1: try ladanyi@1: { ladanyi@1: ladanyi@1: Glib::ustring ui_info = ladanyi@1: "" ladanyi@1: " " ladanyi@1: " " ladanyi@1: " " ladanyi@1: " " ladanyi@1: " " ladanyi@1: " " ladanyi@1: " " ladanyi@1: " " ladanyi@1: " " ladanyi@1: " " ladanyi@1: " " ladanyi@1: ""; ladanyi@1: ladanyi@1: uim->add_ui_from_string(ui_info); ladanyi@1: ladanyi@1: } ladanyi@1: catch(const Glib::Error& ex) ladanyi@1: { ladanyi@1: std::cerr << "building menus failed: " << ex.what(); ladanyi@1: } ladanyi@1: ladanyi@1: Gtk::Widget* menubar = uim->get_widget("/MenuBar"); ladanyi@1: if(menubar)vbox.pack_start(*menubar, Gtk::PACK_SHRINK); ladanyi@1: ladanyi@1: vbox.pack_start(gd_canvas); ladanyi@1: ladanyi@1: show_all_children(); ladanyi@1: } ladanyi@1: ladanyi@1: void MainWin::showMaps() ladanyi@1: { ladanyi@1: mapwin.show(); ladanyi@1: } ladanyi@1: ladanyi@1: void MainWin::quit() ladanyi@1: { ladanyi@1: hide(); ladanyi@1: } ladanyi@1: ladanyi@1: void MainWin::rezoom() ladanyi@1: { ladanyi@1: gd_canvas.rezoom(); ladanyi@1: } ladanyi@1: