[Lemon-commits] hegyi: r3207 - glemon/trunk

Lemon SVN svn at lemon.cs.elte.hu
Thu Mar 1 09:07:40 CET 2007


Author: hegyi
Date: Thu Mar  1 09:07:39 2007
New Revision: 3207

Modified:
   glemon/trunk/mapstorage.cc
   glemon/trunk/mapstorage.h
   glemon/trunk/nbtab.cc

Log:
Mapstorage does not need to know NoteBookTab furthermore.

Modified: glemon/trunk/mapstorage.cc
==============================================================================
--- glemon/trunk/mapstorage.cc	(original)
+++ glemon/trunk/mapstorage.cc	Thu Mar  1 09:07:39 2007
@@ -21,8 +21,6 @@
 #include <gtkmm.h>
 
 #include <mapstorage.h>
-#include <graph_displayer_canvas.h> //kivenni
-#include <nbtab.h> //kivenni
 #include <gui_writer.h>
 #include <gui_reader.h>
 #include <lemon/graph_to_eps.h>
@@ -31,7 +29,7 @@
 const double a_d=0.05;
 const double p_d=40000;
 
-MapStorage::MapStorage(NoteBookTab& tab) : mytab(tab), modified(false), file_name(""), arrow_pos_read_ok(false), iterations(i_d), attraction(a_d), propulsation(p_d), background_set(false)
+MapStorage::MapStorage() : modified(false), file_name(""), arrow_pos_read_ok(false), iterations(i_d), attraction(a_d), propulsation(p_d), background_set(false)
 {
   nodemap_storage["coordinates_x"] = new Graph::NodeMap<double>(graph);
   coords.setXMap(*nodemap_storage["coordinates_x"]);
@@ -570,7 +568,7 @@
     background_file_name = file_name;
     background_set = true;
   }
-  mytab.gd_canvas->setBackground();
+  signal_background.emit();
 }
 
 const std::string& MapStorage::getBackgroundFilename()

Modified: glemon/trunk/mapstorage.h
==============================================================================
--- glemon/trunk/mapstorage.h	(original)
+++ glemon/trunk/mapstorage.h	Thu Mar  1 09:07:39 2007
@@ -23,8 +23,6 @@
 #include <xymap.h>
 #include <libgnomecanvasmm.h>
 
-class NoteBookTab;
-
 ///class MapStorage handles NodeMaps and EdgeMaps.
 
 ///Class MapStorage is responsible for storing
@@ -42,7 +40,6 @@
   std::string background_file_name;
   bool background_set;
   double background_scaling;
-  NoteBookTab& mytab;
 public:
   void setBackground(const std::string& file_name);
   const std::string& getBackgroundFilename();
@@ -115,6 +112,9 @@
   /// Signal emitted, when entry in \ref DesignWin should be changed.
   sigc::signal<void, double, double, int> signal_design_win;
 
+  ///Signal emitted when background should be set by \ref NoteBookTab
+  sigc::signal<void> signal_background;
+
   ///Iteration number during graph design
   int iterations;
 
@@ -129,7 +129,7 @@
 
   ///Its all activity is initializing default values
   ///for different visualization attributes.
-  MapStorage(NoteBookTab& tab);
+  MapStorage();
 
   ///Destructor of MapStorage
 
@@ -184,6 +184,10 @@
   ///returns \ref signal_design_win to be able to connect functions to it
   sigc::signal<void, double, double, int> signal_design_win_ch(){return signal_design_win;};
 
+  ///returns \ref signal_background to be able to connect functions to it
+  sigc::signal<void> signal_background_ch(){return signal_background;};
+
+
   ///Adds given map to storage.
 
   ///A name and the map itself has to be provided.

Modified: glemon/trunk/nbtab.cc
==============================================================================
--- glemon/trunk/nbtab.cc	(original)
+++ glemon/trunk/nbtab.cc	Thu Mar  1 09:07:39 2007
@@ -27,7 +27,7 @@
 
 NoteBookTab::NoteBookTab():mapwinexists(false), designwinexists(false)
 {
-  mapstorage=new MapStorage(*this);
+  mapstorage=new MapStorage();
 
   Gtk::ScrolledWindow *pScrolledWindow = manage(new Gtk::ScrolledWindow);
   gd_canvas=new GraphDisplayerCanvas(*this);
@@ -38,6 +38,7 @@
   mapstorage->signal_prop_ch().connect(sigc::mem_fun(*gd_canvas, &GraphDisplayerCanvas::propertyChange));
   mapstorage->signal_node_map_ch().connect(sigc::mem_fun(*this, &NoteBookTab::registerNewNodeMap));
   mapstorage->signal_edge_map_ch().connect(sigc::mem_fun(*this, &NoteBookTab::registerNewEdgeMap));
+  mapstorage->signal_background_ch().connect(sigc::mem_fun(*gd_canvas, &GraphDisplayerCanvas::setBackground));
   show_all_children();
   show();
 }



More information about the Lemon-commits mailing list