1.1 --- a/graph_displayer_canvas.cc Thu Sep 28 09:26:48 2006 +0000
1.2 +++ b/graph_displayer_canvas.cc Thu Sep 28 14:32:40 2006 +0000
1.3 @@ -5,7 +5,7 @@
1.4 nodesmap(mainw.mapstorage.graph), edgesmap(mainw.mapstorage.graph), edgetextmap(mainw.mapstorage.graph),
1.5 nodetextmap(mainw.mapstorage.graph), displayed_graph(*(root()), 0, 0),
1.6 isbutton(0), active_item(NULL), target_item(NULL), nodemap_to_edit(""),
1.7 - edgemap_to_edit(""), autoscale(true), radius_min(10), radius_max(40), radius_unit(1), mytab(mainw)
1.8 + edgemap_to_edit(""), autoscale(true), zoomtrack(false), radius_min(10), radius_max(40), radius_unit(1), mytab(mainw)
1.9 {
1.10 //base event handler is move tool
1.11 actual_handler=signal_event().connect(sigc::mem_fun(*this, &GraphDisplayerCanvas::moveEventHandler), false);
1.12 @@ -227,18 +227,27 @@
1.13 }
1.14 }
1.15
1.16 -void GraphDisplayerCanvas::setNodeView(bool autoscale_p, double min_p, double max_p, double unit_p)
1.17 +void GraphDisplayerCanvas::setNodeView(bool autoscale_p, bool zoomtrack_p, double min_p, double max_p, double unit_p)
1.18 {
1.19 autoscale=autoscale_p;
1.20 radius_min=min_p;
1.21 radius_max=max_p;
1.22 radius_unit=unit_p;
1.23 +
1.24 + if((!zoomtrack) && zoomtrack_p)
1.25 + {
1.26 + fixed_zoom_factor=get_pixels_per_unit();
1.27 + }
1.28 +
1.29 + zoomtrack=zoomtrack_p;
1.30 +
1.31 propertyChange(false, N_RADIUS);
1.32 }
1.33
1.34 -void GraphDisplayerCanvas::getNodeView(bool & autoscale_p, double& min_p, double& max_p, double& unit_p)
1.35 +void GraphDisplayerCanvas::getNodeView(bool & autoscale_p, bool & zoomtrack_p, double& min_p, double& max_p, double& unit_p)
1.36 {
1.37 autoscale_p=autoscale;
1.38 + zoomtrack_p=zoomtrack;
1.39 min_p=radius_min;
1.40 max_p=radius_max;
1.41 unit_p=radius_unit;