# HG changeset patch # User hegyi # Date 1172736459 0 # Node ID 125c56c1efda10492a115c51813fce4433ce7fb4 # Parent 6b2b718420eb66ad3268b5a1b5f2788d739d444c Mapstorage does not need to know NoteBookTab furthermore. diff -r 6b2b718420eb -r 125c56c1efda mapstorage.cc --- a/mapstorage.cc Wed Feb 28 18:20:28 2007 +0000 +++ b/mapstorage.cc Thu Mar 01 08:07:39 2007 +0000 @@ -21,8 +21,6 @@ #include #include -#include //kivenni -#include //kivenni #include #include #include @@ -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(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() diff -r 6b2b718420eb -r 125c56c1efda mapstorage.h --- a/mapstorage.h Wed Feb 28 18:20:28 2007 +0000 +++ b/mapstorage.h Thu Mar 01 08:07:39 2007 +0000 @@ -23,8 +23,6 @@ #include #include -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 signal_design_win; + ///Signal emitted when background should be set by \ref NoteBookTab + sigc::signal 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 signal_design_win_ch(){return signal_design_win;}; + ///returns \ref signal_background to be able to connect functions to it + sigc::signal signal_background_ch(){return signal_background;}; + + ///Adds given map to storage. ///A name and the map itself has to be provided. diff -r 6b2b718420eb -r 125c56c1efda nbtab.cc --- a/nbtab.cc Wed Feb 28 18:20:28 2007 +0000 +++ b/nbtab.cc Thu Mar 01 08:07:39 2007 +0000 @@ -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(); }