Index: main_win.cc
===================================================================
--- main_win.cc	(revision 1)
+++ main_win.cc	(revision 5)
@@ -1,5 +1,6 @@
 #include <main_win.h>
 
-MainWin::MainWin(const std::string& title, Graph & graph, CoordinatesMap & cm, MapStorage & ms):mapwin("Map Setup", ms, gd_canvas),gd_canvas(graph, cm, ms)
+MainWin::MainWin(const std::string& title, Graph & graph, CoordinatesMap & cm,
+    MapStorage & ms):mapwin("Map Setup", ms, gd_canvas),gd_canvas(graph, cm, ms)
 {
   set_title (title);
@@ -8,10 +9,30 @@
 
   ag=Gtk::ActionGroup::create();
+
+  ag->add( Gtk::Action::create("FileMenu", "_File") );
+  ag->add( Gtk::Action::create("FileNew", Gtk::Stock::NEW),
+      sigc::mem_fun(*this, &MainWin::newFile));
+  ag->add( Gtk::Action::create("FileOpen", Gtk::Stock::OPEN),
+      sigc::mem_fun(*this, &MainWin::openFile));
+  ag->add( Gtk::Action::create("FileSave", Gtk::Stock::SAVE),
+      sigc::mem_fun(*this, &MainWin::saveFile));
+  ag->add( Gtk::Action::create("FileSaveAs", Gtk::Stock::SAVE_AS),
+      sigc::mem_fun(*this, &MainWin::saveFileAs));
+  ag->add( Gtk::Action::create("FileQuit", Gtk::Stock::QUIT),
+      sigc::mem_fun(*this, &MainWin::quit));
+
+  ag->add( Gtk::Action::create("ViewMenu", "_View") );
+  ag->add( Gtk::Action::create("ViewZoomIn", Gtk::Stock::ZOOM_IN),
+      sigc::mem_fun(this->gd_canvas, &GraphDisplayerCanvas::zoomIn));
+  ag->add( Gtk::Action::create("ViewZoomOut", Gtk::Stock::ZOOM_OUT),
+      sigc::mem_fun(this->gd_canvas, &GraphDisplayerCanvas::zoomOut));
+  ag->add( Gtk::Action::create("ViewZoomFit", Gtk::Stock::ZOOM_FIT),
+      sigc::mem_fun(this->gd_canvas, &GraphDisplayerCanvas::zoomFit));
+  ag->add( Gtk::Action::create("ViewZoom100", Gtk::Stock::ZOOM_100),
+      sigc::mem_fun(this->gd_canvas, &GraphDisplayerCanvas::zoom100));
+  
   ag->add( Gtk::Action::create("ShowMenu", "_Show") );
-  ag->add( Gtk::Action::create("ShowMaps", "_Maps"), sigc::mem_fun(*this, &MainWin::showMaps));
-  ag->add( Gtk::Action::create("FileMenu", "_File") );
-  ag->add( Gtk::Action::create("FileQuit", "_Quit"), sigc::mem_fun(*this, &MainWin::quit));
-  ag->add( Gtk::Action::create("ZoomMenu", "_Zoom") );
-  ag->add( Gtk::Action::create("ZoomRezoom", "_Rezoom"), sigc::mem_fun(*this, &MainWin::rezoom)); //!!!!!!
+  ag->add( Gtk::Action::create("ShowMaps", "_Maps"),
+      sigc::mem_fun(*this, &MainWin::showMaps));
 
   uim=Gtk::UIManager::create();
@@ -26,13 +47,30 @@
       "  <menubar name='MenuBar'>"
       "    <menu action='FileMenu'>"
+      "      <menuitem action='FileNew'/>"
+      "      <menuitem action='FileOpen'/>"
+      "      <menuitem action='FileSave'/>"
+      "      <menuitem action='FileSaveAs'/>"
       "      <menuitem action='FileQuit'/>"
+      "    </menu>"
+      "    <menu action='ViewMenu'>"
+      "      <menuitem action='ViewZoomIn' />"
+      "      <menuitem action='ViewZoomOut' />"
+      "      <menuitem action='ViewZoomFit' />"
+      "      <menuitem action='ViewZoom100' />"
       "    </menu>"
       "    <menu action='ShowMenu'>"
       "      <menuitem action='ShowMaps'/>"
       "    </menu>"
-      "    <menu action='ZoomMenu'>"
-      "      <menuitem action='ZoomRezoom'/>"
-      "    </menu>"
       "  </menubar>"
+      "  <toolbar name='ToolBar'>"
+      "    <toolitem action='FileNew' />"
+      "    <toolitem action='FileOpen' />"
+      "    <toolitem action='FileSave' />"
+      "    <separator />"
+      "    <toolitem action='ViewZoomIn' />"
+      "    <toolitem action='ViewZoomOut' />"
+      "    <toolitem action='ViewZoomFit' />"
+      "    <toolitem action='ViewZoom100' />"
+      "  </toolbar>"
       "</ui>";
 
@@ -46,7 +84,19 @@
 
   Gtk::Widget* menubar = uim->get_widget("/MenuBar");
-  if(menubar)vbox.pack_start(*menubar, Gtk::PACK_SHRINK);
+  if (menubar){
+    vbox.pack_start(*menubar, Gtk::PACK_SHRINK);
+  }
 
-  vbox.pack_start(gd_canvas);
+  Gtk::Widget* toolbar = uim->get_widget("/ToolBar");
+  if (toolbar)
+  {
+    static_cast<Gtk::Toolbar*>(toolbar)->set_toolbar_style(Gtk::TOOLBAR_ICONS);
+    vbox.pack_start(*toolbar, Gtk::PACK_SHRINK);
+  }
+
+  Gtk::ScrolledWindow* pScrolledWindow = manage(new Gtk::ScrolledWindow());
+  pScrolledWindow->add(gd_canvas);
+  vbox.pack_start(*pScrolledWindow);
+  //vbox.pack_start(gd_canvas);
 
   show_all_children();
@@ -63,7 +113,21 @@
 }
 
-void MainWin::rezoom()
+void MainWin::newFile()
 {
-  gd_canvas.rezoom();
+  std::cerr << "MainWin::newFile(): not yet implemented" << std::endl;
 }
 
+void MainWin::openFile()
+{
+  std::cerr << "MainWin::openFile(): not yet implemented" << std::endl;
+}
+
+void MainWin::saveFile()
+{
+  std::cerr << "MainWin::saveFile(): not yet implemented" << std::endl;
+}
+
+void MainWin::saveFileAs()
+{
+  std::cerr << "MainWin::saveFileAs(): not yet implemented" << std::endl;
+}
