[Lemon-commits] ladanyi: r3383 - glemon/branches/akos

Lemon SVN svn at lemon.cs.elte.hu
Sun Nov 18 02:12:15 CET 2007


Author: ladanyi
Date: Sun Nov 18 02:12:14 2007
New Revision: 3383

Modified:
   glemon/branches/akos/mapstorage.cc
   glemon/branches/akos/mapstorage.h
   glemon/branches/akos/nbtab.cc

Log:
Ported r3207 from trunk.

Modified: glemon/branches/akos/mapstorage.cc
==============================================================================
--- glemon/branches/akos/mapstorage.cc	(original)
+++ glemon/branches/akos/mapstorage.cc	Sun Nov 18 02:12:14 2007
@@ -26,8 +26,6 @@
 #include <gtkmm.h>
 #include "file_import_dialog.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>
@@ -36,8 +34,7 @@
 const double a_d=0.05;
 const double p_d=40000;
 
-MapStorage::MapStorage(NoteBookTab& tab) :
-  mytab(tab),
+MapStorage::MapStorage() :
   gui_sect_save_dest(LGF_FILE),
   node_coords_save_dest(SpecMapSaveOpts::GUI_SECT),
   arrow_coords_save_dest(SpecMapSaveOpts::GUI_SECT),
@@ -1398,7 +1395,7 @@
     background_file_name = file_name;
     background_set = true;
   }
-  mytab.gd_canvas->setBackground();
+  signal_background.emit();
 }
 
 const std::string& MapStorage::getBackgroundFilename()

Modified: glemon/branches/akos/mapstorage.h
==============================================================================
--- glemon/branches/akos/mapstorage.h	(original)
+++ glemon/branches/akos/mapstorage.h	Sun Nov 18 02:12:14 2007
@@ -30,8 +30,6 @@
 #include "map_value.h"
 #include "map_value_map.h"
 
-class NoteBookTab;
-
 ///class MapStorage handles NodeMaps and EdgeMaps.
 
 ///Class MapStorage is responsible for storing
@@ -49,7 +47,6 @@
   std::string background_file_name;
   bool background_set;
   double background_scaling;
-  NoteBookTab& mytab;
 public:
   class NonexistentMap : public std::exception
   {
@@ -338,6 +335,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;
 
@@ -352,7 +352,7 @@
 
   ///Its all activity is initializing default values
   ///for different visualization attributes.
-  MapStorage(NoteBookTab& tab);
+  MapStorage();
 
   ///Destructor of MapStorage
 
@@ -412,6 +412,12 @@
   void createEdgeMap(const std::string& name, MapValue::Type type,
     MapValue def_val);
 
+  ///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.
+
   ///Emits \ref signal_prop if mapvalues have changed, and MapStorage gets to know it.
 
   ///If values in a map have changed, this function checks, whether it is displayed.

Modified: glemon/branches/akos/nbtab.cc
==============================================================================
--- glemon/branches/akos/nbtab.cc	(original)
+++ glemon/branches/akos/nbtab.cc	Sun Nov 18 02:12:14 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