Index: gui/main_win.cc
===================================================================
--- gui/main_win.cc	(revision 1659)
+++ gui/main_win.cc	(revision 1733)
@@ -3,6 +3,7 @@
 
 MainWin::MainWin() :
-  mapwin("Map Setup", mapstorage, gd_canvas),
-  newmapwin("Creating new map", gd_canvas), gd_canvas(mapstorage, mapwin, (Gtk::Window *)this)
+  newmapwin("Creating new map", gd_canvas),
+  mapwin("Map Setup", mapstorage, gd_canvas, newmapwin),
+  gd_canvas(mapstorage, mapwin, (Gtk::Window *)this)
 {
   set_title ("unsaved file - " + prog_name);
Index: gui/main_win.h
===================================================================
--- gui/main_win.h	(revision 1650)
+++ gui/main_win.h	(revision 1733)
@@ -26,9 +26,9 @@
 
 protected:
+  ///We need to store newmapwin, to be able to set the appropriate values for properties of new map.
+  NewMapWin newmapwin;
+
   ///Window of map-showing setup. Its type is \ref MapWin
   MapWin mapwin;
-
-  ///We need to store newmapwin, to be able to set the appropriate values for properties of new map.
-  NewMapWin newmapwin;
 
   ///The graph will be drawn on this \ref GraphDisplayerCanvas
Index: gui/map_win.cc
===================================================================
--- gui/map_win.cc	(revision 1731)
+++ gui/map_win.cc	(revision 1733)
@@ -11,5 +11,5 @@
 }
 
-MapWin::MapWin(const std::string& title, MapStorage & mapst, GraphDisplayerCanvas & grdispc):gdc(grdispc),ms(mapst)
+MapWin::MapWin(const std::string& title, MapStorage & mapst, GraphDisplayerCanvas & grdispc, NewMapWin & newmapwin):gdc(grdispc),ms(mapst), nmw(newmapwin)
 {
   set_title(title);
@@ -24,5 +24,5 @@
   for(int i=0;i<EDGE_PROPERTY_NUM;i++)
   {
-    e_combo_array[i]=new MapSelector(gdc, ms, *this, i, true);
+    e_combo_array[i]=new MapSelector(gdc, ms, nmw, i, true);
 
     (*table).attach((*(e_combo_array[i])),0,1,i,i+1,Gtk::SHRINK,Gtk::SHRINK,10,3);
@@ -41,5 +41,5 @@
   for(int i=0;i<NODE_PROPERTY_NUM;i++)
   {
-    n_combo_array[i]=new MapSelector(gdc, ms, *this, i, false);
+    n_combo_array[i]=new MapSelector(gdc, ms, nmw, i, false);
 
     (*table).attach((*(n_combo_array[i])),0,1,i,i+1,Gtk::SHRINK,Gtk::SHRINK,10,3);
@@ -102,5 +102,5 @@
   {
     //filling in combo box with choices
-    e_combo_array[i]->append_text((Glib::ustring)newmapname);
+    n_combo_array[i]->append_text((Glib::ustring)newmapname);
   }
   //setting text property for the new map
Index: gui/map_win.h
===================================================================
--- gui/map_win.h	(revision 1731)
+++ gui/map_win.h	(revision 1733)
@@ -9,4 +9,5 @@
 #include "graph_displayer_canvas.h"
 #include "mapstorage.h"
+#include "new_map_win.h"
 #include "mapselector.h"
 #include <libgnomecanvasmm.h>
@@ -28,4 +29,6 @@
   MapStorage & ms;
 
+  NewMapWin & nmw;
+
   Gtk::Table * table;
   
@@ -38,5 +41,5 @@
 public:
   ///Constructor of MapWin creates the widgets shown in MapWin.
-  MapWin(const std::string& title, MapStorage &, GraphDisplayerCanvas &);
+  MapWin(const std::string& title, MapStorage &, GraphDisplayerCanvas &, NewMapWin &);
 
   ///This function is created to set the appropriate maps on the newly created node
Index: gui/mapselector.cc
===================================================================
--- gui/mapselector.cc	(revision 1731)
+++ gui/mapselector.cc	(revision 1733)
@@ -1,5 +1,5 @@
 #include "mapselector.h"
 
-MapSelector::MapSelector(GraphDisplayerCanvas & grdispc, MapStorage & mapst, MapWin & mapw, int identifier, bool edge):gdc(grdispc),ms(mapst),mw(mapw),id(identifier),itisedge(edge),default_state(true),node_to_update(INVALID),edge_to_update(INVALID)
+MapSelector::MapSelector(GraphDisplayerCanvas & grdispc, MapStorage & mapst, NewMapWin & newmapw, int identifier, bool edge):gdc(grdispc),ms(mapst),nmw(newmapw),id(identifier),itisedge(edge),default_state(true),node_to_update(INVALID),edge_to_update(INVALID)
 {
   update_list();
@@ -34,4 +34,9 @@
 
   newbut=new Gtk::Button(Gtk::Stock::NEW);
+
+  newbut->signal_pressed().connect
+    (
+     sigc::mem_fun(nmw, &NewMapWin::show)
+     );
 
   add(*label);
Index: gui/mapselector.h
===================================================================
--- gui/mapselector.h	(revision 1731)
+++ gui/mapselector.h	(revision 1733)
@@ -8,5 +8,5 @@
 #include "all_include.h"
 #include "mapstorage.h"
-#include "map_win.h"
+#include "new_map_win.h"
 #include "graph_displayer_canvas.h"
 #include <libgnomecanvasmm.h>
@@ -19,5 +19,5 @@
   ///The \ref MapStorage in which the visualizable maps are stored
   MapStorage & ms;
-  MapWin & mw;
+  NewMapWin & nmw;
 
   int id;
@@ -41,5 +41,5 @@
 public:
 
-  MapSelector(GraphDisplayerCanvas &, MapStorage &, MapWin &, int, bool);
+  MapSelector(GraphDisplayerCanvas &, MapStorage &, NewMapWin &, int, bool);
 
   void update_list();
