[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