1.1 --- a/gui/broken_edge.cc Thu Jun 16 18:08:04 2005 +0000
1.2 +++ b/gui/broken_edge.cc Thu Jun 16 18:58:15 2005 +0000
1.3 @@ -17,25 +17,42 @@
1.4 if(arrow)delete(arrow);
1.5 }
1.6
1.7 -void BrokenEdge::set_points(Gnome::Canvas::Points p)
1.8 +void BrokenEdge::set_points(Gnome::Canvas::Points p, bool move)
1.9 {
1.10 bool set_arrow=false;
1.11 - if(p.size()==2)
1.12 + if(!move)
1.13 {
1.14 - set_arrow=true;
1.15 - Gnome::Canvas::Points points_with_center;
1.16 - points_with_center.push_back(my_points[0]=p[0]);
1.17 - points_with_center.push_back(my_points[1]=Gnome::Art::Point( (p[0].get_x()+p[1].get_x())/2+0 , (p[0].get_y()+p[1].get_y())/2 )+0 );
1.18 - points_with_center.push_back(my_points[2]=p[1]);
1.19 - property_points().set_value(points_with_center);
1.20 - }
1.21 - if(p.size()==3)
1.22 + if(p.size()==2)
1.23 + {
1.24 + set_arrow=true;
1.25 + Gnome::Canvas::Points points_with_center;
1.26 + points_with_center.push_back(my_points[0]=p[0]);
1.27 + points_with_center.push_back(my_points[1]=Gnome::Art::Point( (p[0].get_x()+p[1].get_x())/2+0 , (p[0].get_y()+p[1].get_y())/2 )+0 );
1.28 + points_with_center.push_back(my_points[2]=p[1]);
1.29 + property_points().set_value(points_with_center);
1.30 + }
1.31 + if(p.size()==3)
1.32 + {
1.33 + set_arrow=true;
1.34 + property_points().set_value(p);
1.35 + for(int i=0;i<3;i++)
1.36 + {
1.37 + my_points[i]=p[i];
1.38 + }
1.39 + }
1.40 + }
1.41 + else
1.42 {
1.43 - set_arrow=true;
1.44 - property_points().set_value(p);
1.45 - for(int i=0;i<3;i++)
1.46 + if(p.size()==2)
1.47 {
1.48 - my_points[i]=p[i];
1.49 + Gnome::Canvas::Points points;
1.50 + my_points[0]=p[0];
1.51 + my_points[2]=p[1];
1.52 + for(int i=0;i<3;i++)
1.53 + {
1.54 + points.push_back(my_points[i]);
1.55 + }
1.56 + property_points().set_value(points);
1.57 }
1.58 }
1.59