Index: graph_displayer_canvas-node.cc
===================================================================
--- graph_displayer_canvas-node.cc	(revision 194)
+++ graph_displayer_canvas-node.cc	(revision 201)
@@ -26,15 +26,25 @@
 int GraphDisplayerCanvas::changeNodeRadius (std::string mapname, Node node)
 {
-  Graph::NodeMap<double> * actual_map;
+  MapStorage& ms = *mytab.mapstorage;
+
   double min, max;
-  min=(mytab.mapstorage)->minOfNodeMap(mapname);
-  max=(mytab.mapstorage)->maxOfNodeMap(mapname);
-  actual_map=((mytab.mapstorage)->nodemap_storage)[mapname];
-
-  if(node==INVALID)
-    {
-      for (NodeIt i((mytab.mapstorage)->graph); i!=INVALID; ++i)
-	{
-	  double v=fabs((*actual_map)[i]);
+
+  {
+    NodeIt n(ms.graph);
+    min = max = ms.get(mapname, n);
+    for (; n != INVALID; ++n)
+    {
+      if (static_cast<double>(ms.get(mapname, n)) > max)
+        max = ms.get(mapname, n);
+      if (static_cast<double>(ms.get(mapname, n)) < min)
+        min = ms.get(mapname, n);
+    }
+  }
+
+  if(node==INVALID)
+    {
+      for (NodeIt i(ms.graph); i!=INVALID; ++i)
+	{
+	  double v=fabs(ms.get(mapname,i));
 	  int w;
 	  if(autoscale)
@@ -103,12 +113,14 @@
 int GraphDisplayerCanvas::resetNodeRadius (Node node)
 {
+  MapStorage& ms = *mytab.mapstorage;
+
   double min, max;
   min=node_property_defaults[N_RADIUS];
   max=node_property_defaults[N_RADIUS];
-  Graph::NodeMap<double> actual_map((mytab.mapstorage)->graph,node_property_defaults[N_RADIUS]);
+  Graph::NodeMap<double> actual_map(ms.graph,node_property_defaults[N_RADIUS]);
   
   if(node==INVALID)
     {
-      for (NodeIt i((mytab.mapstorage)->graph); i!=INVALID; ++i)
+      for (NodeIt i(ms.graph); i!=INVALID; ++i)
 	{
 	  double v=fabs(actual_map[i]);
@@ -164,4 +176,5 @@
 int GraphDisplayerCanvas::changeNodeColor (std::string mapname, Node node)
 {  
+  MapStorage& ms = *mytab.mapstorage;
 
   //function maps the range of the maximum and
@@ -169,20 +182,26 @@
   //green in RGB
 
-  Graph::NodeMap<double> * actual_map;
-  actual_map=((mytab.mapstorage)->nodemap_storage)[mapname];
-
   double max, min;
 
-  max=(mytab.mapstorage)->maxOfNodeMap(mapname);
-  min=(mytab.mapstorage)->minOfNodeMap(mapname);
-
-  if(node==INVALID)
-    {
-
-      for (NodeIt i((mytab.mapstorage)->graph); i!=INVALID; ++i)
+  {
+    NodeIt n(ms.graph);
+    min = max = ms.get(mapname, n);
+    for (; n != INVALID; ++n)
+    {
+      if (static_cast<double>(ms.get(mapname, n)) > max)
+        max = ms.get(mapname, n);
+      if (static_cast<double>(ms.get(mapname, n)) < min)
+        min = ms.get(mapname, n);
+    }
+  }
+
+  if(node==INVALID)
+    {
+
+      for (NodeIt i(ms.graph); i!=INVALID; ++i)
 	{
 	  Gdk::Color color;
 
-	  double w=(*actual_map)[i];
+	  double w=ms.get(mapname, i);
 
 	  if(max!=min)
@@ -202,5 +221,5 @@
       Gdk::Color color;
 
-      double w=(*actual_map)[node];
+      double w=ms.get(mapname, node);
 
       if(max!=min)
@@ -220,4 +239,5 @@
 int GraphDisplayerCanvas::resetNodeColor (Node node)
 {  
+  MapStorage& ms = *mytab.mapstorage;
 
   //function maps the range of the maximum and
@@ -225,5 +245,5 @@
   //green in RGB
 
-  Graph::NodeMap<double> actual_map((mytab.mapstorage)->graph,node_property_defaults[N_COLOR]);
+  Graph::NodeMap<double> actual_map(ms.graph,node_property_defaults[N_COLOR]);
 
   double max, min;
@@ -235,5 +255,5 @@
     {
 
-      for (NodeIt i((mytab.mapstorage)->graph); i!=INVALID; ++i)
+      for (NodeIt i(ms.graph); i!=INVALID; ++i)
 	{
 	  Gdk::Color color;
@@ -275,4 +295,5 @@
 int GraphDisplayerCanvas::changeNodeText (std::string mapname, Node node)
 {
+  MapStorage& ms = *mytab.mapstorage;
 
   //the number in the map will be written on the node
@@ -281,28 +302,18 @@
   //that is the deleter map
 
-  Graph::NodeMap<double> * actual_map=NULL;
-  actual_map=((mytab.mapstorage)->nodemap_storage)[mapname];
-
-  if(node==INVALID)
-    {
-      for (NodeIt i((mytab.mapstorage)->graph); i!=INVALID; ++i)
+  if(node==INVALID)
+    {
+      for (NodeIt i(ms.graph); i!=INVALID; ++i)
 	{
 	  nodemap_to_edit=mapname;
-	  double number=(*actual_map)[i];
-
-	  std::ostringstream ostr;
-	  ostr << number;
-	      
-	  nodetextmap[i]->property_text().set_value(ostr.str());
-	}
-    }
-  else
-    {
-      double number=(*actual_map)[node];
-
-      std::ostringstream ostr;
-      ostr << number;
-	      
-      nodetextmap[node]->property_text().set_value(ostr.str());
+
+	  nodetextmap[i]->property_text().set_value(
+              static_cast<std::string>(ms.get(mapname, i)));
+	}
+    }
+  else
+    {
+      nodetextmap[node]->property_text().set_value(
+          static_cast<std::string>(ms.get(mapname, node)));
     }
   return 0;
@@ -311,4 +322,5 @@
 int GraphDisplayerCanvas::resetNodeText (Node node)
 {
+  MapStorage& ms = *mytab.mapstorage;
 
   //the number in the map will be written on the node
@@ -319,5 +331,5 @@
   if(node==INVALID)
     {
-      for (NodeIt i((mytab.mapstorage)->graph); i!=INVALID; ++i)
+      for (NodeIt i(ms.graph); i!=INVALID; ++i)
 	{
 	  nodemap_to_edit="";
