Index: design_win.cc
===================================================================
--- design_win.cc	(revision 194)
+++ design_win.cc	(revision 196)
@@ -17,5 +17,4 @@
  */
 
-#include <nbtab.h>
 #include <design_win.h>
 
@@ -29,9 +28,9 @@
 }
 
-DesignWin::DesignWin(const std::string& title, double attraction_v, double propulsation_v, int iterations_v, NoteBookTab & mw):mytab(mw)
+DesignWin::DesignWin(const std::string& title, double attraction_v, double propulsation_v, int iterations_v)
 {
   set_title(title);
 
-  mytab.signal_title_ch().connect(sigc::mem_fun(*this, &DesignWin::set_title));
+  //mytab.signal_title_ch().connect(sigc::mem_fun(*this, &DesignWin::set_title));
 
   signal_key_press_event().connect(sigc::mem_fun(*this, &DesignWin::closeIfEscapeIsPressed));
Index: design_win.h
===================================================================
--- design_win.h	(revision 194)
+++ design_win.h	(revision 196)
@@ -20,6 +20,4 @@
 #define DESWIN_H
 
-class NoteBookTab;
-
 #include <all_include.h>
 #include <libgnomecanvasmm.h>
@@ -29,7 +27,4 @@
 {
 private:
-  ///\ref NoteBookTab to that the \ref MapWin belongs to.
-  NoteBookTab & mytab;
-
   Gtk::SpinButton * attraction;
   Gtk::SpinButton * propulsation;
@@ -55,5 +50,5 @@
 
   ///It builds the window.
-  DesignWin(const std::string&, double, double, int, NoteBookTab & mw);
+  DesignWin(const std::string&, double, double, int);
 
   sigc::signal<void, double> signal_attraction(){return signal_attraction_ch;};
Index: eps_win.cc
===================================================================
--- eps_win.cc	(revision 194)
+++ eps_win.cc	(revision 196)
@@ -17,5 +17,4 @@
  */
 
-#include <nbtab.h>
 #include <eps_win.h>
 #include <set>
@@ -30,5 +29,5 @@
 }
 
-EpsWin::EpsWin(const std::string& title, NoteBookTab & mw):Gtk::Dialog(title, true, true),mytab(mw)
+EpsWin::EpsWin(const std::string& title):Gtk::Dialog(title, true, true)
 {
   set_default_size(200, 50);
@@ -37,6 +36,4 @@
 
   signal_key_press_event().connect(sigc::mem_fun(*this, &EpsWin::closeIfEscapeIsPressed));
-
-  mytab.signal_title_ch().connect(sigc::mem_fun(*this, &EpsWin::set_title));
 
   table=new Gtk::Table(EPS_PROPERTY_NUM, 1, false);
@@ -77,5 +74,5 @@
 {
   event=event;
-  mytab.closeEpsWin();
+  signal_eps_close.emit();
   return true;
 }
@@ -91,5 +88,5 @@
 	  values[i]=options[i]->get_active();
 	}
-      mytab.exportGraphToEPS(values, name.get_text());
+      signal_eps_details.emit(values, name.get_text());
     }
   on_delete_event(NULL);
Index: eps_win.h
===================================================================
--- eps_win.h	(revision 194)
+++ eps_win.h	(revision 196)
@@ -20,6 +20,4 @@
 #define EPS_WIN_H
 
-class NoteBookTab;
-
 #include <all_include.h>
 #include <libgnomecanvasmm.h>
