Fix most of the warnings from doxygen for synfig-studio sources.
[synfig.git] / synfig-studio / trunk / src / gtkmm / duckmatic.cpp
index 072f065..f0d4f66 100644 (file)
@@ -56,6 +56,8 @@
 
 #include "onemoment.h"
 
+#include "general.h"
+
 #endif
 
 /* === U S I N G =========================================================== */
@@ -406,7 +408,7 @@ Duckmatic::end_duck_drag()
 }
 
 Point
-Duckmatic::snap_point_to_grid(const Point& x, float radius)const
+Duckmatic::snap_point_to_grid(const synfig::Point& x, float radius)const
 {
        Point ret(x);
 
@@ -532,10 +534,21 @@ Duckmatic::signal_edited_selected_ducks()
        // Go ahead and call everyone's signals
        for(iter=ducks.begin();iter!=ducks.end();++iter)
        {
-               if(!(*iter)->signal_edited()((*iter)->get_point()))
+               if ((*iter)->get_type() == Duck::TYPE_ANGLE)
+               {
+                       if(!(*iter)->signal_edited_angle()((*iter)->get_rotations()))
+                       {
+                               selected_ducks=old_set;
+                               throw String("Bad edit");
+                       }
+               }
+               else
                {
-                       selected_ducks=old_set;
-                       throw String("Bad edit");
+                       if(!(*iter)->signal_edited()((*iter)->get_point()))
+                       {
+                               selected_ducks=old_set;
+                               throw String("Bad edit");
+                       }
                }
        }
        selected_ducks=old_set;
@@ -804,6 +817,7 @@ Duckmatic::find_bezier(synfig::Point pos, synfig::Real scale, synfig::Real radiu
 bool
 Duckmatic::save_sketch(const synfig::String& filename)const
 {
+       ChangeLocale change_locale(LC_NUMERIC, "C");
        std::ofstream file(filename.c_str());
 
        if(!file)return false;
@@ -837,6 +851,7 @@ Duckmatic::save_sketch(const synfig::String& filename)const
 bool
 Duckmatic::load_sketch(const synfig::String& filename)
 {
+       ChangeLocale change_locale(LC_NUMERIC, "C");
        std::ifstream file(filename.c_str());
 
        if(!file)
@@ -1005,7 +1020,7 @@ Duckmatic::add_to_ducks(const synfigapp::ValueDesc& value_desc,etl::handle<Canva
                                duck->set_scalar(param_desc->get_scalar());
                        }
 
-                       duck->signal_edited().clear();
+                       duck->signal_edited().clear(); // value_desc.get_value_type() == ValueBase::TYPE_REAL:
                        duck->signal_edited().connect(
                                sigc::bind(
                                        sigc::mem_fun(
@@ -1081,12 +1096,13 @@ Duckmatic::add_to_ducks(const synfigapp::ValueDesc& value_desc,etl::handle<Canva
                                duck->set_scalar(param_desc->get_scalar());
                        }
 
-                       duck->signal_edited().clear();
-                       duck->signal_edited().connect(
+                       duck->signal_edited().clear(); // value_desc.get_value_type() == ValueBase::TYPE_ANGLE:
+                       duck->signal_edited_angle().clear();
+                       duck->signal_edited_angle().connect(
                                sigc::bind(
                                        sigc::mem_fun(
                                                *canvas_view,
-                                               &studio::CanvasView::on_duck_changed
+                                               &studio::CanvasView::on_duck_angle_changed
                                        ),
                                        value_desc
                                )
@@ -1179,7 +1195,7 @@ Duckmatic::add_to_ducks(const synfigapp::ValueDesc& value_desc,etl::handle<Canva
                        else
                                duck->set_type(Duck::TYPE_POSITION);
 
-                       duck->signal_edited().clear();
+                       duck->signal_edited().clear(); // value_desc.get_value_type() == ValueBase::TYPE_VECTOR:
                        duck->signal_edited().connect(
                                sigc::bind(
                                        sigc::mem_fun(