ladanyi@1412: #include ladanyi@1412: ladanyi@1441: MainWin::MainWin(const std::string& title, Graph & graph, CoordinatesMap & cm, ladanyi@1441: MapStorage & ms):mapwin("Map Setup", ms, gd_canvas),gd_canvas(graph, cm, ms) ladanyi@1412: { ladanyi@1412: set_title (title); ladanyi@1412: set_default_size(WIN_WIDTH,WIN_HEIGHT); ladanyi@1412: add(vbox); ladanyi@1412: ladanyi@1412: ag=Gtk::ActionGroup::create(); ladanyi@1441: ladanyi@1441: ag->add( Gtk::Action::create("FileMenu", "_File") ); ladanyi@1441: ag->add( Gtk::Action::create("FileNew", Gtk::Stock::NEW), ladanyi@1441: sigc::mem_fun(*this, &MainWin::newFile)); ladanyi@1441: ag->add( Gtk::Action::create("FileOpen", Gtk::Stock::OPEN), ladanyi@1441: sigc::mem_fun(*this, &MainWin::openFile)); ladanyi@1441: ag->add( Gtk::Action::create("FileSave", Gtk::Stock::SAVE), ladanyi@1441: sigc::mem_fun(*this, &MainWin::saveFile)); ladanyi@1441: ag->add( Gtk::Action::create("FileSaveAs", Gtk::Stock::SAVE_AS), ladanyi@1441: sigc::mem_fun(*this, &MainWin::saveFileAs)); ladanyi@1441: ag->add( Gtk::Action::create("FileQuit", Gtk::Stock::QUIT), ladanyi@1441: sigc::mem_fun(*this, &MainWin::quit)); ladanyi@1441: ladanyi@1441: ag->add( Gtk::Action::create("ViewMenu", "_View") ); ladanyi@1441: ag->add( Gtk::Action::create("ViewZoomIn", Gtk::Stock::ZOOM_IN), ladanyi@1441: sigc::mem_fun(this->gd_canvas, &GraphDisplayerCanvas::zoomIn)); ladanyi@1441: ag->add( Gtk::Action::create("ViewZoomOut", Gtk::Stock::ZOOM_OUT), ladanyi@1441: sigc::mem_fun(this->gd_canvas, &GraphDisplayerCanvas::zoomOut)); ladanyi@1441: ag->add( Gtk::Action::create("ViewZoomFit", Gtk::Stock::ZOOM_FIT), ladanyi@1441: sigc::mem_fun(this->gd_canvas, &GraphDisplayerCanvas::zoomFit)); ladanyi@1441: ag->add( Gtk::Action::create("ViewZoom100", Gtk::Stock::ZOOM_100), ladanyi@1441: sigc::mem_fun(this->gd_canvas, &GraphDisplayerCanvas::zoom100)); ladanyi@1441: ladanyi@1412: ag->add( Gtk::Action::create("ShowMenu", "_Show") ); ladanyi@1441: ag->add( Gtk::Action::create("ShowMaps", "_Maps"), ladanyi@1441: sigc::mem_fun(*this, &MainWin::showMaps)); ladanyi@1412: ladanyi@1412: uim=Gtk::UIManager::create(); ladanyi@1412: uim->insert_action_group(ag); ladanyi@1412: add_accel_group(uim->get_accel_group()); ladanyi@1412: ladanyi@1412: try ladanyi@1412: { ladanyi@1412: ladanyi@1412: Glib::ustring ui_info = ladanyi@1412: "" ladanyi@1412: " " ladanyi@1412: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1412: " " ladanyi@1412: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1412: " " ladanyi@1412: " " ladanyi@1412: " " ladanyi@1412: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1441: " " ladanyi@1412: ""; ladanyi@1412: ladanyi@1412: uim->add_ui_from_string(ui_info); ladanyi@1412: ladanyi@1412: } ladanyi@1412: catch(const Glib::Error& ex) ladanyi@1412: { ladanyi@1412: std::cerr << "building menus failed: " << ex.what(); ladanyi@1412: } ladanyi@1412: ladanyi@1412: Gtk::Widget* menubar = uim->get_widget("/MenuBar"); ladanyi@1441: if (menubar){ ladanyi@1441: vbox.pack_start(*menubar, Gtk::PACK_SHRINK); ladanyi@1441: } ladanyi@1412: ladanyi@1441: Gtk::Widget* toolbar = uim->get_widget("/ToolBar"); ladanyi@1441: if (toolbar) ladanyi@1441: { ladanyi@1441: static_cast(toolbar)->set_toolbar_style(Gtk::TOOLBAR_ICONS); ladanyi@1441: vbox.pack_start(*toolbar, Gtk::PACK_SHRINK); ladanyi@1441: } ladanyi@1441: ladanyi@1441: Gtk::ScrolledWindow* pScrolledWindow = manage(new Gtk::ScrolledWindow()); ladanyi@1441: pScrolledWindow->add(gd_canvas); ladanyi@1441: vbox.pack_start(*pScrolledWindow); ladanyi@1441: //vbox.pack_start(gd_canvas); ladanyi@1412: ladanyi@1412: show_all_children(); ladanyi@1412: } ladanyi@1412: ladanyi@1412: void MainWin::showMaps() ladanyi@1412: { ladanyi@1412: mapwin.show(); ladanyi@1412: } ladanyi@1412: ladanyi@1412: void MainWin::quit() ladanyi@1412: { ladanyi@1412: hide(); ladanyi@1412: } ladanyi@1412: ladanyi@1441: void MainWin::newFile() ladanyi@1412: { ladanyi@1441: std::cerr << "MainWin::newFile(): not yet implemented" << std::endl; ladanyi@1412: } ladanyi@1412: ladanyi@1441: void MainWin::openFile() ladanyi@1441: { ladanyi@1441: std::cerr << "MainWin::openFile(): not yet implemented" << std::endl; ladanyi@1441: } ladanyi@1441: ladanyi@1441: void MainWin::saveFile() ladanyi@1441: { ladanyi@1441: std::cerr << "MainWin::saveFile(): not yet implemented" << std::endl; ladanyi@1441: } ladanyi@1441: ladanyi@1441: void MainWin::saveFileAs() ladanyi@1441: { ladanyi@1441: std::cerr << "MainWin::saveFileAs(): not yet implemented" << std::endl; ladanyi@1441: }