gui/main_win.cc
changeset 1441 fd4b6f6d592a
parent 1435 8e85e6bbefdf
child 1442 1e3c69aa035b
     1.1 --- a/gui/main_win.cc	Fri May 27 10:34:20 2005 +0000
     1.2 +++ b/gui/main_win.cc	Wed Jun 01 23:30:13 2005 +0000
     1.3 @@ -1,18 +1,39 @@
     1.4  #include <main_win.h>
     1.5  
     1.6 -MainWin::MainWin(const std::string& title, Graph & graph, CoordinatesMap & cm, MapStorage & ms):mapwin("Map Setup", ms, gd_canvas),gd_canvas(graph, cm, ms)
     1.7 +MainWin::MainWin(const std::string& title, Graph & graph, CoordinatesMap & cm,
     1.8 +    MapStorage & ms):mapwin("Map Setup", ms, gd_canvas),gd_canvas(graph, cm, ms)
     1.9  {
    1.10    set_title (title);
    1.11    set_default_size(WIN_WIDTH,WIN_HEIGHT);
    1.12    add(vbox);
    1.13  
    1.14    ag=Gtk::ActionGroup::create();
    1.15 +
    1.16 +  ag->add( Gtk::Action::create("FileMenu", "_File") );
    1.17 +  ag->add( Gtk::Action::create("FileNew", Gtk::Stock::NEW),
    1.18 +      sigc::mem_fun(*this, &MainWin::newFile));
    1.19 +  ag->add( Gtk::Action::create("FileOpen", Gtk::Stock::OPEN),
    1.20 +      sigc::mem_fun(*this, &MainWin::openFile));
    1.21 +  ag->add( Gtk::Action::create("FileSave", Gtk::Stock::SAVE),
    1.22 +      sigc::mem_fun(*this, &MainWin::saveFile));
    1.23 +  ag->add( Gtk::Action::create("FileSaveAs", Gtk::Stock::SAVE_AS),
    1.24 +      sigc::mem_fun(*this, &MainWin::saveFileAs));
    1.25 +  ag->add( Gtk::Action::create("FileQuit", Gtk::Stock::QUIT),
    1.26 +      sigc::mem_fun(*this, &MainWin::quit));
    1.27 +
    1.28 +  ag->add( Gtk::Action::create("ViewMenu", "_View") );
    1.29 +  ag->add( Gtk::Action::create("ViewZoomIn", Gtk::Stock::ZOOM_IN),
    1.30 +      sigc::mem_fun(this->gd_canvas, &GraphDisplayerCanvas::zoomIn));
    1.31 +  ag->add( Gtk::Action::create("ViewZoomOut", Gtk::Stock::ZOOM_OUT),
    1.32 +      sigc::mem_fun(this->gd_canvas, &GraphDisplayerCanvas::zoomOut));
    1.33 +  ag->add( Gtk::Action::create("ViewZoomFit", Gtk::Stock::ZOOM_FIT),
    1.34 +      sigc::mem_fun(this->gd_canvas, &GraphDisplayerCanvas::zoomFit));
    1.35 +  ag->add( Gtk::Action::create("ViewZoom100", Gtk::Stock::ZOOM_100),
    1.36 +      sigc::mem_fun(this->gd_canvas, &GraphDisplayerCanvas::zoom100));
    1.37 +  
    1.38    ag->add( Gtk::Action::create("ShowMenu", "_Show") );
    1.39 -  ag->add( Gtk::Action::create("ShowMaps", "_Maps"), sigc::mem_fun(*this, &MainWin::showMaps));
    1.40 -  ag->add( Gtk::Action::create("FileMenu", "_File") );
    1.41 -  ag->add( Gtk::Action::create("FileQuit", "_Quit"), sigc::mem_fun(*this, &MainWin::quit));
    1.42 -  ag->add( Gtk::Action::create("ZoomMenu", "_Zoom") );
    1.43 -  ag->add( Gtk::Action::create("ZoomRezoom", "_Rezoom"), sigc::mem_fun(*this, &MainWin::rezoom)); //!!!!!!
    1.44 +  ag->add( Gtk::Action::create("ShowMaps", "_Maps"),
    1.45 +      sigc::mem_fun(*this, &MainWin::showMaps));
    1.46  
    1.47    uim=Gtk::UIManager::create();
    1.48    uim->insert_action_group(ag);
    1.49 @@ -25,15 +46,32 @@
    1.50        "<ui>"
    1.51        "  <menubar name='MenuBar'>"
    1.52        "    <menu action='FileMenu'>"
    1.53 +      "      <menuitem action='FileNew'/>"
    1.54 +      "      <menuitem action='FileOpen'/>"
    1.55 +      "      <menuitem action='FileSave'/>"
    1.56 +      "      <menuitem action='FileSaveAs'/>"
    1.57        "      <menuitem action='FileQuit'/>"
    1.58        "    </menu>"
    1.59 +      "    <menu action='ViewMenu'>"
    1.60 +      "      <menuitem action='ViewZoomIn' />"
    1.61 +      "      <menuitem action='ViewZoomOut' />"
    1.62 +      "      <menuitem action='ViewZoomFit' />"
    1.63 +      "      <menuitem action='ViewZoom100' />"
    1.64 +      "    </menu>"
    1.65        "    <menu action='ShowMenu'>"
    1.66        "      <menuitem action='ShowMaps'/>"
    1.67        "    </menu>"
    1.68 -      "    <menu action='ZoomMenu'>"
    1.69 -      "      <menuitem action='ZoomRezoom'/>"
    1.70 -      "    </menu>"
    1.71        "  </menubar>"
    1.72 +      "  <toolbar name='ToolBar'>"
    1.73 +      "    <toolitem action='FileNew' />"
    1.74 +      "    <toolitem action='FileOpen' />"
    1.75 +      "    <toolitem action='FileSave' />"
    1.76 +      "    <separator />"
    1.77 +      "    <toolitem action='ViewZoomIn' />"
    1.78 +      "    <toolitem action='ViewZoomOut' />"
    1.79 +      "    <toolitem action='ViewZoomFit' />"
    1.80 +      "    <toolitem action='ViewZoom100' />"
    1.81 +      "  </toolbar>"
    1.82        "</ui>";
    1.83  
    1.84      uim->add_ui_from_string(ui_info);
    1.85 @@ -45,9 +83,21 @@
    1.86    }
    1.87  
    1.88    Gtk::Widget* menubar = uim->get_widget("/MenuBar");
    1.89 -  if(menubar)vbox.pack_start(*menubar, Gtk::PACK_SHRINK);
    1.90 +  if (menubar){
    1.91 +    vbox.pack_start(*menubar, Gtk::PACK_SHRINK);
    1.92 +  }
    1.93  
    1.94 -  vbox.pack_start(gd_canvas);
    1.95 +  Gtk::Widget* toolbar = uim->get_widget("/ToolBar");
    1.96 +  if (toolbar)
    1.97 +  {
    1.98 +    static_cast<Gtk::Toolbar*>(toolbar)->set_toolbar_style(Gtk::TOOLBAR_ICONS);
    1.99 +    vbox.pack_start(*toolbar, Gtk::PACK_SHRINK);
   1.100 +  }
   1.101 +
   1.102 +  Gtk::ScrolledWindow* pScrolledWindow = manage(new Gtk::ScrolledWindow());
   1.103 +  pScrolledWindow->add(gd_canvas);
   1.104 +  vbox.pack_start(*pScrolledWindow);
   1.105 +  //vbox.pack_start(gd_canvas);
   1.106  
   1.107    show_all_children();
   1.108  }
   1.109 @@ -62,8 +112,22 @@
   1.110    hide();
   1.111  }
   1.112  
   1.113 -void MainWin::rezoom()
   1.114 +void MainWin::newFile()
   1.115  {
   1.116 -  gd_canvas.rezoom();
   1.117 +  std::cerr << "MainWin::newFile(): not yet implemented" << std::endl;
   1.118  }
   1.119  
   1.120 +void MainWin::openFile()
   1.121 +{
   1.122 +  std::cerr << "MainWin::openFile(): not yet implemented" << std::endl;
   1.123 +}
   1.124 +
   1.125 +void MainWin::saveFile()
   1.126 +{
   1.127 +  std::cerr << "MainWin::saveFile(): not yet implemented" << std::endl;
   1.128 +}
   1.129 +
   1.130 +void MainWin::saveFileAs()
   1.131 +{
   1.132 +  std::cerr << "MainWin::saveFileAs(): not yet implemented" << std::endl;
   1.133 +}