@@ -34,7 +32,4 @@
 {
 protected:
-  ///\ref NoteBookTab to that the \ref EpsWin belongs to.
-  NoteBookTab & mytab;
-
   ///Designing element
   Gtk::Table * table;
@@ -64,5 +59,5 @@
   ///\param nml nodemap list
   ///\param mw the owner \ref NoteBookTab (\ref mytab)
-  EpsWin(const std::string& title, NoteBookTab & mw);
+  EpsWin(const std::string& title);
 
   ///Deregistrates \ref EpsWin in its \ref NoteBookTab (\ref mytab)
@@ -80,4 +75,17 @@
   virtual void on_response(int response_id);
 
+  ///indicates that user is ready to export EPS file
+  sigc::signal<void, std::vector<bool>, std::string > signal_eps_details;
+
+  ///returns \ref signal_eps_details
+  sigc::signal<void, std::vector<bool>, std::string > signal_eps_details_ch(){return signal_eps_details;};
+
+  ///indicates that the windows can be closed
+  sigc::signal<void> signal_eps_close;
+
+  ///returns \ref signal_eps_close
+  sigc::signal<void> signal_eps_close_ch(){return signal_eps_close;};
+  
+
 };
 
Index: nbtab.cc
===================================================================
--- nbtab.cc	(revision 195)
+++ nbtab.cc	(revision 196)
@@ -54,5 +54,5 @@
       mapwin->update(mapstorage->getEdgeMapList(), mapstorage->getNodeMapList());
     }
-  signal_title.emit(Glib::filename_display_basename(file));
+  title_changed(Glib::filename_display_basename(file));
 }
 
@@ -83,5 +83,5 @@
       mapwin->update(mapstorage->getEdgeMapList(), mapstorage->getNodeMapList());
     }
-  signal_title.emit("unsaved file");
+  title_changed("unsaved file");
 }
 
@@ -123,5 +123,5 @@
 	  mapwin->update(mapstorage->getEdgeMapList(), mapstorage->getNodeMapList());
 	}
-      signal_title.emit(Glib::filename_display_basename(filename));
+      title_changed(Glib::filename_display_basename(filename));
     }
   }
@@ -137,5 +137,5 @@
     mapstorage->writeToFile(mapstorage->file_name);
     mapstorage->modified = false;
-    signal_title.emit(Glib::filename_display_basename(mapstorage->file_name));
+    title_changed(Glib::filename_display_basename(mapstorage->file_name));
   }
 }
@@ -152,5 +152,5 @@
     mapstorage->writeToFile(filename);
     mapstorage->modified = false;
-    signal_title.emit(Glib::filename_display_basename(filename));
+    title_changed(Glib::filename_display_basename(filename));
   }
 }
@@ -182,5 +182,5 @@
       mapwin->update(mapstorage->getEdgeMapList(), mapstorage->getNodeMapList());
     }
-  signal_title.emit("unsaved file");
+  title_changed("unsaved file");
 }
 
@@ -241,7 +241,9 @@
   if(!epswinexists)
     {
-      epswin=new EpsWin("Export to EPS - "+name, *this);
+      epswin=new EpsWin("Export to EPS - "+name);
       epswin->show();
       epswinexists=true;
+      epswin->signal_eps_details_ch().connect(sigc::mem_fun(*this, &NoteBookTab::exportGraphToEPS));
+      epswin->signal_eps_close_ch().connect(sigc::mem_fun(*this, &NoteBookTab::closeEpsWin));
     }
 }
@@ -255,5 +257,5 @@
       int iterations;
       mapstorage->get_design_data(attraction, propulsation, iterations);
-      designwin=new DesignWin("Design Setup - "+name, attraction, propulsation, iterations, *this);
+      designwin=new DesignWin("Design Setup - "+name, attraction, propulsation, iterations);
 
       designwin->signal_attraction().connect(sigc::mem_fun(mapstorage, &MapStorage::set_attraction));
@@ -323,2 +325,15 @@
   mapstorage->exportGraphToEPS(options, filename);
 }
+
+void NoteBookTab::title_changed(std::string newtitle)
+{
+  signal_title.emit(newtitle);
+  if(epswinexists)
+    {
+      epswin->set_title(newtitle);
+    }
+  if(designwinexists)
+    {
+      designwin->set_title(newtitle);
+    }
+}
Index: nbtab.h
===================================================================
--- nbtab.h	(revision 194)
+++ nbtab.h	(revision 196)
@@ -235,4 +235,7 @@
 
 private:
+  ///Called when title of tab has changed
+  void title_changed(std::string);
+
   ///Signal connection from \ref MapStorage to \ref MapWin
 
